Silverlight: aplicaciones fuera del navegador

Ahora vamos a explorar el soporte de Silverlight para aplicaciones que se pueden instalar en la máquina del usuario final para ejecutarse fuera del navegador web como una aplicación normal de Windows. Hay tres razones principales por las que es posible que desee que su aplicación pueda ejecutarse fuera del navegador:

  • Interaction
  • Offline
  • Confianza elevada

Interacción

Puede permitir un mejor diseño de interacción. Un modelo de navegación de la web no es particularmente adecuado para algunas aplicaciones. Por ejemplo, la barra de direcciones y el botón Atrás pueden ser una pérdida de espacio e inútil.

La importancia de Silverlight aquí es la que se indica a continuación:

  • Las aplicaciones web pueden utilizar tecnologías del lado del cliente, como Silverlight, Flash o AJAX para proporcionar actualizaciones continuas a una sola página, quizás eliminando la necesidad de navegar a otras páginas.

  • En algunas aplicaciones, un usuario puede dedicar muchos minutos, o incluso horas, a lo que el navegador considera una sola página.

  • Para este tipo de aplicación, el Back El botón puede terminar teniendo un efecto bastante sorprendente al salir de la aplicación porque lo devolverá a la página en la que estaba antes de ingresar a la aplicación.

  • Claramente, las aplicaciones que no son similares a la web generalmente se sirven mejor si se quedan sin el navegador, porque eso elimina el navegador Chrome. Generalmente, la usabilidad no es la única razón para quedarse sin navegador.

Desconectado

Otro motivo para utilizar esta función es habilitar la ejecución sin conexión. Cuando se instala una aplicación de Silverlight para que funcione fuera del navegador, se copia en un repositorio por usuario en la máquina local y está disponible a través de los mecanismos habituales del sistema operativo para iniciar aplicaciones, como el menú Inicio en Windows, por ejemplo.

  • La aplicación estará disponible incluso si el usuario no tiene conexión a Internet.

  • Obviamente, esto solo es útil para aplicaciones que no dependen totalmente de la información del lado del servidor.

  • Por ejemplo, una aplicación de seguimiento automático para un servicio de entrega de paquetes no sería de mucha utilidad sin la conectividad de red.

  • Para algunas aplicaciones, la capacidad de continuar trabajando durante fallas de conectividad ocasionales es muy útil.

Confianza elevada

La versión 4 de Silverlight agregó soporte para aplicaciones confiables. El entorno limitado de seguridad de Silverlight normalmente bloquea ciertas operaciones privilegiadas, como el acceso a los archivos del usuario.

Sin embargo, una aplicación fuera del navegador puede solicitar elevación. Si el usuario concede esa solicitud, la aplicación puede hacer más del tipo de trabajo que cualquier aplicación normal de Windows podrá hacer, como hacer uso de la automatización COM o personalizar el borde de la ventana.

Las aplicaciones que se ejecutan dentro del navegador nunca son confiables, por lo que debe escribir una aplicación fuera del navegador si desea utilizar estas funciones.

Habilitación de OOB

¿Cómo escribimos una aplicación fuera del navegador? Es muy fácil. Tenemos que cambiar una sola configuración en las propiedades del proyecto de Silverlight y simplemente agrega una configuración adecuada alAppManifest.xaml.

Veamos cómo funciona.

  • Cuando su manifiesto indica que se admite la ejecución fuera del navegador, esto no tiene ningún efecto inicial. La aplicación se ejecutará en el navegador como de costumbre.

  • Sin embargo, si el usuario hace clic derecho, el Silverlight estándar ContextMenu ofrece un elemento adicional para instalar la aplicación en la computadora.

  • Si el usuario selecciona ese elemento, aparece un cuadro de diálogo pidiendo confirmación. También pregunta si se debe poder acceder a la aplicación desde el menú Inicio, el Escritorio o ambos.

  • No tiene que depender del menú contextual. También puede ofrecer un botón en el que el usuario puede hacer clic para instalar la aplicación, porque hay una API, puede llamar para iniciar la instalación.

  • Cuando inicia la instalación mediante programación, el usuario aún ve el cuadro de diálogo. No puede instalar su aplicación sin el consentimiento del usuario.

Una aplicación de Silverlight

Aquí hay una aplicación Silverlight muy simple. A continuación se muestra su código XAML.

