Silverlight - Applications hors navigateur

Nous allons maintenant explorer la prise en charge de Silverlight pour les applications qui peuvent être installées sur la machine de l'utilisateur final pour s'exécuter en dehors du navigateur Web comme une application Windows normale. Il y a trois raisons principales pour lesquelles vous voudrez peut-être que votre application puisse s'exécuter hors du navigateur -

  • Interaction
  • Offline
  • Confiance élevée

Interaction

Cela peut permettre une meilleure conception d'interaction. Un modèle de navigation du Web ne convient pas particulièrement à certaines applications. Par exemple, la barre d'adresse et le bouton Retour peuvent être une perte d'espace et inutile.

L'importance de Silverlight est donnée ci-dessous -

  • Les applications Web peuvent utiliser des technologies côté client, telles que Silverlight, Flash ou AJAX pour fournir des mises à jour continues sur une seule page, supprimant peut-être tout besoin de naviguer vers d'autres pages.

  • Dans certaines applications, un utilisateur peut passer de nombreuses minutes, voire des heures, sur ce que le navigateur considère comme une seule page.

  • Pour ce type d'application, le Back Le bouton peut finir par avoir un effet assez surprenant de quitter l'application, car il vous redirigera sur la page sur laquelle vous étiez avant d'entrer dans l'application.

  • De manière distincte, les applications non Web sont généralement mieux servies en manquant du navigateur, car cela élimine le navigateur Chrome. En général, la convivialité n'est pas la seule raison de manquer de navigateur.

Hors ligne

Une autre raison d'utiliser cette fonctionnalité est d'activer l'exécution hors ligne. Lorsqu'une application Silverlight est installée pour une opération hors navigateur, elle est copiée dans un référentiel par utilisateur sur la machine locale et devient disponible via les mécanismes habituels du système d'exploitation pour lancer des applications, comme le menu Démarrer de Windows, par exemple.

  • L'application sera alors disponible même si l'utilisateur ne dispose pas de connexion Internet.

  • De toute évidence, cela n'est utile que pour les applications qui ne dépendent pas entièrement des informations côté serveur.

  • Par exemple, une application de suivi automatique pour un service de livraison de colis ne serait pas d'une grande utilité sans la connectivité réseau.

  • Pour certaines applications, la possibilité de continuer à travailler lors de pannes de connectivité occasionnelles est très utile.

Confiance élevée

La version 4 de Silverlight a ajouté la prise en charge des applications de confiance. Le sandbox de sécurité de Silverlight bloque normalement certaines opérations privilégiées, telles que l'accès aux fichiers de l'utilisateur.

Cependant, une application hors navigateur peut demander une élévation. Si l'utilisateur accepte cette demande, l'application est capable de faire plus du type de travail que toute application Windows normale pourra faire, comme l'utilisation de COM Automation ou la personnalisation de la bordure de la fenêtre.

Les applications qui s'exécutent à l'intérieur du navigateur ne sont jamais fiables, vous devez donc écrire une application hors navigateur si vous souhaitez utiliser ces fonctionnalités.

Activer OOB

Comment écrire une application hors navigateur? C'est très facile. Nous devons modifier un paramètre unique dans les propriétés du projet de Silverlight et cela ajoute simplement un paramètre approprié à laAppManifest.xaml.

Voyons comment cela fonctionne.

  • Lorsque votre manifeste indique que l'exécution hors navigateur est prise en charge, cela n'a aucun effet initial. L'application s'exécutera dans le navigateur comme d'habitude.

  • Cependant, si l'utilisateur clique avec le bouton droit de la souris, le Silverlight standard ContextMenu propose un élément supplémentaire pour installer l'application sur l'ordinateur.

  • Si l'utilisateur sélectionne cet élément, une boîte de dialogue apparaît demandant une confirmation. Il demande également si l'application doit être accessible à partir du menu Démarrer, du bureau ou des deux.

  • Vous n'avez pas besoin de vous fier au menu contextuel. Vous pouvez également proposer un bouton sur lequel l'utilisateur peut cliquer pour installer l'application, car il existe une API que vous pouvez appeler pour lancer l'installation.

  • Lorsque vous lancez l'installation par programme, l'utilisateur voit toujours la boîte de dialogue. Vous ne pouvez pas installer votre application sans le consentement de l'utilisateur.

