2014-11-15 17 views
14

Jestem złapany w poprawkę. Nauczyłem się, jak MeteorJS tworzy aplikację internetową, a ja wykonuję jedną czwartą mojej roboty. Potem pojawia się Meteor, który został niedawno wydany. Dostał dużo prasy, finansowania i ma tę zaletę, że może portować do Kordoby. Teraz nie jestem pewien, czy trzymać się ExpressJS, czy przejść na Meteor.ExpressJS vs MeteorJS

Kluczowe punkty: skalowalność, łatwość obsługi, wydajność Development

+0

_Wyjaślałem, że MeteorJS tworzy aplikację internetową, a ja ćwierć drogi zrobiłem. Myślę, że masz na myśli, że nauczyłeś się expressJS? –

Odpowiedz

24

Express = MVC Framework zbudowany w JavaScript i jest zasilany przez węzeł.

Meteor = Pełny stos, który ma komponenty front-end i back-end do budowy aplikacji czasu rzeczywistego.

Aby utworzyć taką samą implementację Meteora za pomocą Express, należy spojrzeć na stos MEAN, który obejmuje MongoDB, Express, AngularJS i Node. Możesz stworzyć to samo w Meteoru, dzięki stosowi MEAN, a będziesz robić o wiele więcej nauki, szczególnie z AngularJS. Express i Angular są załatwiane w Meteoru za pomocą systemu szablonów Meteor i Blaze.

Trzymałbym się Meteora. Wciąż ma kilka wad, ale istnieją rozwiązania. To niesamowite, co możesz zrzucić w krótkim czasie.

8

Ty porównując pomarańczy z ziemniakami. Expressjs jest backendem, a Meteor jest pełny, takie porównanie jest niesprawiedliwe!

Współpracuję z Meteororem od 0,8 roku i cierpiałem w skórze z powodu unowocześniania, usuwania starych, ważnych pakietów osób trzecich, itp., Wpadłeś na pomysł. Chociaż Meteor osiągnął 1.0, nie sądzę, że komponent mobilny jest już gotowy, sprawdź na nim kwestie github.

Myślę, że Meteor jest gotowy do budowy platform internetowych. Jeśli okaże się, że nie działa dobrze w telefonie komórkowym, możesz nadal utrzymywać aplikację Meteor i tworzyć na niej API, możesz znaleźć dla niej pakiety na serwerze atmospherejs.com (lub nawet użyć żelaza: routera). To właśnie robisz z Expressjami: stwórz interfejs API, który będzie używany przez urządzenia mobilne.

O kluczowych punktach Meteor: Skalowalność - możliwe jest skalowanie Meteoru, chociaż nie będzie to dobry artykuł na ten temat, ale jeśli spojrzysz na Kadirę, Arunoda zdołała go skalować. Łatwość użycia - Łatwo jest napisać aplikację Meteor na początku, ale w dłuższej perspektywie napotkasz na problemy, na które napotkałem. Efektywność rozwoju - Moje doświadczenie w zespole nie było tak pozytywne, mieliśmy złe wybory w zakresie projektowania architektonicznego i niektóre błędy, ponieważ nowi programiści (nawet doświadczeni) nie otrzymali Meteora, na przykład: zamiast używać Oddawania i zaprzeczania reguł, używają Meteorów .metody dla wszystkiego, co nie przekłada się na bezpieczeństwo. Niektórzy nawet publikują całą bazę danych dla klienta i mówią: Działa wspaniale na moim hoście lokalnym: D

O ekspresie: Mam niewielkie doświadczenie, ale porównanie go z Meteor, to nie w porządku. Meteor nie ma takiego samego celu jak Expressj.

Porównanie ze średnią Stos pozwoliłoby znacznie więcej sensu: http://mean.io/

4

Express.js jest zupełnie inny od Meteor.

Meteor stara się stworzyć dobre ramy dla wszystkich podejmujących wiele decyzji (miejmy nadzieję, że dobre decyzje), które zazwyczaj są nieinteresujące z punktu widzenia rozwoju aplikacji: jak wykorzystać bibliotekę transportową, jak synchronizować dane, jak zbudować wielokrotnego użytku API, zabezpieczenia, operacje CRUD z bazą danych itp.

Zamiast tego Meteor zapewnia jednolitą obsługę na całym stosie. Ponieważ ma on tak dużą kontrolę nad backendem, transportem, interfejsami, front-endem, budową łańcucha narzędzi - może zbudować wiele zgrabnych funkcji, które byłyby o wiele trudniejsze do sklejania z Mongo + Express + twoją ulubioną strukturą front-end + socket.io + grunt/gulp.

Zapoznaj się z blogiem twórców Socket.io na temat tego, jak trudno jest teraz zapewnić użytkownikom wygodę w aplikacjach z jedną stroną: http://rauchg.com/2014/7-principles-of-rich-web-applications/. Meteor robi to dużo więcej. (z wyjątkiem renderowania po stronie serwera i prognoz, przynajmniej teraz).

Pomyśl, ile luk w zabezpieczeniach będziesz mieć, jeśli wybierzesz abstrakcje zbyt niskie, aby wszystko dobrze wykonać.

+0

Meteor wciąż ma dużo do zrobienia, jeśli chodzi o bezpieczeństwo, ale masz dobry punkt widzenia na zarządzanie złożonym stosem, to tam błyszczy Meteor. –

+1

@ Mário: czy możesz rozwinąć [to, co Meteor musi zrobić, jeśli chodzi o bezpieczeństwo] (http://wiki.dandascalescu.com/essays/Why_Meteor#6._Security)? –