Chciałem użyć stosu MEAN JavaScript, ale zauważyłem, że istnieją dwa różne stosy z własną witryną i metodami instalacji: mean.js i mean.io. Więc wymyśliłem sobie pytanie: „Którego używam?”.
Aby odpowiedzieć na to pytanie, pytam społeczność, czy możesz wyjaśnić, jakie są między nimi różnice? A jeśli to możliwe zalety i wady? Ponieważ wyglądają bardzo podobnie do mnie.
javascript
node.js
angularjs
web-applications
mean-stack
CMPSoares
źródło
źródło
Odpowiedzi:
Są zasadniczo takie same ... Obaj używają swig do szablonów, obaj używają karmy i mokki do testów, integracji paszportu, nodemon itp.
Dlaczego tak podobny? Mean.js jest rozwidleniem Mean.io i obie inicjatywy zostały uruchomione przez tego samego faceta ... Mean.io jest teraz pod parasolem firmy Linnovate i wygląda na to, że facet (Amos Haviv) przestał współpracować z tą firmą i zaczął Mean.js. Możesz przeczytać więcej o przyczynach tutaj .
Teraz ... główne (lub małe) różnice, które możesz teraz zobaczyć, to:
RUSZTOWANIA I WYTWARZANIE KOTŁA
Mean.io używa niestandardowego narzędzia cli o nazwie „mean”
Mean.js używa Yeoman Generators
MODUŁOWOŚĆ
Mean.io używa bardziej samodzielnej modułowości pakietów węzłów z plikami klienta i serwera wewnątrz modułów.
Mean.js wykorzystuje moduły tylko w interfejsie (dla kątów) i łączy je z Express. Chociaż pracowali również nad modułami pionowymi ...
SYSTEM BUDOWLANY
Mean.io niedawno przeniósł się do gulp
Mean.js używa chrząknięcia
ROZLOKOWANIE
Oba mają pliki Docker w swoich repozytoriach, a Mean.io ma instalację jednym kliknięciem w Google Compute Engine , natomiast Mean.js można również wdrożyć za pomocą instalacji jednym kliknięciem w Digital Ocean .
DOKUMENTACJA
Mean.io ma ok docs
Mean.js ma NIESAMOWITE dokumenty
SPOŁECZNOŚĆ
Mean.io ma większą społeczność, ponieważ był to oryginalny
kocioł Mean.js ma mniejszy pęd, ale stały wzrost
Na poziomie osobistym bardziej podoba mi się filozofia i otwartość MeanJS, a bardziej podejście trakcyjne i moduły / pakiety MeanIO. Oba są fajne i prawdopodobnie zakończysz je modyfikując, więc nie możesz naprawdę pomylić się wybierając jedno lub drugie. Po prostu weź je jako punkt wyjścia i jako ćwiczenie edukacyjne.
ALTERNATYWNE ROZWIĄZANIA „ZNACZNE”
MEAN to ogólny sposób (wymyślony przez Valeri Karpov ) opisujący płytę kotłową / ramę, która przyjmuje „Mongo + Express + Angular + Node” jako podstawę stosu. Możesz znaleźć frameworki z tym stosem, które używają innych nazw, niektóre z nich są naprawdę dobre dla RAD (Rapid Application Development) i budowania SPA. Na przykład:
Masz również Hackathon Starter . Nie ma A OF MEAN (to „MEN”), ale kołysze się ..
Baw się dobrze!
źródło
Przede wszystkim MEAN to skrót od M ongoDB, E xpress, A ngular i N ode.js.
To ogólnie określa łączny stosowany z tych technologii w „stos”. Nie ma czegoś takiego jak „ The MEAN framework”.
Lior Kesos z Linnovate skorzystał z tego zamieszania. Kupił domenę MEAN.io i umieścił kod na https://github.com/linnovate/mean
Na szczęście otrzymali dużo rozgłosu, a są coraz więcej artykułów i filmów o MEAN. Kiedy Google „oznacza ramy”, mean.io jest pierwszym na liście.
Niestety kod na https://github.com/linnovate/mean wydaje się źle zaprojektowany .
W lutym sam wpadłem w pułapkę. Witryna mean.io miała chwytliwy design, a repozytorium Github miało ponad 1000 gwiazd. Pomysł zakwestionowania jakości nie przyszedł mi nawet do głowy. Zacząłem eksperymentować z tym, ale nie zajęło mi to dużo czasu, aby natknąć się na rzeczy, które nie działały, i zagadkowe fragmenty kodu.
Historia zmian była również bardzo niepokojąca. Wiele razy przeprojektowali kod i strukturę katalogów, a scalanie nowych zmian jest zbyt czasochłonne.
Zaletą zarówno kodu mean.io, jak i mean.js jest to, że pochodzą one z integracją Bootstrap. Pochodzą one również z uwierzytelnianiem Facebook, Github, Linkedin itp. Za pośrednictwem PassportJs oraz przykładem modelu (artykuł) na backendu na MongoDB, które synchronizują się z modelem frontonu z AngularJS.
Według strony internetowej Linnovate:
Na stronie wygląda na to, że ich podstawowym zestawem umiejętności jest Drupal (system zarządzania treścią PHP) i dopiero niedawno zaczęli używać Node.js i AngularJS.
Ostatnio czytałem blog Mean.js i wszystko stało się wyraźniejsze. Rozumiem, że główny programista Javascript (Amos Haviv) opuścił Linnovate, aby pracować nad Mean.js, pozostawiając projekt MEAN.io z ludźmi, którzy są nowymi programistami Node.js, którzy spowalniają rozumienie, jak powinny działać.
W przyszłości wszystko może się zmienić, ale na razie unikałbym korzystania z mean.io. Jeśli szukasz podstawki do szybkiego uruchomienia Mean.js wydaje się lepszą opcją niż mean.io.
źródło
Oto porównanie kilku starterów / generatorów aplikacji i innych technologii, w tym MEAN.js, MEAN.io i cleverstack. W miarę, jak znajduję czas, ciągle dodam alternatywy, a wraz z tym wciąż rośnie lista potencjalnych korzyści. Dzisiaj jest to około 1600. Jeśli ktoś chce poprawić dokładność lub kompletność, kliknij następny link i wypełnij kwestionariusz dotyczący czegoś, co wiesz.
Porównaj projekt technologii aplikacji
Z tej bazy danych system generuje raporty takie jak następujące:
Raport dotyczący kompromisu MeanJS vs. MeanIO
źródło
Arkusz początkowych kompromisów mojego arkusza porównawczego zawiera kompleksowe porównania jeden na jeden między każdym generatorem. Nie musisz już więcej zniekształcać najlepszych rzeczy do powiedzenia o swoich ulubionych.
Oto jeden między generatorem-kątowym-pełnym-stosem a MEAN.js. Wartości procentowe to wartości dla każdej korzyści oparte na moich osobistych wagach, przy czym idealny generator wynosiłby 100%
generator-kątowy- pełny stos oferuje 8%, czego MEANJS.org nie
MeanJS.org. oferuje 9%, czego nie robi generator-kąt-fullstack
Oto jeden między MEAN.io i MEAN.js w bardziej czytelnym formacie
źródło
Dziwi mnie, że nikt nie wspominał o generatorze kątowym generatora Yeoman . Jest to najpopularniejszy generator społeczności Yeoman, który obecnie ma 1490 gwiazdek na stronie generatora vs. 81 gwiazdek Mean.js (co prawda nie jest to uczciwe porównanie biorąc pod uwagę, jak nowy jest MEANJS). Wygląda na to, że jest aktywnie utrzymywany i jest w wersji 2.05, kiedy to piszę. W przeciwieństwie do MEANJS, nie używa Swig do tworzenia szablonów. Może być rusztowany z wbudowanym paszportem.
źródło