Pregunta

Estoy trabajando en una aplicación basada en web que se pretende que tenga al menos una vida de 6 años. Una vez que se suministra la aplicación, lo más probable es que no va a ser modificado durante ese período de tiempo.

Estamos pensando en usar el framework MVC asp.net y jQuery, pero me pregunto si eso es una buena opción. El cliente probablemente no va a querer pasar más tiempo y dinero en el camino porque Javascript, las normas del navegador, etc han cambiado.

¿Cuál es la mejor opción para reducir al mínimo las posibilidades de que la aplicación podría requerir un mantenimiento durante los próximos 6 años?

¿Fue útil?

Solución

  

cliente probablemente no va a querer pasar más tiempo y dinero en el camino porque Javascript, las normas del navegador, etc han cambiado.

Es ella, o no? Se puede convencerla de que el mundo a su alrededor se sigue moviendo, y ella va a necesidad para actualizar su aplicación para trabajar con las principales plataformas de futuro?

Asumo que esto es una aplicación de Intranet, no un (revestimiento de Internet) de aplicación pública. Porque si es Intranet Creo 6 años es poco realista, pero el modo de fallo es probable que sea bastante benigno. Pero a Internet, 6 años y no hay actualizaciones de seguridad para la aplicación en sí -. De ninguna manera, no participaría en que para evitar dañar mi reputación profesional

Me gustaría probar difícil de vender un retenedor (cuota de mantenimiento de software) para mantener la corriente de la aplicación. Y con esto, un buen documento legal clara definición de lo que recibe el cliente para la tarifa (es decir, compatibilidad y seguridad corrige, no hay nuevas características). Mantenimiento de software no suele ser tan difícil de vender si el alojamiento también.

Por el bien del argumento, suponiendo que la solicitud se 'congela' por 6 años:

Me absolutamente no utilizar Javascript en cualquier cosa que se supone debe durar generaciones 4+ navegador. Creo que jQuery es grande, pero ... no hay manera, los motores de JavaScript están cambiando demasiado rápido. Para la salida, que se pegaba a solamente:

  • HTML 4.01 Strict y CSS 2 (Estaba pensando en XHTML 1.0 estricto, que es esencialmente HTML 4.01 Strict cambiado para ajustarse a las normas XML. Pero HTML 4.01 tiene la mayor base instalada, y yo' m ningún fan de XML. es una cuestión de criterio.)
  • PNG y GIF.

En lo que respecta a mantener algo estático, salida de este sencillo es probablemente la más grande victoria.

En el entorno del servidor, Me gustaría tratar de especificar Windows 2008 R2; .NET 4.0 y ASP.NET MVC 2, y una configuración de servidor 'cerca-congelado' (sólo actualizaciones de seguridad es decir). Windows 2008 R2 debió ampliar el apoyo a alrededor de noreferrer 10 años a partir de ahora. La generación anterior (Win 2008, .NET MVC 3.5SP1 y 1.0) también funcionaría; pero ASP.NET MVC 2 está buscando muuuy agradable, así que yo prefiero usar eso para mi funfactor personal.

Los proyectos de código abierto grande con un buen historial de 'estar allí' estaría bien también -. NHibernate, nUnit, StructureMap etc.

Ah, y buena llamada sobre el uso de ASP.NET. Microsoft sigue siendo bueno para mantener la compatibilidad hacia atrás y backporting parches de seguridad. ASP.NET y Java son los únicos dos ambientes que consideraría para algo como esto.

Otros consejos

Es probable que no tendrá que preocuparse por eso. Hay una inversión tan enorme en el trabajo con jQuery de varias empresas grandes que dudo que se ejecutará en ese tipo de cuestiones. La web será probablemente siempre ser condenado a permanecer compatible hacia atrás (y eso quiere decir con cosas que salió hace 10 años en la actualidad) por lo que sospecha que su aplicación basada en jQuery debe estar bien. Si lo consigue va bien con Internet Explorer 7/8, última versión de Firefox, y Safari, usted debe estar bien. Es decir, si los que no será suficiente entonces probablemente no hay otra solución basada en web tampoco.

Pero sin duda recomiendo el uso de jQuery para que esconderse de muchas de las cuestiones específicas del navegador en términos de interacción Javascript. En lo que ASP.NET MVC, de nuevo, es una plataforma muy sólida que creo que muchos empresa seguirá apoyando en los próximos años.

Para jQuery, simplemente no se preocupe, como dijo bobbyshaftoe.

Para ASP.NET MVC, que no va a morir pronto; nontheless, ya que es un muy joven y la tecnología pueden cambiar con frecuencia en las primeras versiones, se puede esperar que los problemas de mantenimiento.

Lo mismo que ocurría con los carriles:. Una aplicación escrita con rieles 1.x necesarios algunos cambios para trabajar º rieles 2.x

Esto puede ser un problema o no: una aplicación escrita con rieles 1.x seguirá trabajando con los carriles 1.x, y una aplicación escrita con MVC 1 seguirá trabajando con MVC 1.

Creo que todavía es demasiado pronto para decir cuánto MVC 2 será diferente de MVC 1: MVC 2 Preview 2 está fuera, pero hay que notar que muchas muchas clases, métodos, las interfaces etc. cambiado de nombre y de comportamiento varias veces entre 1 MVC RC1, RC2 MVC1 etc.

Por otro lado, si su aplicación es bastante compleja, utilizando MVC todavía puede ser la opción correcta, incluso teniendo en cuenta el esfuerzo extra necesario para actualizar a las versiones más recientes (que no suele ser tan grande): una aplicación MVC es más mantenible (en mi opinión).

Una última consideración: por favor, tenga en cuenta que 6 años son mucho tiempo en el mundo de la tela salvaje, así que no es posible decir de antemano lo que va a cambiar y lo que no lo hará.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top