Silverlight - aplikacje spoza przeglądarki

Teraz zamierzamy zbadać obsługę Silverlight dla aplikacji, które można zainstalować na komputerze użytkownika końcowego, aby działały poza przeglądarką internetową, tak jak zwykła aplikacja Windows. Istnieją trzy główne powody, dla których możesz chcieć, aby aplikacja działała poza przeglądarką -

  • Interaction
  • Offline
  • Podwyższone zaufanie

Interakcja

Może umożliwić lepsze projektowanie interakcji. Model nawigacji w Internecie nie jest szczególnie odpowiedni dla niektórych aplikacji. Na przykład pasek adresu i przycisk Wstecz mogą być stratą miejsca i bezużyteczne.

Znaczenie Silverlight tutaj jest podane poniżej -

  • Aplikacje internetowe mogą korzystać z technologii po stronie klienta, takich jak Silverlight, Flash lub AJAX, aby zapewniać ciągłe aktualizacje pojedynczej strony, być może eliminując potrzebę przechodzenia do innych stron.

  • W niektórych aplikacjach użytkownik może spędzić wiele minut, a nawet godzin na tym, co przeglądarka uważa za pojedynczą stronę.

  • W przypadku tego rodzaju aplikacji Back może skończyć się dość zaskakującym efektem wyjścia z aplikacji, ponieważ zrzuci cię z powrotem na stronę, na której byłeś przed wejściem do aplikacji.

  • Wyraźnie widać, że aplikacje inne niż internetowe są zwykle lepiej obsługiwane po wyrzuceniu przeglądarki, ponieważ to usuwa przeglądarkę Chrome. Ogólnie rzecz biorąc, użyteczność nie jest jedynym powodem braku przeglądarki.

Offline

Innym powodem korzystania z tej funkcji jest włączenie wykonywania w trybie offline. Gdy aplikacja Silverlight jest instalowana do działania poza przeglądarką, jest kopiowana do repozytorium na użytkownika na komputerze lokalnym i staje się dostępna za pośrednictwem zwykłych mechanizmów systemu operacyjnego do uruchamiania aplikacji, takich jak na przykład menu Start w systemie Windows.

  • Aplikacja będzie wtedy dostępna, nawet jeśli użytkownik nie ma połączenia z Internetem.

  • Oczywiście jest to przydatne tylko w przypadku aplikacji, które nie są całkowicie zależne od informacji po stronie serwera.

  • Na przykład aplikacja do automatycznego śledzenia dla usługi dostarczania paczek nie byłaby zbyt użyteczna bez połączenia sieciowego.

  • W przypadku niektórych aplikacji bardzo pomocna jest możliwość kontynuowania pracy w przypadku sporadycznych awarii łączności.

Podwyższone zaufanie

Wersja 4 programu Silverlight dodała obsługę zaufanych aplikacji. Bezpieczna piaskownica Silverlight zwykle blokuje pewne uprzywilejowane operacje, takie jak dostęp do plików użytkownika.

Jednak aplikacja spoza przeglądarki może zażądać podniesienia uprawnień. Jeśli użytkownik zgodzi się na to żądanie, aplikacja będzie w stanie wykonać więcej czynności, które będzie mogła wykonać każda normalna aplikacja systemu Windows, na przykład korzystać z automatyzacji COM lub dostosowywać obramowanie okna.

Aplikacje działające w przeglądarce nigdy nie są zaufane, więc jeśli chcesz korzystać z tych funkcji, musisz napisać aplikację spoza przeglądarki.

Włączanie OOB

Jak napisać aplikację spoza przeglądarki? To bardzo łatwe. Musimy zmienić pojedyncze ustawienie we właściwościach projektu Silverlight i po prostu dodaje odpowiednie ustawienie doAppManifest.xaml.

Zobaczmy, jak to działa.

  • Kiedy manifest wskazuje, że obsługiwane jest wykonywanie poza przeglądarką, nie ma to początkowego efektu. Aplikacja będzie działać w przeglądarce jak zwykle.

  • Jeśli jednak użytkownik kliknie prawym przyciskiem myszy, standardowy plik Silverlight ContextMenu oferuje dodatkowy element do zainstalowania aplikacji na komputerze.

  • Jeśli użytkownik wybierze tę pozycję, pojawi się okno dialogowe z prośbą o potwierdzenie. Pyta również, czy aplikacja powinna być dostępna z menu Start, pulpitu lub obu.

  • Nie musisz polegać na menu kontekstowym. Możesz również zaoferować przycisk, który użytkownik może kliknąć, aby zainstalować aplikację, ponieważ istnieje API, które możesz wywołać, aby zainicjować instalację.

  • Po programowym uruchomieniu instalacji użytkownik nadal widzi okno dialogowe. Nie możesz zainstalować aplikacji bez zgody użytkownika.

