WPF: Windows Client VS XBAP
Cuando desarrollemos aplicaciones con WPF deberemos tener en cuenta cual será el despliegue que usará, por lo que deberemos decidir entre un despliegue Web mediante XBAP o crear una aplicación de escritorio, y por lo tanto tener en cuenta cuales son los requisitos que debe cumplir, ya que aunque casi toda la funcionalidad de WPF está presente en las aplicaciones XBAP, no toda ella está descrita.
Estas implicaciones deben tenerse en cuenta en la fase de definición de la aplicación, en la que deberemos decidir dicho despliegue y aquellos elementos de los que podremos hacer uso.
Para poder tener una noción clara de cuales son estas diferencias, aquí os dejo una comparativa entre aplicaciones de escritorio y aplicaciones XBAP:
- Aplicaciones de escritorio
- Se instala en la máquina local
- Aparece en el menú Inicio y en Añadir/Quitar programas
- Se instala con un MSI o con ClickOnce
- Code Access Security
- Se ejecuta en confiabilidad total (Full Trust)
- Capacidades inherentes:
- Puede mostrar ventanas hijas
- Uso de WCF
- Acceso al registro
- Acceso a Escitura y lectura en el sistema de ficheros
- Otras tareas heredadas de Full Trust...
- Se ejecuta en una ventana independiente
- Versiones actualizadas de la aplicación a elección del ususario
- Automatizado por ClickOnce
- A elecciónd el usuario
- Uso desconectado de la Aplicación
- Aplicaciones XBAP
- No se instala en la máquina local
- No aparece en el menú Inicio y en Añadir/Quitar programas
- Se despliega automáticamente con ClickOnce
- xxxx.xbap es en realidad un manifiesto de ClickOnce
- Code Access Security
- Se ejecuta en la Zona Internet
- Excepciones de seguridad en accesos a recursos no autorizados
- Capacidades inherentes a la zona de seguridad
- Almacenamiento protegido
- No se puede llamar a servicios WCF
- Solo se puede hacer uso de tareas disponibles en la Zona Internet
- Seguridad adicional
- WPF elimina los privilegios de los drivers de dispositivo en el proceso del explorador
- Alojado en el proceso del explorador de internet
- Solo disponible para Internet Explorer en entornos Windows
- Restricciones de WPF
- No se soporta el objeto Window, se hace uso de Page
- No se admiten ventanas modales
- No hay soporte para BitmapEffects
- No hay soporte para aceleración gráfica por Hardware
- Siempre se ejecuta la última versión
- Escenario de uso conectado
- El usuario debe tener acceso al servidor de despliegue