¿Ruby on Rails vs ASP.NET MVC 3 para un tipo .NET? [cerrado]

98

Soy muy nuevo en RoR y quiero seleccionar entre APS.NET MVC3 y RoR. C # es ciertamente más fácil para mí, ya que lo he estado haciendo durante tanto tiempo, pero me pregunto si hay algún punto para considerar usar RoR sobre .MVC para desarrollar un sitio web del mundo real.

¿Qué más obtengo con RoR que no puedo obtener con ASP.NET MVC 3 que valga la pena dedicar el tiempo a dominar RoR? Pensé que el complemento RoR de la comunidad disponible sería una de las razones, pero no parece tan organizado y parece que la curva de aprendizaje para hacer las cosas correctas será tan grande que prácticamente no ahorrará mucho tiempo para un principiante. ¿Podría estar equivocado aquí y realmente aprecio su comentario de la vida real sobre esto? Tenga en cuenta que todavía tengo que aprender ASP.NET MVC, ¡pero eso suena rápido para un tipo .NET!

¿Qué podría ofrecer RoR a un tipo .NET que VALE la pena elegir RoR sobre ASP.NET MVC 3? y por favor los consejos prácticos! :)

iCode
fuente
11
¿Cómo es esta pregunta fuera de tema o no es una pregunta real? De todos modos, he agregado la adviceetiqueta a la pregunta.
Zabba
1
@zabba, ¿por qué? Me parece que no es una etiqueta.
bzlm
1
@bzlm, ¿qué es una no etiqueta?
Zabba
2
@zabba solo 95 preguntas, sin resumen de wiki, propósito poco claro (las preguntas que requieren "consejo" generalmente no se pueden responder y, por lo tanto, no son bienvenidas según la carta del sitio), etc. :)
bzlm
3
¡Tranquilos chicos! ¿Cómo es "cuáles son los valores de RoR sobre .NET MVC para un desarrollador NET?" no es una pregunta? !!! No bloqueado en MVC en absoluto y solo me preguntaba la respuesta !!
iCode

Respuestas:

71

Ambos son fantásticos y pueden lograr los mismos objetivos muy rápidamente. Utilicé un gran libro para aprender hace un tiempo, y estaría a la altura de sus necesidades: Rails for .Net Developers

Además, escribí una publicación sobre pasar de MVC a RoR hace un tiempo.

En cuanto a las comparaciones, ambos tienen puntos fuertes, como se ha explicado, pero aquí hay algunos que me llaman la atención:

  • Realmente me gusta la implementación de RoR y las formas simples de impulsar a sitios en vivo: no hay scripts para ejecutar, solo un poco de línea de comando debería ponerlo en funcionamiento una vez que el código esté realmente escrito. Si elige RoR, ENTIENDA LOS COMANDOS DE LA LÍNEA DE COMANDOS: ¡le hará la vida mucho más fácil!

  • Como mencionaste, los complementos son geniales y realmente se pueden usar para acelerar las cosas.

  • Como desarrollador de .Net, MVC será muy sencillo, recomendaría usar Razor, ya que es muy simple y menos desordenado que el antiguo renderizado 2.0 sin razor.

  • El EF4 de .Net se puede comparar casi directamente con ActiveRecord de RoR, excelentes sistemas ORM para manejar datos.

  • Descubrí que la documentación de .Net es un poco más consistente y completa.

  • Un problema que tuve con RoR fueron los cambios rápidos y drásticos; no hace mucho, se actualizaron a 3.0 en mi host y no bloqueé mi versión; todo tipo de cosas se rompieron hasta que descubrí las nuevas (debería haber congelado mi versión).

No es una elección limpia, ambos son geniales. Como ya eres un desarrollador de .Net, supongo que MVC3 sería el camino a seguir, pero ambos son fáciles de aprender.

naspinski
fuente
4
Ahora que ASP.NET MVC es de código abierto, me pregunto qué tan rápido cerrará la brecha de funciones con RoR. Estoy poniendo mi dinero en MVC3 ahora que la comunidad de desarrolladores tendrá la capacidad de contribuir a un producto que aún cuenta con el respaldo total de los equipos de ingeniería de MS.
Scott
1
No estoy seguro de RoR. Si es un tipo de .NET con C # MVC y Razor, pero MS MVC, WebAPI, WCF, EF le resulta un poco engorroso y desea una solución más ajustada ... puede probar SS servicestack.net ... Es gratis , código abierto, comunidad muy activa que admite .net y mono, reemplazo completo de los pesados ​​marcos anteriores. Personalmente me encanta :)
Tom
2
El control de versiones de Ruby es simple y predecible si usa Bundler, como debería ser.
Lilith River
31

