2008-11-19 11 views
11

Por lo tanto, he pasado suficiente tiempo usando formularios web ASP.NET para saber que casi preferiría volver a hacer ASP clásico que usarlos. Pero dudo en pasar a ASP.NET MVC hasta que se vuelva más maduro. ¿Hay alguna alternativa de código abierto?ASP.NET MVC alternatives?

Lo principal que estoy buscando es algo que sea fácil de aprender y poner en marcha un prototipo. Si sirve de ayuda, mi principal preferencia es un enfoque de "mezclar y combinar" de Python (como decir web.py/SQLAlchemy/cualquier motor de plantillas que se adapte a mi fantasía en ese momento).

+0

Por curiosidad, ¿seleccionó ASP.NET MVC? –

Respuesta

11

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.

0

Una alternativa que parece interesante es MonoRail aunque no lo he probado por completo.

1

Otra alternativa, con la que no tengo experiencia, es ProMesh. Personalmente, me estoy moviendo a ASP.NET MVC.

6

Personalmente, probé ASP.NET MVC y MonoRail por CastleProject. Aunque realmente disfruto de las otras bibliotecas de CastleProject, he descubierto que disfruto el modelo de implementación ASP.NET MVC mejor que el modelo CastleProject MonoRail. Ahora que ASP.NET MVC ha publicado que incluirán jQuery en las versiones, estoy realmente emocionado. En definitiva, creo que depende de qué otras bibliotecas uses. Si utiliza NHibernate, ActiveRecord y Castle Windsor, probablemente disfrutará de las bibliotecas MonoRail. Si no usa ninguna de esas bibliotecas, o prefiere las Bibliotecas Empresariales de Microsoft (actualmente el estándar de la compañía donde trabajo), entonces probablemente encontrará que ASP.NET MVC se adapta mejor a sus necesidades. Con el enfoque en ASP.NET MVC viniendo del propio Scott Guthrie, dudo que desaparezca pronto. De hecho, cuantas más personas lo usen y firmen sus elogios, más probable es que se convierta en el estándar de facto.

0

Creo que ASP.NET MVC es lo suficientemente maduro.

Echa un vistazo a este sitio web. Está construido exactamente por ella.

También ASP.NET MVC está creado para que pueda mezclar y combinar el motor de vista, ORM, marco de Javascript (aunque recomiendo JQuery) y lo que no le guste más.

+0

Pregunta: "¿Alternativas ASP.NET MVC?" Respuesta:" ASP.NET MVC " –

0

ASP.NET MVC debería comenzar a ser más aceptado como maduro en forma rápida. Ahora que es beta y supuestamente casi completa, la velocidad a la que las personas la adoptan seguirá creciendo, y probablemente de manera más pronunciada. Con el lanzamiento de RTM/RTW prometido en un futuro cercano, ahora es el mejor momento para empezar a adoptarlo para que pueda comenzar a ejecutarlo con éxito.

Si hay deficiencias específicas que ve en ASP.NET MVC, definitivamente debe informar a Microsoft al respecto. Scott Guthrie es muy receptivo a los comentarios y el proyecto MVC Contrib está abierto a sugerencias y tiene una gran colección de mejoras disponibles a través de su biblioteca.