Aplikacja Silverlight

Oto bardzo prosta aplikacja Silverlight. Poniżej podano jego kod 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 - Aby włączyć wykonywanie poza przeglądarką, przejdź do projektu Propertiesi kliknij kartę Silverlight. Wszystko, co musimy zrobić, to - sprawdźEnable running application out of the browser pole wyboru.

Jeśli uruchomisz tę aplikację, zauważysz, że w ogóle nie otrzymasz przeglądarki internetowej.

W rzeczywistości program Visual Studio podjął decyzję w Twoim imieniu. Po włączeniuout-of-browser wykonanie, niesprawiedliwie zmieniło ustawienia debugowania.

Step 2 - Więc tutaj w Solution Explorerzwróć uwagę, że projekt Silverlight jest teraz pogrubiony, co oznacza, że ​​jest to projekt startowy.

Wcześniej tak nie było. To był projekt internetowy. W tej chwili tego nie chcemy, ponieważ chcemy pokazać, jak to pole wyboru zmienia rzeczy dla użytkownika końcowego.

Step 3 - Ustawimy projekt sieciowy z powrotem jako projekt startowy.

Step 4 - Uruchom aplikację ponownie, a zobaczysz, że aplikacja wróciła teraz do przeglądarki.

Step 5- Kliknij prawym przyciskiem myszy stronę internetową. Zauważysz zwykły wpis Silverlight w menu kontekstowym i dodatkowy element do zainstalowania.

Step 6 - Po wybraniu drugiej opcji pojawi się okno dialogowe Zainstaluj aplikację, jak pokazano poniżej.

Zauważ, że pokazuje główny adres URL witryny, z której pochodzi aplikacja. Używamy lokalnego serwera internetowego do debugowania dostarczonego przez Visual Studio, dlatego mówi on localhost.

Step 7 - Kliknij OK, a aplikacja działa w swoim własnym oknie niezależnie od przeglądarki.

Naturalne może być myślenie, że to okno jest w jakiś sposób własnością przeglądarki lub jest z nią połączone, ale tak nie jest. Możesz zamknąć przeglądarkę, a to okno pozostanie. Co ważniejsze, możesz zamknąć to okno, a następnie ponownie uruchomić aplikację bez korzystania w ogóle z przeglądarki.

Step 8 - Jeśli otworzysz plik Search okno dialogowe w Start menu i zacznij wpisywać nazwę aplikacji, pojawi się tak, jak każda normalna aplikacja Windows.

Step 9 - Możesz go uruchomić bez widoczności przeglądarki.

Aby odinstalować aplikację

Domyślne menu kontekstowe w aplikacji zapewnia łatwy sposób na zrobienie tego. Użytkownik może rozsądnie oczekiwać, że odinstaluje to w taki sam sposób, jak każdą inną aplikację.

Możesz również usunąć, klikając prawym przyciskiem myszy stronę internetową i wybierając Remove this application….

Ustawienia OOB

Chociaż musieliśmy zmienić tylko jedno ustawienie, aby umożliwić działanie poza przeglądarką, w praktyce zwykle będziesz chciał zrobić trochę więcej. PlikAppManifest.xaml plik może zawierać kilka ustawień związanych z out-of-browser operacja, którą zwykle konfigurujemy za pomocą programu Visual Studio.

Jak być może zauważyłeś, po zaznaczeniu pola wyboru, aby włączyć running out-ofbrowser, Visual Studio włączyło przycisk z etykietą Out-of-Browser Settings.

Przyjrzyjmy się temu, klikając przycisk. Spowoduje to wyświetlenie następującego okna dialogowego.

  • Pierwszą rzeczą, jaką możemy skonfigurować, jest tekst, który pojawia się jako Window Title.

  • Mamy również możliwość ustalenia wymiarów i lokalizacji okien, ale na razie pozostawimy je automatycznie.

  • Ta nazwa skrótu pojawia się w Start menu i łącze Pulpit do aplikacji po jej zainstalowaniu.

  • Jest to również tekst, który pojawia się w menu kontekstowym i oknie dialogowym instalacji aplikacji.

  • Ten opis aplikacji pojawia się w podpowiedzi po najechaniu kursorem na skróty.

  • Dostarczamy ikony w różnych rozmiarach. Muszą być one wbudowane w Twój projekt.