Obecnie istnieje wiele metod tworzenia aplikacji internetowych:
1. Tylko po stronie serwera
Jest to klasyczne podejście polegające na renderowaniu stron na serwerze za pomocą frameworka internetowego, takiego jak Ruby on Rails, Django, Express, Play! Ramy i itp.
Typowy obieg pracy : Zbuduj całą logikę biznesową, modele i szablony widoków na serwerze w wybranej przez siebie formie.
2. Po stronie klienta + interfejs API REST
Stosunkowo niedawno jeszcze społeczność internetowa zaczęła budować aplikacje po stronie klienta w Angular, Backbone, Ember i kilkudziesięciu innych frameworkach JavaScript MV *. A teraz mamy także React.js dołączającą do imprezy.
AKTUALIZACJA : Nie ma nieporozumień. To, co miałem na myśli tylko po stronie klienta, to całkowite rozdzielenie obaw. Masz serwer REST API i aplikację kliencką, która komunikuje się z tym serwerem. W zależności od przypadku użycia są szanse, że nigdy nie będziesz mieć aplikacji po stronie klienta, która nie łączy się z zapleczem ani w celu uwierzytelnienia, ani w celu utrwalenia danych.
Typowy przepływ pracy : spędzaj godziny na decydowaniu o Angular vs Backbone vs Ember vs X. Następnie budujesz swoje trasy, modele, widoki, kontrolery na kliencie. Po zakończeniu buduj teraz modele, kontrolery i trasy na serwerze. W pewien sposób wykonujesz podwójną pracę.
3. Hybrydowy
Nie wiem wiele o stosowaniu tego podejścia, ale gdybym zgadywał, renderujesz swoje poglądy (widok frameworka MVC) na serwerze. W rezultacie otrzymujesz wsparcie SEO i szybsze ładowanie strony.
Na froncie Hybrid znajduje się rendr airbnb, który rzekomo łączy ze sobą szkielet i ekspresję.
Eric Florenzo opublikował dziś na swoim blogu: React: Wreszcie wielki stos sieci serwer / klient .
Ilość sposobów tworzenia aplikacji internetowych jest po prostu przytłaczająca. Dla kogoś, kto uczy się tworzenia stron internetowych, może to stanowić problem. Jak decyduje się, jakiego podejścia użyć, aby zbudować kolejną aplikację?