wpf silverlight ria xbap

wpf - ¿Cuál es la diferencia entre Silverlight y XBAP?



ria (4)

¿Cuál es la diferencia entre Silverlight y XBAP? ¿Dónde usarías uno frente al otro?


  1. Desde la perspectiva de los usuarios para ver el usuario de la aplicación del navegador WPF, se necesitará un marco neto total de puntos para ser instalado que sea considerablemente más alto que el tiempo de ejecución de Silverlight.

  2. Las aplicaciones del navegador WPF no funcionarán, excepto Windows OS

  3. Hay muchas más funciones que puede usar (como 3D real con cámara y luz) con aplicaciones de navegador WPF que no puede hacer con Silverlight.


La gran diferencia es la caja de arena. Ambas son sandbox, pero las aplicaciones WPF-Browser (por ejemplo, XBAP) pueden solicitar más permisos, pero en Silverlight no se puede (por diseño).


Silverlight es multiplataforma y ejecuta sus aplicaciones en el navegador; se puede usar en cualquier lugar que use un navegador web.

WPF es solo para Windows y generalmente ejecuta sus aplicaciones en el escritorio; requiere que el framework .NET esté instalado.

Silverlight se puede ver como un subconjunto de WPF (aunque esto no es técnicamente correcto). No tiene todo el conjunto de características que tiene WPF. Lo que pierde en funcionalidad, sin embargo, gana en adoptabilidad.

WPF puede implementar aplicaciones a través del navegador, usando lo que se llama un XBAP. Sin embargo, esto no es lo mismo que Silverlight; mientras que las aplicaciones de Silverlight en realidad están integradas en el navegador, WPF simplemente está utilizando el navegador como anfitrión para su proceso.

Para una guía más detallada sobre las diferencias entre WPF y Silverlight, me referiría a este documento en CodePlex.


Leccion de historia. Hicimos WPF originalmente para permitir que el diseño tenga más en cuenta cuando se trata de aplicaciones basadas en Windows, ya que esto fue un feedback consistente que encontramos en el mundo de WinForms. Producimos WPF, y en cierto modo tomó prestadas técnicas similares que se encuentran en HTML pero en una forma más de lo que llamaríamos moda madura (XAML).

Luego decidimos (en función de los comentarios de los clientes) habilitar un subconjunto de esta visión en las máquinas x-platform y x-browser. Como resultado, terminamos con WPF / E (WPF en todas partes), que más tarde se cambió el nombre a Silverlight.

WPF contra Silverlight. La respuesta fácil es la siguiente: si quieres crear una solución con el alcance x-platform / x-browser, entonces Silverlight es tu mejor opción. La desventaja es que no podrá salir de la caja de arena impuesta dentro de los navegadores, por lo que si se trata de una aplicación que está contenta de vivir en manos de la máquina, habita en el mundo, Silverlight puede proporcionarle un resultado más que razonable ( Fuera del navegador, almacenamiento aislado, etc. le permiten más acceso de lo normal a una máquina de personas).

Sin embargo, WPF está ahí para un acceso profundo, lo que significa que desea acceder a un controlador USB o hablar con una tecnología alternativa a .NET, etc., los mismos principios, un acceso más amplio sin restricciones.

Puede implementar soluciones .XBAP que es muy similar a Silverlight, pero proporciona un poco más profundo en términos de acceso ... piense en él como el hijo del medio entre WPF y Silverlight.

Avanzando. Estamos gastando ciclos asegurando que WPF / Silverlight converjan más en términos de una API uniforme, etc., para permitirle graduarse arriba / abajo de la experiencia tecnológica sin tener que cambiar radicalmente su lógica. Tenemos marcos vigentes hoy (es decir, PRISM / MEF) que lo ayudarán aquí, pero estamos trabajando arduamente para que las dos tecnologías vuelvan a ser iguales para todos ustedes.

Los comentarios son siempre bienvenidos y siéntase libre de seguirnos en Twitter para quejarse / elogiar a través de @teamsilverlight.

Scott Barnes / Rich Platforms Product Manager / Microsoft.