Question

Grails vs Rails. Lequel a un meilleur soutien? Et quel est le meilleur choix pour développer des applications de taille moyenne? Plus important encore, lequel a le plus de plug-ins?

Était-ce utile?

La solution

Une autre chose qui mérite d’être mentionnée: la philosophie de conception des deux cadres est quelque peu différente en ce qui concerne le modèle. Grails est plus "axé sur le domaine". Tandis que Rails est plus "orienté base de données".
Dans Rails, vous commencez essentiellement par définir vos tables (avec les noms de champs et leurs spécificités). Ensuite, ActiveRecord les mappera aux classes ou aux modèles Ruby.
Dans Grails, c'est l'inverse: vous commencez par définir vos modèles (classes Groovy) et lorsque vous cliquez sur Exécuter, GORM (équivalent Grails ActiveRecord) crée la base de données et les tables associées (ou les met à jour). C'est peut-être aussi pour cette raison que vous n'avez pas le concept de «migrations» dans Grails (bien que je pense que cela viendra dans une version ultérieure).
Je ne sais pas si l'un est meilleur que l'autre. Je suppose que cela dépend de votre contexte.

Ceci étant dit, je me demande toujours lequel choisir. Comme le disait Tom, si vous dépendez de Java, vous pouvez toujours opter pour JRuby. La réutilisation de Java ne devrait donc pas être votre seul critère.

Autres conseils

Je suppose que si vous êtes un développeur Java et souhaitez avoir accès à toutes les bibliothèques et fonctionnalités Java d'entreprise existantes ... rendez-vous avec Grails.

Rails est plus mature, a plus de plugins, a une base d’utilisateurs plus grande, a une meilleure documentation et support disponible. Il peut également fonctionner sur JRuby en donnant accès aux bibliothèques Java si vous en avez besoin.

Grails a quelques qualités intéressantes, mais ne peut pas prétendre être là-haut avec des rails pour l'instant. Cependant, si vous êtes principalement un développeur Java ou groovy, vous pouvez le préférer. Sinon, je suggérerais d’utiliser Rails pour les projets de taille moyenne dès maintenant.

Je dis grails car il y a tellement de librairies java là-bas. Mais je suis un peu partisan du fait que je viens d’un milieu java.

Si l'application ne va pas être volumineuse, cela suffit - et le choix dépendra de l'infrastructure existante. Si vous avez déjà un serveur de conteneur de servlets Java en cours d'exécution, vous pouvez également vous en tenir à Grails au lieu de configurer un autre serveur pour les rails.

Cela dépend de vos compétences avec Ruby et / ou Groovy, de la gestion de vos systèmes Java hérités et de l'endroit où vous souhaitez déployer vos applications.

Au départ, j'étais ravi de Rails. À l’époque, il n’était pas possible de déployer sur les serveurs d’applications au travail car le travail s’appliquait uniquement à Java. Cela a changé Je ne pouvais pas abandonner l'infrastructure et les applications Java déjà existantes et passer à Ruby, même si je trouvais Rails génial. Grails fonctionne car nous pouvons combiner Groovy avec les solutions Java existantes.

En dehors du travail, Ruby est plus facile à trouver un hébergement pour les bas prix. Étant donné que Grails utilise de nombreux projets Java existants, les fichiers .war ont tendance à être volumineux, même pour une petite application. Si vous avez un serveur dédié, ce n'est pas un problème, mais essayer de fonctionner sur un hébergement partagé avec 128 Mo de RAM ne fonctionne pas.

2008 est l’année des livres Groovy et Grails, mais de nombreuses ressources Rails sont encore disponibles.

En fonction de vos critères spécifiques, Rails peut constituer un meilleur cadre pour apprendre. Si vous avez des connaissances en Java, ou des bagages ;-), vous devriez regarder Grails.

J'ai déjà utilisé des rails et cela m'a un peu plu. Cependant, ma société actuelle possédait beaucoup de code Java hérité et le choix naturel était donc Graal.

Lorsque j'ai commencé avec les rails, très peu de sites l'utilisaient et la documentation était atroce. Il y avait railcast qui était génial et railsforum.com, mais rien d'extraordinaire, vous êtes seul. Le déployer était un cauchemar, et l'utilisation de grappes métisses n'était pas vraiment prête pour la production. C'est très différent maintenant, comme tout le monde peut le constater, beaucoup plus mature et déployé partout.

