Hemos utilizado MonoRail RC2 para la tienda en línea de nuestra pequeña empresa durante los últimos 18 meses. Reemplazó un desastre de 7 años de páginas ASP clásicas. MonoRail RC2 nos ha funcionado bien, atendiendo un promedio de ~ 14,000 solicitudes de páginas por día. Me permitió desarrollar el sitio muy rápidamente, era gratis y me mantenía bien. Por eso, estoy agradecido con el equipo MonoRail.
Acabo de utilizar el bit MonoRail. Elegí iBATIS.NET sobre ActiveRecord porque tuve que escribir SQL creativo para mantener la compatibilidad con una base de datos de una base de datos de 7 años. Entonces no puedo hablar de algunas de las otras bibliotecas de Castle.
Algunas ventajas de monorraíl se incluyen los siguientes:
- Es bastante fácil de llegar allí y modificar las cosas. Por ejemplo, la implementación de enrutamiento predeterminada no conservaba la cadena de consulta al volver a enrutar (necesitaba esto para preservar la compatibilidad con los antiguos formatos de URL usados por el ahora desaparecido sitio ASP clásico por motivos de SEO) y no admitía la emisión de HTTP 301 Encabezados de redirección permanente para ese escenario. Así que implementé cualquier interfaz MonoRail para eso, la conecté a mi archivo de configuración y me fui.
- Todavía es ASP.NET, por lo que todavía puede usar la Autenticación de formularios, el increíblemente impresionante HTTP/HTTPS Switcher at Codeproject y el almacenamiento en caché.
- Relativamente pocas sorpresas. Después de trabajar con él durante más de un año, no he tenido demasiados días en los que he maldecido en MonoRail. Esa es una buena prueba de fuego. Algunas de las clases de ayuda (FormHelper) pueden comportarse de una manera un tanto extraña, el marco del asistente es francamente extraño, y la vinculación de parámetros a veces puede provocar un ciclo, pero no ocurre con frecuencia.
- Elección de motores de vista (plantillas). Puse esto aquí porque la mayoría de la gente parece pensar que la elección aquí es algo bueno, aunque por lo general pienso que no es así.
monorraíl, sin embargo, no está exenta de problemas:
- falta de dirección en el desarrollo. La cantidad de cambios entre RC2 y RC3 fue más que ridícula; desaparecieron una gran cantidad de métodos virtuales protegidos, muchos ayudantes cambiaron (lo cual es un gran problema cuando el motor de visualización no está tipado estáticamente), incluso se modificó el mecanismo para las pruebas de los controladores y las vistas. Por esta razón, probablemente nos quedaremos en RC2 para siempre. Ahora que ASP.NET MVC está disponible, no está claro cuán saludable se mantendrá la comunidad detrás de MonoRail (aunque ayende y hammett son tan entusiastas y activos como siempre).
- NVelocity, el motor de visualización "de facto" para MonoRail (al menos en el momento en que comenzamos el desarrollo), es un lenguaje de plantillas prometedor con una implementación insalubre y perspectivas de mantenimiento. (¿Funciona? Bastante bien. Siendo un puerto CTRL + C CTRL + V de la versión de Java, no lea la fuente de esa biblioteca porque sus ojos sangrarán).
- NVelocity y RC2 enviados con una carga extremadamente severa Error de subprocesamiento en el que varios usuarios que acceden al sitio al mismo tiempo podrían obtener páginas servidas para el otro. Se corrigió en la última versión (que, debido a la naturaleza de lanzamiento de los proyectos de Castle, es muy difícil de actualizar), y logramos solucionarlo. Pero fue un tema muy inquietante e inesperado, uno que sería muy poco probable encontrar en un marco de Microsoft. Caveat Emptor.
monorraíl fue una excelente oportunidad para nosotros en junio de 2007 por el que nos da una forma de migrar un sitio existente en la pila Microsoft a la plataforma .NET de una manera que evita Web Forms (que es ideal para sitios de intranet, pero no tan bueno cuando necesitas un control detallado de tu salida de HTML en un sitio web público, en mi opinión). (Bien, la verdadera razón es que simplemente desprecio el modelo de devolución de datos de WebForms). ASP.NET MVC ni siquiera era un brillo en el ojo de Microsoft en ese momento.
Ahora que ASP.NET MVC existe, sin embargo, y dado que Microsoft lo está posicionando como una alternativa a WebForms, sé que personalmente lo consideraré fuertemente para cualquier proyecto futuro. MonoRail es un gran proyecto, nos sirvió bien, y estoy agradecido con la comunidad de código abierto, pero lo considero con cariño como una herramienta gastada y usada que se retira a un cajón inferior en mi banco de trabajo. Sin él, ASP.NET MVC podría no existir hoy.
Por curiosidad, ¿seleccionó ASP.NET MVC? –