Ok, alors je viens de passer de l'entreprise c#, asp.net mvc, asp web forms après avoir développé depuis la version bêta de la plateforme .net à rails.
Pourquoi rails et pas django? J'ai examiné les deux mais j'ai finalement choisi rails pour les raisons suivantes.
- DEVELOPPEMENT RAPIDE - Les gens disent que django est plus rapide à cause de l'interface admin. Tout comme django, vous pouvez développer rapidement avec rails en utilisant juste rails sans gems, vous pouvez probablement développer un peu plus rapidement avec django parce que django génère des écrans admin. Mais l'excellent gem active_admin http://activeadmin.info/ est là pour combler ce vide, donc en l'utilisant vous êtes tout aussi rapide. En ajoutant tous les gems qui existent, cela devient une machine de livraison rapide et efficace.
- LA SUITE - Rails ce n'est pas juste pour le développement, c'est aussi pour les tests fonctionnels, les tests de performance et le déploiement. Surtout si vous utilisez Cucumber ou Capybara, vous pouvez intégrer pleinement les tests de votre application. Développer votre application est une chose, mais quand vous la publiez 10 fois par jour comme github, easy ou shopify vous voulez vous assurer que vos tests fonctionnent. Rails a de bons gems pour cela et un écosystème brillant pour le soutenir.
- L'ECOSYSTEME - Rails vient avec des gems, des petites bibliothèques réutilisables que les gens mettent à votre disposition. Chaque fois qu'un gem génial est publié, cela me rend heureux et renaît. Par exemple active_admin pour les écrans admin, omniauth pour une authentication facile avec FB, Twitter, Github, peu importe. C'est comme un iPhone qui s'améliore avec chaque application.
- DEPLOIEMENT - Rails est conçu pour le déploiement, regardez capistrano ou heroku. Regardez des outils comme vagrant avec chef. Et maintenant, bushido arrive pour un déploiement de style App Store. De plus, Travis CI est là pour tester votre code.
- LA COMMUNAUTE - Les personnes de la communauté Rails sont géniales, elles portent des lunettes et sont instantanément des hipsters (guenilles ruby). Malheureusement je ne suis pas aussi fantastique (vision 20/20) mais un jour j'aurai des lunettes moi aussi. /J Non la communauté de rails est très grande et généralement des personnes cool, intelligentes et pragmatiques y participent.
Pour être honnête, j'ai développé au cours des 10 dernières années pour des clients d'entreprise tels que Sony Ericsson, Ikea et d'autres grands clients. J'ai cherché des plateformes et des cadres qui me permettent de mettre en œuvre les meilleures pratiques (développement piloté par les tests, déploiements automatisés, livraison continue) et rails est celui qui me les offre toutes.
Des inconvénients vous dites? Certains diraient que rails ne scale pas. Je pense que cela a généralement été démystifié à présent. Cependant, je dis que rien ne scale si ce n'est pas entre de bonnes mains. Je crois que ruby est un tout petit peu plus lent que python, mais avec la nouvelle version il devient plus rapide maintenant. Github utilise rails, ainsi que d'autres entreprises incroyables. http://stackoverflow.com/questions/134202/whos-using-ruby-on-rails-in-production
Mais je serais ravi d'acheter plus de matériel pour toutes les bonnes choses que rails offre et pour l'augmentation de la vitesse de développement et de la communauté que j'obtiens avec rails. De plus, Martin Fowler, un type assez intelligent qui a écrit beaucoup de livres et qui travaille chez Thoughtworks a partagé cela à propos de rails http://martinfowler.com/bliki/EvaluatingRuby.html
En fin de compte.
Sortez, essayez-les tous les deux. Regardez tout le panorama qui entre en jeu pour construire, et maintenir et tester une application. Et prenez votre décision ensuite.