63 votes

toute expérience de "Jouer" java web framework de développement?

Je viens de tombé sur le nouveau framework web java: Jouer

http://www.playframework.org/

http://www.playframework.org/documentation/1.0/home

avec une impressionnante liste de fonctionnalités, je suis assez surpris, je n'ai pas entendu parler avant...

Sonne comme le java, développement web, terre promise...

quelqu'un at-il essayé? toute expérience réelle avec elle? pensez-vous que cela vaut la peine de l'étudier?

71voto

Craig Jones Points 841

Je suis d'accord avec Jason qui Jouent pourrait simplement être meilleur que le Graal. Avec quatre Graal projets sous ma ceinture (précédée par deux Tapisserie de projets et un Guichet de projet), je suis sérieusement considérer le Jeu suivant.

L'une des choses que je pensais était cool à propos de Graal, c'est que "tout est Groovy." Qui est, vous utilisez Groovy à écrire tout (sauf le HTML et le CSS) -- des domaines, des contrôleurs, des services, des modèles de page (SPG), les bibliothèques de balises, l'API Hibernate (GORM), tests unitaires (GUnit), et de générer des scripts (GANT). Vous pouvez même écrire des scripts shell en Groovy. Donc, en étant capable de coder tous les aspects d'une application à l'aide d'une seule langue à nouveau semblait être une simplification qui était attendue depuis longtemps -- écoutant remonte à l'époque de l'écriture des applications de bureau en un seul langage comme C++ ou Delphi. Cependant, j'ai appris que la taille unique ne convient pas à tous ici.

Pour l'un, l'IDE support de Groovy n'est pas génial. IntelliJ est la meilleure, mais avec Groovy étant dynamique, il ne peut aller plus loin. Le refactoring ne pas (ne peut pas) tout voir, de sorte que vous ne pouvez pas leur faire confiance à 100%. Cela signifie que vous devez être particulièrement vigilant avec les tests unitaires. Ici encore, parce que Graal repose donc beaucoup sur la dynamique de la "magie" qui se produit lors de l'exécution, les tests unitaires dans le Grain doit s'appuyer sur une vaste moqueur couche à s'en inspirer, et de moquer la couche est décalé. Un troisième problème est que la plupart des soi-disant Groovy code que vous écrivez est en fait un domaine spécifique de la langue (DSL) du code. (Pour faire une longue histoire courte, les Dsl sont à court de main Groovy, profitant du fait que, dans Groovy et beaucoup de la syntaxe est facultatif.) Graal utilise différents Dsl pour les différentes configurations de mappage d'URL, etc. et il est incompatible. Comment vous spécifiez log4j paramètres, par exemple, ne ressemble en rien comment vous spécifiez les sources de données, et l'un ne ressemble à de la pure Java sur lequel Groovy est basé. Ainsi, la promesse de "tout est Groovy" se situe en dehors de toute façon.

