Démarrage d'une nouvelle application Web avec Rails 3. Je suis encore relativement nouveau dans le développement web et j'ai vraiment apprécié toutes les ressources Internet disponibles en travaillant avec Ruby 1.8.7 et Rails 2.3.5. Un conseil contre en utilisant Ruby 1.9.2 sur mon nouveau projet?Devrais-je utiliser Ruby 1.9.2 avec ma nouvelle application Web?
Répondre
J'ai réussi à convertir tous mes projets Rails (sauf un, mais j'y travaille) de Ruby 1.8.7/Rails 2.3.5 à Rails 3.0.0 et Ruby 1.8.7/1.9.2 RC2 et les deux environnements sont assez stables.
Heureusement, les choses ont changé depuis que j'ai posté this question.
Rails
Sauf si vous avez vraiment quelque chose qui vous empêche de le faire, je vous encourage fortement à commencer par Rails 3. L'effort nécessaire pour mettre à jour une application Rails 2 de Rails 3 devrait vous décourager À partir de Rails 2.
En parlant de plugins et de Gems, de nombreux développeurs commencent à convertir leurs bibliothèques en Rails 3. Actuellement, il y a un très haut niveau de compatibilité. De plus, les plugins Rails 3 ont tendance à être plus puissants que ceux du Rails 2.3, grâce à la nouvelle API du plugin Rails. Ils peuvent charger des tâches, ils n'abusent plus des patchs de singe ou ne comptent plus sur les hacks internes.
En outre, Rails 3 est juste autour du coin. À moins que votre projet ne soit déployé dans une semaine, la version stable sera probablement disponible avant le déploiement de votre code. Je ne serais pas satisfait, sachant que je suis en train de gérer quelques projets Rails 3 dans un environnement de production et qu'ils sont assez stables (Rails 3 RC1, la bêta 4 a un bug vraiment bizarre dans l'environnement de cache).
Ruby 1.9.2
Ruby 1.9.2 est beaucoup plus puissant que Ruby 1.8.7. S'il s'agit d'un tout nouveau projet, je vous suggère d'utiliser la branche 1.9.
Habituellement, il est plus facile de démarrer un nouveau projet dans Ruby 1.9 que de convertir un projet existant.
Ruby 1.9.2 est plus rapide, encore plus rapide que REE. La plupart des communes Ruby 1.8.7 Gems fonctionnent avec Ruby 1.9 sauf quelques uns, comme RCov. Encore une fois, il est très difficile d'avoir besoin d'une bibliothèque qui ne fonctionne pas avec Ruby 1.9.2.
Si cela se produit, il y a de fortes chances pour que cette bibliothèque soit obsolète et qu'un meilleur remplacement soit probablement disponible dans l'écosystème Ruby.
Si vous ne trouvez pas d'alternative, souvenez-vous que Rails 3 est un excellent moyen d'utiliser des bibliothèques personnalisées, grâce à Bundler. Vous pouvez charger le projet et demander à Bundler d'utiliser votre fourche. Vous pouvez même intégrer la bibliothèque dans vos dépôts et demander à Bundler de charger la bibliothèque à partir d'un chemin.
Conclusion
De mon expérience personnelle, j'ai été très heureux avec Ruby 1.9.2 et Rails 3. Ce est de loin mon environnement préféré et mon environnement par défaut pour les nouveaux projets.
Si vous ne pouvez pas utiliser Ruby 1.9.2, essayez avec Ruby 1.8.7. De l'autre côté, je vous encourage fortement à commencer par Rails 3.
Cela dépend en fin de compte de ce qu'est le projet. Si c'est un projet personnel, et que vous l'utilisez comme un moyen d'apprendre Ruby/Rails, je pense que cela vaudrait la peine d'apprendre et d'utiliser les derniers outils. S'il s'agit d'un travail client, ou d'un projet dont le but principal est juste de terminer la chose, 2.3.5/1.8.7 serait probablement le meilleur choix, à cause des ressources comme vous l'avez mentionné, et beaucoup de bibliothèques/gemmes de support seront juste travailler. Vous devrez apprendre Rails 3/Ruby 1.9.x à un moment donné, car c'est là que la communauté se dirige. Je ferais quelques recherches et je verrais de quelle gemme vous avez besoin pour votre projet, et assurez-vous que tout est supporté si vous choisissez la route Rails 3/1.9.2. De plus, joignez-vous à l'irc et posez des questions sur l'expérience des autres avec les gemmes en question.
Je peux vous dire que j'ai une petite application Rails 3/1.9.2 qui fonctionne très bien en production, bien qu'elle soit très petite et un projet personnel.
Merci pour la perspicacité. Je n'ai pas pensé à la compatibilité des gemmes. Ce n'est pas pour un client mais pour une production sérieuse. Je penche pour aller avec. – ScotterC
Sauf si vous utilisez un codage de caractères sophistiqué dans votre application, la compatibilité avec les gemmes sera votre plus gros problème. Beaucoup de développeurs de gem travaillent sur la compatibilité de Rails 3, et la plupart des gemmes populaires ont au moins quelque chose qui fonctionne pour Rails 3, même si c'est un bêta. – bobbywilson0
Je suis d'accord, plus 1.9.2 vient de sortir, il y a peut-être encore quelques bugs là-bas ... – rogerdpack
Vous pouvez essayer Ruby 1.9.2 en utilisant RVM
Je l'ai utilisé sous et hors tension pour développer des Rails3 applications tout en conservant nos sites de production actuels (jusqu'à Rails 2.2/Ruby 1.8.5). Le seul fait d'avoir à se rappeler de démarrer RVM ^^
Love RVM. Rend la vie beaucoup plus facile. – ScotterC
Commencé avec Rails3 et Ruby 1.9.2 et je l'adore! Toutes les choses qui ne sont pas venues facilement dans Rails2 sont passées par la fenêtre et ont été remplacées par de bons Rails3 RESTful comme les nouvelles routes et la requête ActiveRecord – ScotterC