47 votes

Choisir entre Thymeleaf et Angular pour un nouveau projet Spring MVC

Je commence un nouveau Printemps de Démarrage de l'application web et j'ai besoin de faire un choix sur la façon de mettre en œuvre avant la fin de l'.

Je suis vraiment à l'aise avec Thymeleaf de template cadre que j'ai utilisé dans plusieurs projets, mais je suis l'évaluation Angulaire (v2) comme une alternative possible.

Je suis assez nouveau à côté client MVC, frameworks et je voudrais comprendre si il y a quelques lignes directrices pour décider quelle option est la meilleure pour un projet web.

J'ai lu beaucoup de posts et de tutoriels sur ce sujet, mais ils semblent tous pour décrire les opinions personnelles ou simplement de codage des expériences...

  1. Y at-il des exigences de l'application qu' objectivement vous suggérons d'utiliser un client approche côté au lieu d'un serveur-côté de la mise en œuvre?

  2. Est-il possible et efficace, à utiliser à la fois les nouvelles technologies?

54voto

Erik Pearson Points 782

Thymeleaf et AngularJS ne sont pas mutuellement exclusives. Vous pouvez certainement utiliser leur ensemble, en fonction de ce que vous essayez d'accomplir. Si vous êtes tous sur l'écriture d'une seule page d'une application web dynamique, Thymeleaf est probablement inutile.

Parler à votre question sur le côté client de cadres contre côté serveur, je suis une Entreprise, Ingénieur Logiciel, je ne suis donc pas la création d'un logiciel commercial et ma priorité est de moins en moins sur la façon assez il ressemble (un peu Bootstrap fait le truc) et plus sur la stabilité, la compatibilité du navigateur (même avec les anciens navigateurs), et de maintenabilité. Personnellement, je éviter la seule page, applications web dynamiques parce que je trouve que la base de code plus difficile à gérer, non-trivial applications; un grand code Javascript de base peut être un ours, à mon avis. Mes pages principalement sur le côté serveur me donne de meilleures fonctions de débogage (Java va vous donner beaucoup de temps de compilation de l'aide que vous n'avez pas avec Javascript) et de faciliter l'exploitation forestière. Je ne l'utilisation de javascript (surtout juste jquery) sur le côté client, mais en général, mes applications web sont construits dégrader gracieusement si l'utilisateur a javascript désactivé. Encore une fois, ce sont internes, utilitaires, applications pour soutenir l'activité. Je n'ai pas le temps d'écrire toute une thèse sur le sujet et il y a beaucoup de nuances que je ne suis pas couvrant, mais j'espère que cela est utile.

Si vous avez besoin de votre application web à agir plus comme un mobile ou une application de bureau, puis sur une seule page web dynamique appli à l'aide d'un framework comme AngularJS est une façon d'aller.

19voto

Snickers3192 Points 2219

Le choix n'est pas de savoir si l'utilisation d'une bibliothèque JavaScript ou Thymeleaf, qui serait une contrainte artificielle que vous avez créé, ils sont tous les deux animaux différents. Thymeleaf est pour les templates JQuery est un client à côté de la bibliothèque pour faire des pages dynamiques. Il serait plus logique de choisir entre la création de modèles de bibliothèques ou de choisir entre des bibliothèques JavaScript, mais les deux vont bien ensemble.

En général, votre template ne devrait pas affecter votre code JavaScript, des gens de faire leur modèle de code Javascript, mais à mon humble avis c'est une idée terrible. Au lieu d'utiliser des Gabarits pour remplacer les attributs de la balise HTML et Javascript pour rendre votre site dynamique avec quoi que ce soit de la bibliothèque de votre choix.

Je ne suis pas sûr de ce que tu veux dire par

côté client approah au lieu d'un serveur-côté de la mise en œuvre

Mais ce que je vois aujourd'hui sont 2 approches différentes, la création de Microservies VS Monolithe application web. Si vous développez votre site web entièrement en Thymeleaf vous sera pas très réutilisables. Netflix, Amazon, Uber etc. tous créer des services (parfois appelée micro-services) qui sont réutilisés dans toute l'entreprise via une API REST.

Si vous avez un site web mis en œuvre dans Thymeleaf il ne sera pas possible pour une autre application (penser mobile) pour accéder à tous les services créés par votre application, alors que si vous créer une API REST pour votre application, alors vous pouvez garder la réutilisation de votre serveur de back-end pour quand vous avez besoin de faire une application mobile, ou une autre application web avec des exigences similaires.

Bien sûr, si vos services ne sont pas va être ré-utilisé, ce n'est pas pour déplaire à vous et vous pourriez être très compétent dans de faire les choses d'une certaine façon, quoique n'étant pas le plus réutilisable, bien sûr, nous ne sommes pas toujours la création de la prochaine Amazon. Mais je crois toujours que c'est une bonne idée de suivre les meilleures pratiques, même si c'est juste pour apprendre à mieux faire les choses d'une certaine manière.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X