Il y a plus d'un an, j'ai dû apprendre le grail pour les raisons que j'ai mentionnées ci-dessus. La transition au grail était très facile, car elle ressemble beaucoup à Rails. Encore une fois, c'était très similaire aux débuts des rails, avec une différence énorme. Comme vous pouvez facilement importer du code java, les utilisateurs de Grails peuvent utiliser presque toutes les bibliothèques java testées en production disponibles sur le marché. J'ai réussi à intégrer nos projets Java hérités dans des projets Grails et très peu d'ajustements sont nécessaires. Vous remarquerez également que le développement de plug-ins a été rapide, principalement parce que les développeurs écrivent juste des grails "hooks". mais le code sous-jacent sont les anciennes bibliothèques java. Le déploiement de grails consiste également à déployer un fichier WAR.

Une autre chose à considérer est l’IDE. Si vous êtes à l'aise avec Eclipse, Eclipse-STS for Grails vous en donne toutes les clés. Je vois encore beaucoup de développeurs de rails utiliser textmate, bien que rubymine ait fait de grands progrès (la première version de rubymine était utilisée pour arrêter mon ubuntu).

En bout de ligne, les deux sont d'excellents frameworks MVC. RoR est beaucoup plus mature et a beaucoup plus de développeurs. C'est là où RoR se trouvait il y a 3-4 ans à Grails, mais je vois les progrès beaucoup plus rapidement. J'espère que cela vous aidera.

Etant donné que les gars qui fabriquent Grails ont été achetés hier par la source Spring, je dirais Grails.

De plus, étant donné que Groovy est un sur-ensemble de Java, vous pouvez utiliser directement le langage Java que vous connaissez sans avoir à apprendre Ruby. Maintenant, vous apprendrez beaucoup de choses dynamiques et vous finirez par écrire du code Groovy au lieu du code Java, mais cela réduit la barrière à l’entrée.

Graal jusqu'au bout!

J'irais avec Grails car j'aime bien son approche (spécifiez vos classes de domaine et laissez Grails générer tout le reste) mieux que celle de Rails (construire des tables de base de données et laisser Rails générer tout le reste). Si vous êtes un développeur Java, vous apprécierez également le fait que le code Java est un code Groovy valide et qu'une classe Groovy est une classe Java, de sorte que l'intégration est transparente dans les deux sens.

Puis-je suggérer Merb ? Il est basé sur un rack, modulaire, agnostique à l’ORM, conçu pour être rapide dès le départ par Ezra Zygmuntowicz. Il commence à gagner de la chaleur maintenant ...

En tant que développeur Grails venant de Java, je l’ai aimé dès la première fois.

Maintenant, je commence à creuser dans Rails et à avoir des problèmes avec les pierres précieuses. Bien que la configuration de la connexion MySQL avec Grails soit relativement simple, je ne parviens pas à la faire fonctionner avec Rails.

La commande gem install mysql ne fonctionne pas, apparemment parce que je n'ai pas de code Xcode intégré.

S'il n'y avait pas eu de problème de consommation de mémoire, je dirais que Grails est parfait.

Rails est plus courant mais moins flexible. Grails évolue toujours rapidement, ne possède pas le même écosystème de développeurs et la documentation n’est pas aussi mature, mais cela fonctionnera dans certaines situations. Rails ne le fera pas.

J'ai utilisé un peu les turbogears et les rails. Avant d’utiliser des rails, j’essayais d’utiliser Grails parce que j’utilisais groovy pour mes scripts. Grails était une expérience difficile.

La pile d’appels groovy est difficile à lire pour un petit programme, mais lorsque vous ajoutez plusieurs frameworks lourds, une simple erreur peut générer des centaines de lignes. Contrairement à rails, la version grails que j’utilisais ne disposait pas d’outils pour m'aider à déterminer ce qui était à moi et ce qui appartenait au framework.

J'ai finalement opté pour la boîte à outils Web de Google car je n'avais vraiment pas besoin de la base de données.

Je pense que Grails et Groovy sont prometteurs, mais l'expérience utilisateur de travailler avec eux est actuellement fastidieuse (présent au printemps dernier).

Je pense que cela dépend dans une certaine mesure de l'environnement dans lequel vous travaillez.

Grails semble avoir une plus grande acceptation au niveau de l'entreprise.

Rails possède l’ambiance Koolaid et convient très bien aux start-up ne disposant pas de systèmes hérités.

Personnellement, j'utilise les deux. Même si je ne fais que commencer dans le monde Grails - j'aime le fait que l'authentification / autorisation est plus facile dans Grails, un plugin simple; Shiro. J'aime le fait que Rails ne soit pas dépendant de la machine virtuelle Java et ne prend pas une minute à peu près au démarrage.

Je trouve que l'installation de BDD / Cucumber dans Rails était beaucoup plus facile, mais c'est peut-être parce que c'est ce que je suis à l'aise! Il est clair que des efforts sont déployés dans le monde des Grails (cuke4duke, etc.) pour rendre cela plus facile et pour une communauté active qui développe Grails.

Seulement mon 2p & # 183;

Essayez les deux:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top