Jakie są kluczowe różnice między Meteor, Ember.js i Backbone.js? [Zamknięte]

248

Nauka Ember.js / Backbone.js jest od dłuższego czasu na mojej liście zadań. Teraz, gdy Meteor jest już dostępny, zastanawiam się tylko, czy ktokolwiek z doświadczeniem w Meteor, Ember.js i Backbone.js może podsumować kluczowe różnice i zalety i wady tych trzech frameworków JavaScript dla osoby bez żadnego doświadczenia.

W szczególności chciałbym wiedzieć, do jakich zadań każdy framework jest bardziej odpowiedni i dlaczego inne nie.

Edycja: teraz, gdy przeczytałem trochę więcej o Meteorze, wydaje się bardziej podobny do Knockout.js niż Backbone.js. Tak więc każde porównanie z Knockout.js jest mile widziane.

KZ
źródło
3
Uznałem to odniesienie za przydatne. Spójrz na tabelę z różnymi ramami. code.tutsplus.com/tutorials/…
B Siedem
32
Dzięki „mądrym” modom, którzy zamknęli najwyżej głosowane pytanie dotyczące Meteorów jako „niekonstruktywne”, otrzymaliśmy teraz przestarzałą odpowiedź. Dobra robota StackOVerflow! ... Ponieważ nie mogę tu dodać własnej odpowiedzi, sprawdź Dlaczego Meteor , który porównuje Meteor z kilkoma innymi strukturami i bibliotekami.
Dan Dascalescu
4
Całkowicie się z tobą zgadzam, @DanDascalescu. Niektóre mody nadużywają swoich uprawnień.
Askar,
2
To pytanie, które uzyskało najwyższy głos w historii Meteor, musi zostać teraz odrzucone! To bardzo, bardzo konstruktywne!
Erick Petrucelli,

Odpowiedzi:

162

Ładne zestawienie / porównanie różnych frameworków MVx JS znajduje się tutaj http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/ , po czym następuje dobra dyskusja w komentarzach . Myślę, że widziałem tutaj Gordona (który to napisał), więc może dostaniesz od niego odpowiedź.

Powiedziałbym, że jeśli chcesz nauczyć się tego stylu tworzenia aplikacji, to z jednej strony bogactwo przykładów szkieletów oprogramowania open source może być dla Ciebie dobre. Ale z drugiej strony, choć nowy, pakiet Ember jest w rzeczywistości bardziej kompletny IMO niż szkielet.

Oba dają możliwość implementacji rzeczy na różne sposoby, co może być mylące, ale Ember zapewnia więcej kodu, który musiałbyś napisać w sieci szkieletowej jako standard, co dla mnie osobiście jest ważniejsze dla szybkiego prototypowania niż bogactwo dostępne przykłady szkieletu.

Istnieją bardziej dojrzałe wtyczki do utrwalania danych dla sieci szkieletowej, ale wokół Ember panuje wielki szum społeczności, a wiele bibliotek contrib robi duże postępy. Byłem mile zaskoczony, jak szybko ja (i inni) otrzymałem wysokiej jakości odpowiedzi na stosunkowo nowy framework tutaj na przepełnieniu stosu.

Kiedy mówisz, że meteor, mówimy o zupełnie innych rzeczach. Jeśli chcesz zrobić więcej z ponownym użyciem kodu zarówno po stronie klienta, jak i serwera, zapoznaj się z niedawno otwartym yahoo mojito https://github.com/yahoo/mojito działającym na node.js - bawiłem się z nim w ciągu ostatniego tygodnia, a jeśli zaznajomisz się z kręgosłupem / żarnikiem lub którymkolwiek innym, jest to bardzo proste.

Powinienem również powiedzieć, że mam Knockout.js w użyciu na niektórych systemach produkcyjnych, ale nigdy nie użyłem go do pełnej aplikacji. Mam go podłączonego do interfejsu mongo do drążenia i przeglądania dzienników przechowywanych w mongo. Bardzo mi się podoba, ale nie czułbym się dobrze, budując w nim coś zbyt dużego.

Cóż, to trochę chaotyczna - prawda :)

Z przyjemnością porozmawiamy o tym z każdym zainteresowanym. Użyłem wielu z tych frameworków w gniewie / produkcji (w tym rzeczy niewymienionych w artykule „10 najlepszych”), a ludzie w pracy mają dość słuchania, jak mówię o JS, myślę :-D

joevallender
źródło
11
Jeśli tu wędrowałeś, nie przegap wspaniałych porównań narzędzi JavaScript na ToDoMVC todomvc.com
DOK
1
Dobra rozmowa @DOK, to prawdopodobnie powoduje duży ruch w Google! Miej oko na / follow tastejs.com, gdy pojawi się też kolejna wersja „wielkiej aplikacji” todomvc!
joevallender
2
Hej Joe, ta odpowiedź jest trochę nieaktualna. Chcesz dodać kilka rzeczy z Why Meteor ? (Sam bym
udzielił
1
Jasne Dan. Wygląda na to, że ledwo wspomniałem o Meteorze ;-) Na Wiki jest jednak wiele informacji. Wyślij para długości innych, jeśli chcesz i źle dodaj - to zdecydowanie istotne, a nawet bardziej niż teraz, kiedy odpowiedziałem. napisz do mnie @gmail użytkownik SO nazwa użytkownika, jeśli chcesz
joevallender