<UserControl x:Class = "SimpleOob.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   mc:Ignorable = "d" 
   d:DesignHeight = "300" d:DesignWidth = "400">
   
   <Grid x:Name = "LayoutRoot" Background = "White"> 
	
      <Border BorderBrush = "Blue" BorderThickness = "4" CornerRadius = "20" >
		
         <Border.Background>
			
            <LinearGradientBrush StartPoint = "0,0" EndPoint = "0,1"> 
               <GradientStop Offset = "0.0" Color = "White" /> 
               <GradientStop Offset = "0.15" Color = "#cef" /> 
               <GradientStop Offset = "1.0" Color = "White" /> 
            </LinearGradientBrush> 
				
         </Border.Background> 
			
         <TextBlock HorizontalAlignment = "Center" VerticalAlignment = "Center" 
            Text = "Silverlight Application" TextOptions.TextHintingMode = "Animated" 
            TextAlignment = "Center" TextWrapping = "Wrap" 
            FontSize = "72" FontFamily = "Trebuchet MS" > 
					 
               <TextBlock.Effect> 
                  <DropShadowEffect Color = "#888" /> 
               </TextBlock.Effect> 
				
         </TextBlock>
			
      </Border> 
		
   </Grid>
	
</UserControl>

Step 1 - Para habilitar la ejecución fuera del navegador, vaya a la página del proyecto Propertiesy haga clic en la pestaña Silverlight. Todo lo que tenemos que hacer es - comprobar elEnable running application out of the browser caja.

Si ejecuta esta aplicación, notará que no obtendrá ningún navegador web.

De hecho, Visual Studio ha tomado una decisión en su nombre. Cuando habilitasteout-of-browser ejecución, cambió injustamente su configuración de depuración.

Step 2 - Entonces, aquí en el Solution Explorer, observe que el proyecto Silverlight ahora está en negrita, lo que indica que es un proyecto de inicio.

Ese no era el caso antes. Había sido el proyecto web. En este momento, no queremos eso, porque queremos mostrar cómo esa casilla de verificación cambia las cosas para el usuario final.

Step 3 - Volveremos a configurar el proyecto web para que sea el Proyecto de inicio.

Step 4 - Ejecute la aplicación de nuevo y verá que la aplicación está de nuevo en el navegador ahora.

Step 5- Haz clic derecho en la página web. Notará la entrada habitual de Silverlight en el menú contextual y un elemento adicional para instalar.

Step 6 - Cuando selecciona la segunda opción, aparece el cuadro de diálogo Instalar aplicación como se muestra a continuación.

Tenga en cuenta que muestra la URL raíz del sitio web de donde proviene la aplicación. Estamos utilizando el servidor web de depuración local proporcionado por Visual Studio, por lo que dice localhost.

Step 7 - Click OK, y la aplicación se ejecuta en su propia ventana separada del navegador.

Puede ser natural pensar que esta ventana es de alguna manera propiedad del navegador o está conectada al mismo, pero no lo es. Puede cerrar el navegador y esta ventana permanece activa. Más importante aún, puede cerrar esta ventana y luego volver a ejecutar la aplicación sin usar el navegador en absoluto.

Step 8 - Si abre el Search cuadro de diálogo en el Start y comience a escribir el nombre de la aplicación, se muestra como cualquier aplicación normal de Windows.

Step 9 - Puede ejecutarlo sin que el navegador esté a la vista.

Para desinstalar la aplicación

El menú contextual predeterminado de la aplicación proporciona una forma sencilla de hacerlo. Un usuario podría esperar razonablemente desinstalar esto de la misma manera que lo haría con cualquier otra aplicación.

También puede eliminar haciendo clic derecho en la página web y seleccionando Remove this application….

Configuración de OOB

Aunque solo tuvimos que cambiar una única configuración para habilitar la operación fuera del navegador, en la práctica, normalmente querrá hacer un poco más que eso. losAppManifest.xaml El archivo puede contener varias configuraciones relacionadas con out-of-browser operación, que solemos configurar a través de Visual Studio.

Como habrá notado, cuando marcó la casilla de verificación para habilitar running out-ofbrowser, Visual Studio habilitó un botón etiquetado Out-of-Browser Settings.

Echemos un vistazo haciendo clic en el botón. Producirá el siguiente cuadro de diálogo.

  • Lo primero que podemos configurar es el texto que aparece como el Window Title.

  • También tenemos la opción de arreglar las dimensiones y ubicaciones de las ventanas, pero las dejaremos en automático por ahora.

  • Este nombre de acceso directo aparece en el Start menú y el enlace de escritorio de la aplicación una vez que esté instalada.

  • También es el texto que aparece en el menú contextual y el cuadro de diálogo de instalación de la aplicación.

  • Esta descripción de la aplicación aparece en la información sobre herramientas cuando coloco el cursor sobre los accesos directos.

  • Podemos proporcionar iconos en varios tamaños. Estos deben estar integrados en su proyecto.