Ruby on Rails vs ASP.NET MVC 3 pour un type .NET? [fermé]

98

Je suis très nouveau sur RoR et je souhaite choisir entre APS.NET MVC3 et RoR. C # est certainement plus facile pour moi car je le fais depuis si longtemps, mais je me demande s'il y a un point à envisager d'utiliser RoR sur .MVC pour développer un site Web réel?

Qu'est-ce que j'obtiens d'autre avec RoR que je ne peux pas obtenir avec ASP.NET MVC 3 qui vaut la peine de passer du temps à maîtriser RoR? Je pensais que le plug-in communautaire RoR disponible serait une raison, mais il ne semble pas organisé et la courbe d'apprentissage pour faire les bonnes choses va être si grande qu'elle ne fera pratiquement pas gagner beaucoup de temps pour un nouveau venu! Je pourrais me tromper ici et j'apprécie vraiment votre commentaire réel à ce sujet? Rappelez-vous que je dois encore apprendre ASP.NET MVC, mais cela semble rapide pour un gars .NET!

Qu'est-ce que RoR pourrait offrir à un gars .NET qui vaut la peine de choisir RoR sur ASP.NET MVC 3? et faites plaisir aux conseils pratiques! :)

iCode
la source
11
En quoi cette question est-elle hors sujet ou pas une vraie question? Quoi qu'il en soit, j'ai ajouté la advicebalise à la question.
Zabba
1
@zabba, pourquoi? Cela ressemble à un non-tag pour moi.
bzlm le
1
@bzlm, qu'est-ce qu'un non-tag?
Zabba
2
@zabba seulement 95 questions, pas de résumé du wiki, objectif peu clair (les questions nécessitant un "conseil" ne sont généralement pas répondables, et donc pas les bienvenues selon la charte du site), etc. :)
bzlm
3
Chill les gars! Comment est «quelles sont les valeurs de RoR sur .NET MVC pour un développement NET?» pas une question? !!! Pas du tout verrouillé sur MVC et je me demandais juste la réponse !!
iCode

Réponses:

71

Ils sont tous les deux fantastiques et peuvent atteindre les mêmes objectifs très rapidement. J'ai utilisé un excellent livre pour apprendre il y a quelque temps, et ce serait juste pour vous: Rails for .Net Developers

De plus, j'ai écrit un article sur le passage de MVC à RoR il y a quelque temps.

