47 votes

Comparer Ascenseur avec Play2

J'ai utilisé play2 avant avec java. Il se sentait un peu comme passe-partout surtout si vous avez utilisé akka avec java. Mais ce n'est pas la faute du cadre.

Hier, j'ai lu "Scala pour l'impatient" et j'ai vraiment apprécier la langue.

Maintenant, j'ai regardé les deux cadres de Levage de 2,5 et de Jouer à la version 2.0.3. Je pense que l'ascenseur a une plus forte courbe d'apprentissage, et je ne pouvais pas tout simplement faire quelque chose avec ascenseur. Ce n'est pas un con pour moi. De ce que j'ai vu, l'Ascenseur est une très belle et propre conception.

Mais pour moi, il est difficile de dire quelles sont les principales différences. Je pense que les deux cadres sont grands.

  • Le point de Vue de la Première approche ne permet pas de code dans vos modèles, vous avez le code de fragments de code. Je l'aime beaucoup car il ressemble plus organisé pour moi. Il permet également d'utiliser une normale de l'éditeur html. (Je n'ai pas beaucoup d'expérience, c'est juste ma première impression)

  • Pour la sécurité, je ne pense pas que c'est le travail du cadre.

  • Stateless/Stateful : Il est difficile de dire où les différences principales sont. Je sais seulement que le jeu a aussi un état si vous utilisez les web sockets.

  • Les deux cadres sont en mesure de compiler une fois que vous appuyez sur la touche F5. J'aime cette fonctionnalité beaucoup.

  • Les deux cadres sont à l'aide de sbt

  • L'ascenseur est livré avec l'autorisation mais je pense qu'il y a une play2 scala plugin qui fait la même chose

  • Ascenseur a un ORM mapper pour mongoDB. Parce que je veux utiliser noSQL, cela ressemble plus propre à moi.(Encore une fois pas beaucoup d'expérience) Edit Il y a un ORM mappeur pour scala mongodb dans play2 https://github.com/leon/play-salat

  • Async - Jouer 2 utilise Akka. Ne sais pas de quoi soulever utilise, mais ils ont aussi quelque chose de similaire.

  • Ascenseur à bateaux avec CSRF de soutien. Play2 a un module pour CSRF, mais cela ajoute un passe-partout de votre code.

  • Apatrides authentification semble avoir des failles de sécurité. Les deux cadres ont une authentification. (play2 stateful/apatrides , ascenseur stateful)



  • Quels sont les points forts de chaque cadre?

76voto

David Pollak Points 5756

Ce détachement après avoir passé une semaine ou deux avec Ascenseur n'a pas vraiment d' servir les intérêts de la personne. Cependant, je veux passer du temps à corriger des erreurs et des défauts de perception.

  • Pour la sécurité, je ne pense pas que c'est le travail du cadre.

Vous êtes tout à fait tort. La sécurité est le travail du cadre. Il est essentiel que la sécurité est fait par défaut plutôt que de compter sur chaque développeur de comprendre chaque vulnérabilité de sécurité et assurez-vous que chaque ligne de code en tienne compte.

Tout ce que nous avons à faire est de regarder ce qui s'est passé à GitHub pour comprendre que même les meilleurs codeurs à l'aide de la technologie bien connue peuvent faire une grande erreur.

L'ascenseur donne une solide couche de sécurité sur le dessus, donc par défaut, il n'y a pas XSS, CSRF, etc. mais le développeur peut creuser aussi profond qu'il le souhaite dans la requête HTTP et de les traiter avec les octets sur le fil.

  • Stateless/Stateful : Il est difficile de dire où les différences principales sont. Je sais seulement que le jeu a aussi un état si vous utilisez les web sockets.

L'ascenseur est très clair sur l'endroit où vous avez besoin de l'état et où vous n'avez pas. L'ascenseur peut soutenir apatrides, partiellement dynamique, et complètement dynamique des applications. Sur une page-par-page et requête-par-requête de base, un Ascenseur application peut être avec ou sans état (par exemple, dans Foursquare, le site des pages sont apatrides pour moteur de recherche, analyses, mais stateful pour les navigateurs qui sont connecté.) Pour plus sur les décisions de conception autour de l'état, veuillez consulter l'Ascenseur, l'État et la mise à l'Échelle.

  • Les deux cadres sont à l'aide de sbt

Ascenseur utilise Maven, sbt, Buildr, et même les Fourmis. L'ascenseur est agnostique sur l'environnement de compilation et sur le déploiement de l'environnement (Java EE conteneur, Netty, peu importe). C'est important parce qu'il Soulevez plus facile à intégrer avec le reste de votre environnement.

  • L'ascenseur est livré avec l'autorisation mais je pense qu'il y a une play2 scala plugin qui fait la même chose

L'ascenseur a été autour depuis 5 ans et a beaucoup de modules et des trucs pour elle. L'Ascenseur framework web (que l'on distingue des modules) est agnostique sur la persistance, authentification, etc., ainsi, vous pouvez utiliser n'importe quoi avec Ascenseur.

  • Async - Jouer 2 utilise Akka. Ne sais pas de quoi soulever utilise, mais ils ont aussi quelque chose de similaire.

Ascenseur a eu Asynchrone en charge plus de 5 ans. C'est inclus dans le cadre. L'ascenseur de la Comète de soutien est le meilleur de tous les framework webparce que, entre autres choses, il multiplexes tous les "pousser" des requêtes sur une page en une seule demande pour le serveur, qui évite la connexion à la famine. Comment Ascenseur ne async est un ensemble beaucoup moins important car l'une des philosophies de base avec Ascenseur est que l'on retire le la plomberie de la part du développeur de sorte que le développeur peut se concentrer sur la logique métier.

Mais pour ceux que ça intéresse, Ascenseur a le meilleur et le plus léger de poids acteurs de tout cadre Scala-terre. Nous avons été les premiers à sortir de la Scala de l'Acteur de la bibliothèque et travaillé pour se frayer un chemin pour différentes Acteur bibliothèques qui a permis à Akka et ScalaZ Acteurs pour s'épanouir.

  • Ascenseur à bateaux avec CSRF de soutien. Play2 a un module pour CSRF, mais cela ajoute un passe-partout de votre code.

Cela fait partie de l'ascendance de l'engagement pour la sécurité. C'est important.

  • Apatrides authentification semble avoir des failles de sécurité. Les deux cadres ont une authentification. (play2 stateful/apatrides , ascenseur stateful)

Soulevez les applications peuvent être avec ou comme des apatrides comme vous le souhaitez. C'est votre choix et un Ascenseur fait très clairement la manière de prendre la décision.

Aussi, comme je l'ai souligné dans l'Ascenseur, l'État et la mise à l'Échelle poste, faire le développeur comprendre comment sérialiser état dans un cadre sécurisé, évolutif, performant façon (parce que presque chaque requête sur le web application qui reconnaît des utilisateurs spécifiques est dynamique) doit être fait de façon prévisible, façon sécurisée par le cadre raisonnable des remplacements pour les développeurs.

Joint note

Le jeu est un peu comme les Rails: c'est rapide à obtenir un site cloués et c'est basé sur MVC, de sorte que beaucoup de développeurs à comprendre. Mais le Jeu manque de la profondeur et la largeur des Rails (de la communauté, de plugins, de l'expertise, le talent, etc.) Si vous voulez rapide, facile MVC, puis aller avec Rails et JRuby et écrire votre de retour fin en Scala (ils travaillent ensemble extraordinairement bien.)

L'ascenseur est un animal différent. Il y a une importante désapprentissage de la courbe (arrêter de penser MVC et commencer à penser à l'utilisateur une expérience de première qui coule à une logique d'entreprise.) Mais une fois que vous êtes à la courbe de désapprentissage, Ascenseur sites sont plus sûrs, très évolutive, super-interactive, et beaucoup plus facile à maintenir dans le temps.

20voto

JacobusR Points 5865

Pour voir ce qui peut être fait avec le Jeu (ça peut être cool), avoir un regard sur la Console de TypeSafe

Pour aller rapide avec Ascenseur, d'utiliser un modèle de projet.

Pour un exemple de l'utilisation de Mongo avec le Jeu, regarder Factile.

En résumé, je ne pense pas que vous allez vous tromper avec finesse ou Jouer. Les deux sont des projets en cours, avec des communautés solides et un bon soutien de la part des auteurs. Cela dépend vraiment de votre entreprise problème. Si l'outil de soutien sont importants pour vous, alors vous voudrez peut-être chercher à l'aide de Jeu (c'est bien pris en charge sur IntelliJ Idea).

Prendre note que le Jeu, faisant partie de la TypeSafe de la technologie de la pile, sera construit pour les versions les plus récentes de la Scala, de sorte que si l'utilisation de Scala 2.10 caractéristiques sont importantes pour vous, alors vous pouvez vouloir garder cela à l'esprit. L'ascenseur est actuellement à l'aide de la Scala 2.9.2, ce qui est bien aussi.

Pour mon projet actuel, j'utilise l'ascenseur-mapper pour ORM (C'est une grande et solide de roche), avec un Spray pour le RESTE (qui est tout simplement incroyable). Cette approche permet d'éviter des cadres tout à fait, mais cela dépend de ce que vous voulez faire. Les cadres sont, bien souvent, le chemin à parcourir.

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