/ / MVC z node.js: expressjs, backbonejs, railwayjs - model-view-controller, node.js

MVC z node.js: expressjs, backbonejs, railwayjs - model-view-controller, node.js

Zamierzam zbudować aplikację za pomocą wieluinterfejsy umożliwiające użytkownikowi wstawianie danych, które powinny być przechowywane w bazie danych. Przed użyciem Symfony2 opracowałem aplikacje w PHP. Teraz chcę użyć node.js, ale nie jestem pewien, co używać expressjs, backbonejs, railwayjs. Do aplikacji potrzebuję struktury MVC, sprawdzania poprawności formularza i dobrej ORM bazy danych. Którego z tych 3 użyć? Czym różnią się między sobą?

Odpowiedzi:

5 dla odpowiedzi № 1

Jeśli pochodzisz z bogatych frameworków, takich jak Rails lub Symfony, twoim wyborem jest RailwayJS, ale jeśli podoba Ci się coś minimalnego i niezbyt dobrze skonstruowanego, użyj ExpressJS.

Jaka jest główna różnica między tymi

RailwayJS jest rozszerzony ExpressJS z routingiem,kontrolery, lokalizacja, generatory, bogate logowanie, ORM i inne rzeczy wbudowane, tuż nad ekspresami. Ale generalnie możesz go używać w taki sam sposób, jak express: middleware, express route, testy itp. Możesz więc użyć dowolnego oprogramowania pośredniego napisanego dla express / connect, powinieneś umieścić go we właściwym miejscu (config / environment.js for common env lub config / environments / {development | production} .js dla konkretnego środowiska.


4 dla odpowiedzi nr 2

Ekspres staje się mniej więcej faktycznymwybór dla platformy rozwoju sieci. Możesz całkowicie zaimplementować MVC, widok będący twoim szablonowym silnikiem (na przykład jade), model dostarczony przez twoją ORM (mangusta jest doskonałym wyborem, jeśli wybierzesz MongoDB), i twoje procedury obsługi tras / logika aplikacji / oprogramowanie pośredniczące będące kontrolerem.

Backbone zapewnia strukturę MV * dla twojegorozwój po stronie klienta, więc jest komplementarny (niezależnie od) niezależnie od struktury lub biblioteki po stronie serwera. Istnieje wiele opcji dotyczących organizacji kodu po stronie klienta MVC lub MVVM, takich jak knockout.js i ember.js, ale osobiście wolę Backbone, który ma mniej magii, ale oferuje większą kontrolę. Jest to względnie subiektywne, więc nie jest to istotna debata na temat przepełnienia stosu.