Yo uso y me gustan ambos, y el problema con una pregunta como esta es que son tan diferentes que podrías hablar todo el día sobre manzanas y naranjas, pero como tu pregunta no es específica, solo diré:

Si te consideras "un tipo .NET", entonces deberías aprender un lenguaje que funcione de manera muy diferente a C #, y un lenguaje dinámico como Ruby no es un mal lugar para comenzar. (Otra opción sería un lenguaje funcional como Haskell, Scala, etc.)

¡Serás un mejor programador después de hacerlo y ya no tendrás que llamarte "un tipo .NET"!

Craig Stuntz
fuente
3
Estoy de acuerdo, pero mi objetivo es tener un sitio web real en funcionamiento lo más rápido posible y ampliar mis horizontes no es mi objetivo principal en este momento. Realmente valoro aprender cosas nuevas y geniales como Ruby, pero mi enfoque en este momento es elegir la opción correcta por el tiempo limitado que tengo. ¿Y por qué están las manzanas y las naranjas donde su objetivo es ser un marco de desarrollo web?
iCode
3
Hacer que un sitio real funcione rápidamente no será un problema con Rails. Hágase un favor: pase una semana trabajando en este tutorial antes de decidir que perjudicará su tiempo de comercialización. ¡El único riesgo es que aprendas algo! La razón por la que son "manzanas y naranjas" es que funcionan de manera diferente, se ejecutan en diferentes plataformas, etc. Tienen una arquitectura MVC en común y claramente hay mucha influencia, principalmente en una dirección, pero son muy mundos diferentes. Puede ser una diferencia que expanda la mente.
Craig Stuntz
Genial, gracias. Yo lo haré. ¿Podría seguir comentando lo que se podría obtener con Rails, que está disponible en .MVC desde una perspectiva práctica, dado que ha utilizado ambos?
iCode
6

No soy un desarrollador de RoR aquí, pero hago Django y creo que la misma pregunta también se podría hacer para Django. Lo que más me gusta de Django sobre ASP.NET MVC es que Django ya viene con el ORM. Lo que significa que la mayoría de los ejemplos de código que encontrará en la web seguirán un patrón similar. Con ASP.NET MVC puede elegir entre muchos ORM diferentes que pueden ser algo bueno, pero también pueden causar confusión.

Sin embargo, como dijo @Craig, realmente son manzanas contra naranjas. Elegiría ASP.NET MVC si tuviera que implementarlo en una pila de MS, y usaría Django para proyectos "personales" o proyectos que requirieran su implementación en Linux.

Al W
fuente
3
Nunca usé Django antes. Soy un chico de Rails y .NET MVC. Casi todos los tutoriales de .NET MVC que he visto asumen que está utilizando Entity Framework y la documentación y los tutoriales en el sitio ASP.NET son muy buenos. Para incluir EF en un proyecto MVC, simplemente escriba un comando en la consola del administrador de paquetes NuGet, como obtener una gema con Rails, excepto que obtiene una referencia de ensamblado .net. En mi humilde opinión .NET MVC con EF y Code First junto con AppHarbor para la implementación son lo más cercano que puede llegar a un entorno de Rails.
PhillipKregg
6

Mencionas en tu respuesta a craig Stuntz que quieres la 'opción correcta para el tiempo limitado que tienes'

Elija mvc3 y concéntrese en aprender solo eso, en lugar de un nuevo lenguaje y marco al mismo tiempo. RoR es genial, pero es un nuevo lenguaje, marco e IDE a la vez y es probable que no lo hagas bien la primera vez. No lo hice.

Hay algunos tutoriales realmente buenos en el sitio web asp.net que lo pondrán en funcionamiento muy rápidamente

Calvo
fuente
2
Ese también ha sido mi pensamiento, pero escuché que la gente habla de lo fácil que es hacer cosas en RoR incluso para los novatos, pero me pregunto si eso es para un sitio web de hola mundo o un sitio web de producción del mundo real. Sé que mi pregunta es complicada, pero algo me dice que RoR es un nuevo lenguaje, marco e IDE a la vez como mencionaste y que no puede ser tan rápido hacer un producto de producción con .MVC, pero quería saber qué es .net. experiencias de la comunidad con esto? Lo que más quiero saber, además de la diversión, ¿cuál es el punto de elegir RoR en lugar de .MVC3? Gracias
iCode