Il existe actuellement plusieurs approches pour créer des applications Web:
1. Côté serveur uniquement
Il s'agit d'une approche classique où vous affichez des pages sur le serveur par un framework Web comme Ruby on Rails, Django, Express, Play! Cadre et etc.
Flux de travail typique : créez toute votre logique métier, vos modèles et vos modèles de vue sur le serveur dans le cadre de votre choix.
2. Côté client + API REST
Il n'y a pas si longtemps, la communauté Web dans son ensemble a commencé à créer des applications côté client dans Angular, Backbone, Ember et quelques dizaines d'autres frameworks JavaScript MV *. Et maintenant, nous avons également React.js rejoindre le parti.
MISE À JOUR : Il n'y a pas de malentendu. Ce que je voulais dire par côté client uniquement, c'est une séparation complète des préoccupations. Vous disposez d'un serveur API REST et d'une application côté client qui communique avec ce serveur. Selon votre cas d'utilisation, il est probable que vous n'aurez jamais une véritable application côté client uniquement qui ne se connecte pas à un serveur principal pour l'authentification ou la persistance des données.
Flux de travail typique : passez des heures à décider entre Angular vs Backbone vs Ember vs X. Ensuite, vous créez vos itinéraires, modèles, vues, contrôleurs sur le client. Une fois que vous avez terminé, créez maintenant des modèles, des contrôleurs et des itinéraires sur le serveur. D'une certaine manière, vous faites deux fois plus de travail.
3. Hybride
Je ne sais pas grand-chose sur l'utilisation de cette approche, mais si je devais deviner, vous restituez vos vues (Vue du framework MVC) sur le serveur. En conséquence, vous bénéficiez d'un support SEO et de chargements de page plus rapides.
Sur le front hybride, il y a le rendu d' Airbnb qui combine soi-disant épine dorsale et exprime ensemble.
Eric Florenzo a posté sur son blog aujourd'hui: React: Enfin, une super pile web serveur / client .
La quantité de façons de créer des applications Web est tout simplement écrasante. Et pour quelqu'un qui apprend le développement Web, cela peut devenir un problème. Comment décide-t-on de l'approche à utiliser pour construire sa prochaine application?