Silverlight - Aplicativos fora do navegador

Agora vamos explorar o suporte do Silverlight para aplicativos que podem ser instalados na máquina do usuário final para serem executados fora do navegador da Web como um aplicativo normal do Windows. Existem três motivos principais pelos quais você pode querer que seu aplicativo seja executado fora do navegador -

  • Interaction
  • Offline
  • Confiança Elevada

Interação

Pode permitir um melhor design de interação. Um modelo de navegação da web não é particularmente adequado para alguns aplicativos. Por exemplo, a barra de endereços e o botão Voltar podem ser uma perda de espaço e inúteis.

A importância do Silverlight aqui é dada abaixo -

  • Os aplicativos da Web podem usar tecnologias do lado do cliente, como Silverlight, Flash ou AJAX para fornecer atualizações contínuas para uma única página, talvez removendo qualquer necessidade de navegar para outras páginas.

  • Em alguns aplicativos, um usuário pode gastar muitos minutos, ou mesmo horas, no que o navegador considera uma única página.

  • Para este tipo de aplicação, o Back O botão pode acabar tendo um efeito bastante surpreendente ao sair do aplicativo porque ele o levará de volta para a página em que estava antes de entrar no aplicativo.

  • Distintamente, os aplicativos não semelhantes à web geralmente são melhor atendidos executando fora do navegador, porque isso elimina o navegador Chrome. Geralmente, a usabilidade não é a única razão para ficar sem navegador.

desligada

Outro motivo para usar esse recurso é habilitar a execução offline. Quando um aplicativo Silverlight é instalado para operação fora do navegador, ele é copiado para um repositório por usuário na máquina local e se torna disponível por meio dos mecanismos usuais do sistema operacional para iniciar aplicativos, como o menu Iniciar do Windows, por exemplo.

  • O aplicativo estará disponível mesmo se o usuário não tiver conectividade com a Internet.

  • Obviamente, isso só é útil para aplicativos que não dependem totalmente das informações do lado do servidor.

  • Por exemplo, um aplicativo de rastreamento automático para um serviço de entrega de encomendas não teria muita utilidade sem a conectividade de rede.

  • Para alguns aplicativos, a capacidade de continuar trabalhando durante falhas de conectividade ocasionais é muito útil.

Confiança Elevada

A versão 4 do Silverlight adicionou suporte para aplicativos confiáveis. A sandbox de segurança do Silverlight normalmente bloqueia certas operações privilegiadas, como acessar os arquivos do usuário.

No entanto, um aplicativo fora do navegador pode solicitar elevação. Se o usuário conceder essa solicitação, o aplicativo será capaz de fazer mais do tipo de trabalho que qualquer aplicativo normal do Windows será capaz de fazer, como usar a automação COM ou personalizar a borda da janela.

Os aplicativos executados dentro do navegador nunca são confiáveis, portanto, você deve escrever um aplicativo fora do navegador se quiser usar esses recursos.

Habilitando OOB

Como escrevemos um aplicativo fora do navegador? Isso é muito fácil. Temos que alterar uma única configuração nas propriedades do projeto do Silverlight e isso apenas adiciona uma configuração adequada aoAppManifest.xaml.

Vamos ver como funciona.

  • Quando seu manifesto indica que a execução fora do navegador é compatível, isso não tem efeito inicial. O aplicativo será executado no navegador normalmente.

  • No entanto, se o usuário clicar com o botão direito, o padrão Silverlight ContextMenu oferece um item extra para instalar o aplicativo no computador.

  • Se o usuário selecionar esse item, uma caixa de diálogo será exibida solicitando a confirmação. Ele também pergunta se o aplicativo deve estar acessível no menu Iniciar, na Área de Trabalho ou em ambos.

  • Você não precisa depender do menu de contexto. Você também pode oferecer um botão no qual o usuário pode clicar para instalar o aplicativo, porque existe uma API, você pode chamar para iniciar a instalação.

  • Quando você inicia a instalação programaticamente, o usuário ainda vê a caixa de diálogo. Você não pode instalar seu aplicativo sem o consentimento do usuário.

Um aplicativo Silverlight

Aqui está um aplicativo Silverlight muito simples. A seguir está seu 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 a execução fora do navegador, vá para a página do projeto Propertiese clique na guia Silverlight. Tudo o que precisamos fazer é - verificar oEnable running application out of the browser caixa de seleção.

Se você executar este aplicativo, notará que não obterá um navegador da web.

Na verdade, o Visual Studio tomou uma decisão em seu nome. Quando você habilitouout-of-browser execução, ele alterou injustamente suas configurações de depuração.

Step 2 - Então, aqui no Solution Explorer, observe que o projeto do Silverlight agora está em negrito, indicando que é um projeto de inicialização.

Esse não era o caso antes. Foi o projeto da web. No momento, não queremos isso, porque queremos mostrar como essa caixa de seleção muda as coisas para o usuário final.

Step 3 - Vamos definir o projeto da web de volta a ser o Projeto StartUp.

Step 4 - Execute o aplicativo novamente e você verá que o aplicativo está de volta ao navegador agora.

Step 5- Clique com o botão direito na página da web. Você notará a entrada usual do Silverlight no menu de contexto e um item extra para instalar.

Step 6 - Quando você seleciona a segunda opção, a caixa de diálogo Instalar aplicativo aparece conforme mostrado abaixo.

Observe que ele mostra a URL raiz do site de onde veio o aplicativo. Estamos usando o servidor da web de depuração local fornecido pelo Visual Studio, e é por isso que diz localhost.

Step 7 - Clique OK, e o aplicativo é executado em sua própria janela separada do navegador.

Pode ser natural pensar que esta janela pertence ou está conectada ao navegador, mas não é. Você pode fechar o navegador e esta janela permanece aberta. Mais importante ainda, você pode fechar esta janela e, em seguida, executar o aplicativo novamente sem usar o navegador.

Step 8 - Se você abrir o Search caixa de diálogo no Start e comece a digitar o nome do aplicativo, ele aparecerá como qualquer aplicativo normal do Windows.

Step 9 - Você pode executá-lo sem que o navegador esteja à vista.

Para desinstalar o aplicativo

O menu de contexto padrão do aplicativo fornece uma maneira fácil de fazer isso. Um usuário pode esperar desinstalar este da mesma forma que faria com qualquer outro aplicativo.

Você também pode remover clicando com o botão direito na página da web e selecionando Remove this application….

Configurações OOB

Embora só tenhamos de alterar uma única configuração para permitir a operação fora do navegador, na prática, você normalmente desejará fazer um pouco mais do que isso. oAppManifest.xaml arquivo pode conter várias configurações relacionadas a out-of-browser operação, que geralmente configuramos por meio do Visual Studio.

Como você deve ter notado, ao marcar a caixa de seleção para habilitar running out-ofbrowser, O Visual Studio habilitou um botão rotulado Out-of-Browser Settings.

Vamos dar uma olhada nele clicando no botão. Isso produzirá a seguinte caixa de diálogo.

  • A primeira coisa que podemos configurar é o texto que aparece como o Window Title.

  • Também temos a opção de corrigir as dimensões e localizações da janela, mas vamos deixá-los no automático por enquanto.

  • Este nome de atalho aparece no Start menu e o link da área de trabalho do aplicativo depois de instalado.

  • É também o texto que aparece no menu de contexto e na caixa de diálogo de instalação do aplicativo.

  • Esta descrição do aplicativo aparece na dica de ferramenta quando eu passo o mouse sobre os atalhos.

  • Podemos fornecer ícones em vários tamanhos. Eles devem ser integrados ao seu projeto.