En ce qui concerne les comparaisons, ils ont tous deux des points forts comme cela a été décrit, mais en voici quelques-uns qui me ressortent:

  • J'aime vraiment le déploiement de RoR et les moyens simples de pousser vers des sites en direct - aucun script à exécuter, juste un peu de ligne de commande devrait vous permettre de démarrer une fois le code écrit. Si vous choisissez RoR, COMPRENEZ LES COMMANDES DE LA LIGNE DE COMMANDE - cela vous facilitera la vie!

  • Comme vous l'avez mentionné, les plugins sont excellents et peuvent vraiment être utilisés pour accélérer les choses.

  • En tant que développeur .Net, MVC sera un jeu d'enfant, je recommanderais d'utiliser Razor, car il est très simple et moins encombré que l'ancien rendu 2.0 sans rasoir.

  • L'EF4 de .Net peut être comparé presque directement à ActiveRecord de RoR, d'excellents systèmes ORM pour traiter les données.

  • J'ai trouvé que la documentation de .Net est un peu plus cohérente et complète.

  • Un problème que j'ai eu avec RoR était les changements rapides et drastiques; il n'y a pas si longtemps, ils sont passés à la version 3.0 sur mon hôte, et je n'ai pas verrouillé ma version - toutes sortes de choses se sont cassées jusqu'à ce que je découvre les nouvelles (j'aurais dû geler ma version).

Ce n'est pas un choix net - les deux sont excellents. Comme vous êtes déjà un développeur .Net, je suppose que MVC3 serait la voie à suivre, mais les deux sont faciles à apprendre.

naspinski
la source
4
Maintenant que ASP.NET MVC est open source, je me demande à quelle vitesse il comblera l'écart de fonctionnalités avec RoR. Je mets mon argent sur MVC3 maintenant que la communauté des développeurs aura la possibilité de contribuer à un produit qui est toujours entièrement pris en charge par les équipes d'ingénierie MS.
Scott
1
Je ne suis pas sûr de RoR. Si vous êtes un gars .NET avec C # MVC et Razor, mais que vous trouvez MS MVC, WebAPI, WCF, EF un peu encombrant et que vous voulez une solution plus compacte ... vous pouvez essayer SS servicestack.net ... C'est gratuit , open source, communauté très active prend en charge .net et mono, remplacement complet des framworks lourds ci-dessus. Personnellement , je cœur beaucoup :)
Tom
2
Le contrôle de version Ruby est simple et prévisible si vous utilisez Bundler, comme vous devriez l'être.
Lilith River
31

J'utilise et j'aime les deux, et le problème avec une question comme celle-ci est qu'ils sont si différents que vous pouvez continuer toute la journée sur les pommes et les oranges, mais comme votre question est assez non spécifique, je dirai simplement:

Si vous vous considérez comme "un gars .NET", alors vous devriez apprendre un langage qui fonctionne très différemment de C #, et un langage dynamique comme Ruby n'est pas un mauvais point de départ. (Une autre option serait un langage fonctionnel comme Haskell, Scala, etc.)

Vous serez un meilleur programmeur après vous, et vous n'aurez plus à vous appeler "un gars .NET"!

Craig Stuntz
la source
3
Je suis d'accord, mais mon objectif est d'avoir un vrai site Web opérationnel le plus rapidement possible et d'élargir mes horizons n'est pas mon objectif principal pour le moment. J'apprécie certainement l'apprentissage de nouvelles choses formidables comme Ruby, mais mon objectif est de choisir la bonne option pour le temps limité dont je dispose. Et pourquoi les pommes et les oranges ont-elles pour objectif d'être un cadre de développement Web?
iCode
3
Faire tourner rapidement un vrai site ne sera pas un problème avec Rails. Faites-vous une faveur: passez une semaine à travailler sur ce didacticiel avant de décider que cela nuira à votre temps de mise sur le marché. Le seul risque est que vous appreniez quelque chose! La raison pour laquelle ils sont "pommes et oranges" est qu'ils fonctionnent différemment, fonctionnent sur différentes plates-formes, etc. Ils ont une architecture MVC en commun, et il y a clairement beaucoup d'influence - principalement dans un sens - mais ils sont très mondes différents. Cela peut être une différence qui élargit l'esprit.
Craig Stuntz
Super merci. Je vais le faire. Pourriez-vous s'il vous plaît encore commenter ce que l'on pourrait obtenir avec Rails qui est disponible en .MVC d'un point de vue pratique étant donné que vous avez utilisé les deux?
iCode
6

Pas un développeur RoR ici, mais je fais Django et je pense que la même question pourrait être posée pour Django également. La chose n ° 1 que j'aime Django sur ASP.NET MVC est que Django est déjà livré avec l'ORM. Ce qui signifie que la plupart des exemples de code que vous trouverez sur le Web suivront en quelque sorte un modèle similaire. Avec ASP.NET MVC, vous pouvez choisir parmi de nombreux ORM différents, ce qui peut être une bonne chose, mais peut également prêter à confusion.

Tout comme @Craig l'a dit, c'est vraiment des pommes contre des oranges. Je choisirais ASP.NET MVC si je devais le déployer sur une pile MS, et utiliser Django pour des projets "personnels" ou des projets qui nécessitaient son déploiement sur Linux.

Al W
la source
3
Jamais utilisé Django auparavant. Je suis un gars de Rails et .NET MVC. Presque tous les didacticiels .NET MVC que j'ai vus supposent que vous utilisez Entity Framework et que la documentation et les didacticiels sur le site ASP.NET sont très bons. Pour inclure EF dans un projet MVC, il vous suffit de taper une commande dans la console du gestionnaire de packages NuGet - comme pour obtenir un gem avec Rails, sauf que vous obtenez une référence d'assembly .net. IMHO .NET MVC avec EF et Code First avec AppHarbor pour le déploiement sont les plus proches que vous puissiez obtenir d'un environnement Rails.
PhillipKregg
6

Vous mentionnez dans votre réponse à Craig Stuntz que vous voulez la `` bonne option pour le temps limité dont vous disposez ''

Optez pour mvc3 et concentrez-vous sur l'apprentissage de cela, au lieu d'un nouveau langage et d'un nouveau cadre en même temps. RoR est génial, mais c'est un nouveau langage, un nouveau cadre et un nouvel IDE à la fois et il y a de fortes chances que vous ne réussissiez pas du premier coup. Je ne l'ai pas fait.

Il existe de très bons tutoriels sur le site Web asp.net qui vous permettront d'être opérationnel très rapidement

Baldy
la source
2
Cela a également été ma pensée et j'entends des gens dire à quel point il est facile de faire des choses en RoR, même pour les débutants, mais je me demande si c'est pour un site Web Hello World ou un site Web de production réel. Je sais que ma question est délicate mais quelque chose me dit que RoR est un nouveau langage, un nouveau framework et un IDE à la fois comme vous l'avez mentionné et qu'il ne peut pas être aussi rapide de faire un produit de production avec .MVC mais je voulais savoir ce qu'est le .net expériences communautaires avec cela? Je veux surtout savoir, à côté du plaisir, quel est l'intérêt de choisir RoR plutôt que .MVC3? Merci
iCode