Une application Silverlight

Voici une application Silverlight très simple. Ci-dessous, son code 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 - Pour activer l'exécution hors navigateur, accédez à la page du projet Properties, puis cliquez sur l'onglet Silverlight. Tout ce que nous devons faire est de vérifierEnable running application out of the browser case à cocher.

Si vous exécutez cette application, vous remarquerez que vous n'obtiendrez pas du tout de navigateur Web.

En fait, Visual Studio a pris une décision en votre nom. Lorsque vous avez activéout-of-browser exécution, il a injustement modifié vos paramètres de débogage.

Step 2 - Alors, ici dans le Solution Explorer, notez que le projet Silverlight est maintenant en gras, indiquant qu'il s'agit d'un projet de démarrage.

Ce n'était pas le cas avant. C'était le projet Web. Pour le moment, nous ne voulons pas de cela, car nous voulons montrer comment cette case à cocher change les choses pour l'utilisateur final.

Step 3 - Nous redéfinirons le projet Web en tant que projet de démarrage.

Step 4 - Exécutez à nouveau l'application et vous verrez que l'application est de retour dans le navigateur maintenant.

Step 5- Cliquez avec le bouton droit sur la page Web. Vous remarquerez l'entrée Silverlight habituelle dans le menu contextuel et un élément supplémentaire à installer.

Step 6 - Lorsque vous sélectionnez la deuxième option, la boîte de dialogue Installer l'application apparaît comme indiqué ci-dessous.

Notez qu'il affiche l'URL racine du site Web d'où provient l'application. Nous utilisons le serveur Web de débogage local fourni par Visual Studio, c'est pourquoi il indique localhost.

Step 7 - Cliquez OK, et l'application s'exécute dans sa propre fenêtre séparée du navigateur.

Il peut être naturel de penser que cette fenêtre est en quelque sorte la propriété ou connectée au navigateur, mais ce n'est pas le cas. Vous pouvez fermer le navigateur et cette fenêtre reste active. Plus important encore, vous pouvez fermer cette fenêtre, puis réexécuter l'application sans utiliser le navigateur du tout.

Step 8 - Si vous ouvrez le Search boîte de dialogue dans le Start et commencez à taper le nom de l'application, il apparaît comme n'importe quelle application Windows normale.

Step 9 - Vous pouvez l'exécuter sans que le navigateur ne soit visible.

Pour désinstaller l'application

Le menu contextuel par défaut de l'application offre un moyen simple de le faire. Un utilisateur peut raisonnablement s'attendre à le désinstaller de la même manière qu'il le ferait pour toute autre application.

Vous pouvez également supprimer en cliquant avec le bouton droit sur la page Web et en sélectionnant Remove this application….

Paramètres OOB

Bien que nous n'ayons dû modifier qu'un seul paramètre pour activer le fonctionnement hors navigateur, en pratique, vous voudrez normalement faire un peu plus que cela. leAppManifest.xaml le fichier peut contenir plusieurs paramètres liés à out-of-browser opération, que nous configurons généralement via Visual Studio.

Comme vous l'avez peut-être remarqué, lorsque vous avez coché la case pour activer running out-ofbrowser, Visual Studio a activé un bouton intitulé Out-of-Browser Settings.

Jetons-y un coup d'œil en cliquant sur le bouton. Il produira la boîte de dialogue suivante.

  • La première chose que nous pouvons configurer est le texte qui apparaît comme Window Title.

  • Nous avons également la possibilité de corriger les dimensions et les emplacements des fenêtres, mais nous les laisserons automatiquement pour le moment.

  • Ce nom de raccourci apparaît dans le Start et le lien Bureau de l'application une fois qu'elle est installée.

  • C'est également le texte qui apparaît dans le menu contextuel et la boîte de dialogue d'installation de l'application.

  • Cette description de l'application apparaît dans l'info-bulle lorsque je survole les raccourcis.

  • Nous arrivons à fournir des icônes de différentes tailles. Ceux-ci doivent être intégrés à votre projet.