J'envisage d'utiliser Grails pour un nouveau site Web, mais je suis ouvert à d'autres / nouveaux langages de programmation et frameworks. J'ai fait du développement en utilisant J2EE / JSF2, ASP.NET et PHP. Grails ou Ruby on Rails est-il à peu près le meilleur moyen d'obtenir une fonctionnalité rapidement opérationnelle?
Quelques réflexions initiales:
- DJango ressemble à RoR / Grails et je le considérerais
- GWT est un concept intéressant mais il ne semble pas que le délai d'exécution soit aussi rapide
Merci, -Jon
programming-languages
frameworks
web-framework
Jon Onstott
la source
la source
Réponses:
Comme pour toutes les questions de ce type, la réponse est "cela dépend". Les facteurs à considérer incluent votre degré de confort avec le langage / framework et les fonctionnalités requises par le projet. Cela dit, j'ai construit des sites en utilisant un certain nombre de cadres, chacun avec ses propres forces et faiblesses:
Grails
Si j'ai besoin d'obtenir un site rapidement pour quelque chose de professionnel , Grails serait probablement mon premier choix. GORM est de loin l'ORM le plus simple et le plus intuitif que j'ai essayé, le paradigme MVC est très bien exécuté, il y a 0 configuration pour commencer à coder (pas de soucis pour les URL, les correctifs DB, quoi que ce soit), une itération très rapide (juste rafraîchir la page), l' intégration transparente Java (une bonne chose dans le monde des affaires), et quelques plugins merveilleux (par exemple interrogeable est une chose de la beauté). Le plus gros inconvénient est que l'hébergement peut être difficile à trouver (et coûteux).
Ruby on Rails
Mon expérience avec RoR est très similaire à celle de Grails: MVC bien exécuté. Du côté positif, il a une plus grande communauté, donc les ressources en ligne (documentation, FAQ, exemples de code, etc.) sont très abondantes, il y a des TONNES de plugins, Ruby est un peu plus flexible / expressif / "funky", et c'est beaucoup plus facile de trouver un hébergement (en particulier pour des projets personnels); du côté négatif, la gestion / installation des dépendances est nul (j'ai utilisé RubyGems sur Windows, Ubuntu, Fedora et OSX et j'ai rencontré des problèmes non triviaux sur chacun), il y a un peu plus de configuration / surcharge que Grails (en particulier, traitant routes.rb et des tonnes de fichiers de migration db), et apparemment, RoR a de sérieux problèmes d'évolutivité.
PHP (y compris le framework CakePHP)
Si je dois rapidement pirater quelque chose ou créer un site pour un usage personnel , j'irais probablement avec PHP. PHP est de loin le langage le plus facile à apprendre et à déployer: téléchargez l'un des packages LAMP pratiques, cliquez deux fois et commencez à pirater. La communauté est plus grande que celle de RoR, donc la documentation est abondante et il existe d'innombrables plugins (facilement "installés" en déposant simplement le fichier php et en rafraîchissant la page). Le langage est simple à apprendre, mais certaines choses en PHP sont tout simplement étranges et il faut beaucoup de discipline pour éviter le code laid. Le framework CakePHP applique un joli paradigme MVC pour aider à garder les choses en ordre, et pour la plupart est à égalité avec RoR, bien que personnellement je l'ai trouvé légèrement plus intuitif.
Java (servlets, JSP, JSTL, struts, Velocity)
J'ai construit de nombreux sites en utilisant les technologies de servlet Java, et je peux honnêtement dire qu'il n'y a aucune bonne raison de les choisir pour un nouveau site de nos jours. Ils ont une courbe d'apprentissage abrupte, des tonnes de configuration pour lutter contre (l'enfer XML), une itération lente en raison de la nécessité de redéployer tout le temps (sauf si vous utilisez JRebel), du code prolixe et aucun "cadeau" en termes de fonctionnalité. J'ai joué avec Play! Framework et Spring Roo un peu et les deux font des trucs très cool avec du code Java plus ou moins "pur" et méritent d'être approfondis.
la source
Lorsque j'utilise CakePHP, je peux faire tourner une application web plus rapidement que ... un ... gars vraiment rapide. Quoi qu'il en soit, c'est rapide. Déposez les fichiers dans votre dossier racine Web, configurez deux fichiers (environ trois lignes à modifier dans chacun). Et commencez à coder.
Parce qu'il privilégie la convention sur la configuration, il faudra de l'expérience pour s'assurer qu'il est configuré de manière optimale, mais je garantis qu'avec des niveaux d'expérience égaux, CakePHP arbore le déploiement le plus rapide de n'importe quel framework, probablement période .
Cela dit, le projet CakePHP d'origine était un clone PHP de rails (ce n'est plus le cas), donc je suis sûr que rails est également rapide à déployer.
la source
Je travaille avec le framework ASP.NET MVC depuis un certain temps maintenant, et j'ai trouvé que c'était un très bon framework. Extrêmement facile à utiliser, surtout si vous êtes familier avec .NET. Le framework a connu une croissance rapide depuis sa sortie en 2009, la prévisualisation MVC 3 a été rendue publique récemment. Je pense que MS fait toutes les bonnes choses avec le framework ASP.NET MVC.
la source
Je n'ai pas tout utilisé, mais Rails est sacrément rapide. Je pense que Grails l'est aussi car il incarne assez bien la philosophie DRY. Je ne connais pas suffisamment les autres cadres de langage dynamiques pour le dire.
Même avec de bonnes stratégies de génération de code, mes ASP.NET (formulaires Web) ne semblent pas aussi efficaces.
la source
J'ai essayé Django et Rails et j'ai trouvé Rails à mon goût. Cela étant dit, je préfère ASP.Net MVC 2 bien mieux que Rails. Je suis beaucoup plus rapide dans MVC (ou même simplement dans les formulaires Web) que dans Rails simplement parce que mon esprit "fonctionne mieux" avec C #.
Pour moi, cela se résume à ce que vous savez et à ce que vous aimez. Beaucoup de gens m'ont dit que Ruby est amusant, pas pour moi non. C # est amusant! Haskell est amusant! Si vous n'aimez pas le langage / framework, vous ne serez pas aussi rapide qu'un framework "plus lent" que vous appréciez.
la source