2011-07-14 11 views
5

¿Debo iniciar mi nuevo programa C# basado en navegador en Silverlight o WPF? Será basado en navegador pero se usará solo dentro de nuestra organización, mi programa necesitará hablar con archivos compartidos de Windows si esto hace la diferencia.¿Debo comenzar mi nuevo programa C# basado en navegador en Silverlight o WPF?

Hasta ahora, solo he hecho aplicaciones de Windows Form y aplicaciones ASP.NET básicas. No quiero volver a escribir esto en un futuro próximo si se cae Silverlight.

¿Qué recomendaría para la facilidad de aprendizaje y futuras pruebas para un programador de formularios de Windows.

Gracias Steve

Respuesta

7

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.

+0

Gracias, ¿qué es una aplicación LOB? –

+1

Línea de negocio. Una aplicación empresarial que requiere una interacción rica y sofisticada del usuario y reglas comerciales complejas. – Jeff

+0

Muchas gracias por una excelente respuesta, creo que me quedaré con ASP.NET y HTML. –

-1

Si escribe la aplicación en Silverlight, deberá ejecutarse dentro de un navegador, a menos que la convierta en una aplicación fuera del navegador. Si lo escribe en WPF, puede ejecutarse como una aplicación de escritorio, pero tendrá que implementarlo en la computadora de todos los usuarios que necesite ejecutarlo.

Si no está seguro de Silverlight, intente utilizar Flash en su lugar.

Cuestiones relacionadas