Derzeit gibt es mehrere Ansätze zum Erstellen von Webanwendungen:
1. Nur serverseitig
Dies ist ein klassischer Ansatz, bei dem Sie Seiten auf dem Server mit einem Webframework wie Ruby on Rails, Django, Express, Play! Framework und etc.
Typischer Workflow : Erstellen Sie alle Ihre Geschäftslogiken, Modelle und Ansichtsvorlagen auf dem Server im Rahmen Ihrer Wahl.
2. Clientseitige + REST-API
Vor relativ kurzer Zeit hat die gesamte Web-Community damit begonnen, clientseitige Anwendungen in Angular, Backbone, Ember und einigen Dutzend anderer JavaScript MV * -Frameworks zu erstellen. Und jetzt haben wir auch React.js dabei.
UPDATE : Es gibt kein Missverständnis. Was ich nur mit Klientenseite gemeint habe, ist die vollständige Trennung von Bedenken. Sie haben einen REST-API-Server und eine clientseitige Anwendung, die mit diesem Server kommuniziert. Abhängig von Ihrem Anwendungsfall wird es wahrscheinlich nie eine echte clientseitige Anwendung geben, die weder für die Authentifizierung noch für die Datenpersistenz eine Verbindung zu einem Back-End herstellt.
Typischer Workflow : Verbringen Sie Stunden damit, sich für Angular vs. Backbone vs. Ember vs. X zu entscheiden. Dann erstellen Sie Ihre Routen, Modelle, Ansichten und Controller auf dem Client. Nachdem Sie fertig sind, erstellen Sie nun Modelle, Controller und Routen auf dem Server. In gewisser Weise erledigen Sie die doppelte Menge an Arbeit.
3. Hybrid
Ich weiß nicht viel über diesen Ansatz, aber wenn ich raten sollte, rendern Sie Ihre Ansichten (Ansicht des MVC-Frameworks) auf dem Server. Als Ergebnis erhalten Sie SEO-Unterstützung sowie schnellere Seitenaufrufe.
Auf der Hybrid- Front gibt es ein Airbnb- Rendr , das angeblich Backbone und Express miteinander verbindet.
Eric Florenzo hat heute auf seinem Blog gepostet: React: Endlich ein großartiger Server / Client-Webstack .
Die Möglichkeiten zum Erstellen von Webanwendungen sind einfach überwältigend. Und für jemanden, der Webentwicklung lernt, kann dies zu einem Problem werden. Wie entscheidet man sich für einen Ansatz, um die nächste Anwendung zu erstellen?