Ruby on Rails / Grails est-il le cadre le plus rapide pour obtenir des sites rapidement?

10

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

Jon Onstott
la source
2
Si vous avez effectué le développement avec J2EE / JSF2, ASP.NET et PHP, vous pourrez obtenir un site opérationnel plus rapidement avec l'un de ceux qu'avec Grails, Ruby on Rails ou tout autre framework / langue que vous n'avez jamais utilisée auparavant.
Carson63000
2
Le moyen le plus rapide de faire fonctionner un site Web est d'installer Wordpress ou Mediawiki. Cela ne se modifie pas du tout si vous devez ajouter des fonctionnalités, mais il existe de nombreux sites qui seront bien servis par une solution + des plug-ins prêts à l'emploi.
Sean McMillan

Réponses:

13

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.

Yevgeniy Brikman
la source
4

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.

Stephen
la source
Merci pour la perspicacité. J'ai jeté un coup d'œil à CakePHP dans le passé et il semble utiliser des concepts similaires à RoR.
Jon Onstott
Acceptez +1 pour m'avoir présenté CakePHP.
Jeremy
CakePHP roxxors.
Stephen
3

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.

ysolik
la source
1
MVC est génial, et si vous lisez mes messages SO, vous savez que je suis un fan, mais tout de suite, c'est loin d'être aussi rapide que Rails pour faire décoller un site basé sur DB. Je pense que MVC pourrait bien être un meilleur choix que Rails pour le long terme (en fonction de vos besoins), mais le mérite est dû: Rails fait mieux l'expérience hors boîte.
Craig Stuntz
@Craig: Par pur intérêt et désir d'apprendre quelque chose de nouveau, je suis tenté de choisir un petit projet et de le lancer dans MVC et Rails maintenant pour voir comment ils se comparent.
ysolik
La lecture de ceci en 2012 m'a vraiment fait pleurer. Je me souviens avoir commencé à utiliser asp.net mvc à sa sortie et le voir si robuste de nos jours est tout simplement incroyable. J'ai fait de moi un fan du développement web et cela m'a permis d'apprendre facilement CakePHP et Ruby on Rails.
sergserg
1

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.

Jeremy
la source
1

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.

Jetti
la source
J'ai trouvé que Django prend un certain temps à configurer, surtout lorsque vous devez jouer avec Apache
Utilisateur