ASP MVC vs Ruby on Rails

¿Cuáles son las características y diferencias similares entre ASP MVC y RubyonRails?

Son similares no solo porque siguen el patrón MVC sino también en cómo lo hacen. Hay muchos puntos muy similares, pero también hay muchas diferencias.

De una manera puramente subjetiva puedo decir que Ruby on Rails es mucho más maduro y hay muchas cosas para facilitar la tarea de construir un sitio web. Me mudé de ASP.NET MVC a Ruby on Rails y esta es la lista de ventajas que he visto (algunas de ellas realmente subjetivas):

  • Debido a la ejecución en servidores Linux:

    • Los servidores son más baratos.
    • La configuración es reutilizable, podemos reconstruir un servidor en 30 minutos. Marioneta.
  • Hay más de 10000 bibliotecas, llamadas gems, todas instalables y actualizables de la misma manera simple. http://rubygems.org/

  • Varios sistemas de autenticación reutilizables, incluido el que he escrito; ubiquitous_user + rails_openid.

  • Las migraciones ¡Esto es muy importante!

  • Pruebas unitarias de modelos con una base de datos real en vivo. Funciona hermoso.

  • Pruebas funcionales de controladores con sistemas de aserción muy potentes.

  • Independencia de la plataforma. Tú usas Windows, yo uso Mac.

  • ActiveRecord (mejor que EF o cualquier otro ORM que haya visto). Degrada con gracia, lo que le permite agregar más piezas de SQL hasta que escriba todo en SQL. Te encantará.

  • Las herramientas de línea de comando son más fáciles de instalar y mantener actualizadas (piense en ssh, sftp / scp para copiar y sincronizar archivos, cojo, sox, etc.).

  • Pasar datos de los controladores a las vistas no es un problema porque Ruby es dynamic y C # / ASP.NET MVC no lo es.

  • Bibliotecas agradables para geolocalización.

  • Buena integración con Sphinx.

  • Comunidad #ruby y #rubyonrails en FreeNode (más grande que ## csharp y ## asp.net).

  • Concatenar todas las hojas de estilo y javascripts en dos archivos.

  • Marca de tiempo todos los archivos, por defecto.

  • Entornos: diferentes configuraciones para desarrollo, prueba y producción (no más locura web.config). Más ambiente posible.

  • Despliegue con capistriano. Implementar con un solo comando, todo; muy repetible y se puede enrollar hacia atrás fácilmente; se encarga de las migraciones de base de datos; puede hacer frente a la implementación en varios servidores o conjuntos de servidores a la vez (si tiene más de un front-end o si tiene producción y preparación respectivamente).

  • MySQL de forma nativa. Tiene capacidades de agrupación en clúster que pueden ser útiles (ya las he usado para tener espejos de solo lectura)

  • El enrutamiento es más poderoso, RESTful integrado, trivial de usar. Espacios de nombres, sub-recursos y muchas otras características.

  • No es necesario comstackr, muy bien cuando se implementa en el servidor.

  • Varias implementaciones: JRuby en Java, podría ser más rápido, funciona en servidores Java como Tomcat. Rubinious, Ruby con comstackdor JIT.

  • Heroku: un servidor de aplicaciones, como Google Apps, pero para Ruby on Rails. Puede ser un buen recurso o no. Escale bastante bien.

  • Muy buenas herramientas para analizar el código fuente y encontrar posibles problemas. Un pequeño ejemplo: http://getcaliper.com/caliper/project?repo=git://github.com/pupeno/ubiquitous_user.git

  • TDD no solo es posible, es fácil. Mezcla de lenguaje dynamic con marco de pruebas increíble.

  • Métodos de vinculación mucho mejores

  • Muy bonito generador de formas: formtastic. Puede generar un formulario en una sola línea.

  • Andamio.

  • Herramientas de administración.

  • Un sistema de traducción sano, gettext.

Las similitudes se relacionan principalmente con las decisiones de diseño (la decisión de usar patrones MVC, etc.). Las diferencias incluyen los idiomas (Ruby vs. C # / VB), los entornos de desarrollo (Windows vs Multi-Platform) y las herramientas. En última instancia, las similitudes y diferencias son demasiado numerosas para enumerarlas. ¿Puedes ser mas específico?

    Intereting Posts