No hay tal cosa como futura prueba de imprenta. Ciertamente no en tecnología.
No creo que ninguno de los dos se "caiga" en un futuro cercano. Tanto WPF como Silverlight tienen una curva de aprendizaje pronunciada (el XAML, el patrón de diseño de MVVM, y el cambio de patrones procedurales a declarativos). Si aprendes uno, básicamente estás aprendiendo el otro también.
Dicho esto, depende de su necesidad. Mis pensamientos son por lo general:
- Si se trata de un sitio web, utilizar ASP .NET/HTML
- Si se trata de una aplicación web simple, utilizar ASP .NET/HTML
- Si se trata de un LOB (línea de negocio) aplicación que no necesita privilegios de sistema elevados, utilizar Silverlight
- Si se trata de una aplicación empresarial que requiere acceso completo al sistema y permisos elevados, utilizar WPF
Hay un montón de dolores de cabeza de Silverlight (limitaciones funcionales) que pueda tropezar con que WPF no tiene ... así que a menos que necesites multiplataforma y el peso ligero es muy importante para ti, por lo general me inclino hacia WPF. Dicho esto, cada versión de Silverlight se acerca más a WPF funcionalmente.
Debo añadir la advertencia: odio las aplicaciones de LOB basadas en la web. Nunca he visto uno que no sea hacky o que no tenga problemas de usabilidad derivados de la tecnología. No, HTML5 no resuelve estas limitaciones y problemas tecnológicos. Si estoy trabajando en una aplicación LOB, prefiero dedicar mi tiempo a hacer que sea la aplicación más amigable para los negocios con un conjunto de características competitivas, que centrarme en mostrarla en diferentes navegadores, resolviendo problemas de seguridad entre dominios, y manteniendo una base de código de JavaScript.
Gracias, ¿qué es una aplicación LOB? –
Línea de negocio. Una aplicación empresarial que requiere una interacción rica y sofisticada del usuario y reglas comerciales complejas. – Jeff
Muchas gracias por una excelente respuesta, creo que me quedaré con ASP.NET y HTML. –