Web Frameworks: En quoi Play est-il différent de Spring MVC?

Play Framework offre la présentation rapide suivante, mais à l’exception du moteur de template Groovy (que vous pouvez obtenir dans Spring MVC si vous le souhaitez), Spring semble offrir les mêmes fonctionnalités et bien plus encore …

Alors, qu’est-ce que le Framework Play fait différemment de Spring MVC?
En un mot, que Spring ne peut-il pas faire avec ce cadre (et vice-versa)?

Je trouve la revendication “pure Java” de chaque côté très drôle.

Bien sûr, il est irréaliste qu’un projet n’utilise absolument que java. Pourtant, un label “Java pur” devrait avoir certaines normes, je ne pense pas que l’un des frameworks soit qualifié.

Play modifie en fait la sémantique du langage Java. Tout va bien tant que cela est clairement spécifié. Si vous manipulez du code octet, soyez honnête à ce sujet. Habituellement, cela est fait par AOP-ish sortingck, les méthodes d’instance sont décorées avec des comportements supplémentaires, leurs comportements manifestes – ceux-ci sont écrits dans le code, sont généralement préservés. Ce n’est pas trop difficile à accepter, nous pouvons prétendre que notre code est sous-classé par le framework et nos méthodes sont remplacées par un comportement supplémentaire.

Dans Play, une méthode statique appelant une autre méthode statique dans la même classe peut avoir des effets magiques, et le comportement n’est en rien comme un appel de méthode. C’est un énorme problème si un programmeur Java ne peut plus être certain de ce qu’est un appel de méthode statique.

Spring – eh bien, leur partie Java est toujours pure Java. Mais c’est tellement magique (à partir de POV java), et dépend tellement d’un cadre lourd, appelant Spring “pure Java”, c’est comme appeler un hamburger “pur vege” si l’on néglige la viande. La viande est la meilleure partie!