Cela étant le cas, je vois où l'équipe de Jeu est à venir.

  1. Revenir à Java ordinaire pour les domaines, les contrôleurs, les services, et JUnits de sens. Typage fort signifie que l'IDE peut sûrement aider avec inteli-sens, la navigation dans le code, refactoring, etc. (Et donc vous n'avez pas besoin de payer pour l'Ide, si vous êtes heureux avec Eclipse.) Avoir à écrire le plus de commentaires de code afin d'obtenir le retour de fortes support de l'outil semble être une bonne affaire moi maintenant. Nous allons le voir.

  2. J'aime que je suis toujours à utiliser Groovy dans les modèles de page. Je crains que je peut finir par mettre plus de code dans les templates que je devrais le faire, cependant.

  3. Je n'ai aucune expérience avec JPA, mais il semble que c'est assez proche de ce que GORM fait pour moi, donc c'est cool.

  4. Le Printemps le soutien du CIO dans le Graal est complètement transparent alors que Jouer support semble minime, mais je pense que le CIO est galvaudé et je suis tout à fait disposé à main code un Ressort de mappage XML à l'occasion rare que j'en ai vraiment besoin. (Un de mes questions ouvertes, c'est que je suis en supposant que JPA a l'appui de transaction qui est pourquoi le Jeu n'a pas besoin de le Printemps pour que, comme le Graal, non?)

  5. Je n'ai jamais été un fan de Python, donc je grimaça quand j'ai lu que le Jeu utilise Python pour ses scripts de compilation. Mais je suis d'accord que le Graal' GANT à l'exécution des scripts assez lent. En Plus je trouve que, tandis que le GANT est une énorme amélioration par rapport à XML, ANT, il est encore difficile pour envelopper votre tête autour de la FOURMI concepts. Le Graal GANT scripts sont assez compliquées. Donc, je vais y aller avec un esprit ouvert.

  6. Le Jeu "module d'application du modèle" semble être juste comme le Graal' "plugin" modèle, donc c'est cool.

  7. Je suis assez impressionné par le Jeu de la documentation que j'ai lu jusqu'à présent. J'ai eu un grand nombre de questions d'entrer, mais la moitié d'entre eux ont répondu à droite au large de la chauve-souris.

Je vais à nouveau plus tard que je me plonge plus profondément dans.

28voto

Peter Hilton Points 10580

J'ai essayé de Jouer, et je suis impressionné: il fait un excellent travail de fournir un utile modèle de développement qui est beaucoup plus simple que la plupart des cadres'. Plus que toute autre chose, le moteur d'exécution de l'habileté dans "mode de développement" pour l'analyser .fichiers java directement vaut beaucoup: il suffit de recharger la page web dans le navigateur sans l'exécution d'un script de construction ou d'attente pour un redéploiement vaut beaucoup de la vitesse de développement. Les messages d'erreur affichés dans le navigateur sont vraiment trop bonne.

Une autre chose qui m'a impressionné, c'est l'ensemble de l'esthétique: c'est peut-être une petite chose que l'application du tutoriel semble effectivement un bon (à la fois le code et la conception de page web), mais cela s'étend à l'ensemble du cadre, l'API ainsi que la documentation.

9voto

Bart Schuller Points 1992

Après insistance d'un collègue que je l'ai regardé, suivi le tutoriel, et est devenu accro. Obtenir une rétroaction immédiate à droite dans votre navigateur, vous n'avez pas à utiliser un IDE. J'aime Eclipse, mais avouons-le: après que vous avez ajouté quelques extras, il n'est pas aussi stable qu'un simple éditeur de texte. Sur un Mac avec TextMate vous pouvez même cliquer sur le message d'erreur dans votre navigateur et TextMate apparaît avec le curseur sur cette ligne.

Test du Jeu est aussi bien fait, avec un seul bouton vous exécuter les tests unitaires, tests fonctionnels et de Sélénium tests.

Le jeu est passionnant, car il est encore petit et simple. Il utilise juste ant de construire et le fait en 25 secondes. En contribuant à la belle documentation est une question de montage .textile fichiers et recharger les documents dans n'importe quel jeu app.

Voilà comment je me suis retrouvé dans une quête pour traduire le tutoriel pour l'utilisation de la Scala, en ajoutant à la Scala de soutien en cas de besoin pour l'obtenir aussi agréable que possible.

9voto

Megadix Points 646

Je l'aime, je l'utilise pour les petits projets et pour l'instant il semble parfait pour le travail. Cependant, il y a une chose qui me manque beaucoup qui ont été laissés de côté: Service/DAO/Modèle de couches de séparation! La Documentation dit clairement, l'un des buts du Jeu est d'éviter le "Anémique modèle de données": http://www.playframework.org/documentation/1.0.1/model

mais dans mon expérience, la classique de Service/DAO/Modèle de couches de séparation sauve des tonnes de temps de développement lorsque l'application doit être refait! Avec le Jeu, vous êtes coincé avec des méthodes statiques qui s'appuient sur le Jeu spécifique à la gestion des transactions et des particularités...

Cependant, beaucoup de coup de pouce pour: le développement de la vitesse, le code de la propreté, et à la fin... de plaisir!

6voto

Jason Points 61

J'ai utilisé Graal, Tapisserie 4/5 et droite Java/JSP/Spring/Hibernate.

Je pense que cela va dans la bonne direction pour la première fois dans un temps long. Graal était vraiment une bonne première étape, mais Jouer! ressemble à quelque chose qui pourrait vraiment avoir des jambes. Scala de soutien est à venir dans la 1.1. Si il y a une chance que je peux écrire mon/contrôleurs de domaine en Clojure, je suis vendu ;)

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