Silverlight - Tarayıcı Dışı Uygulamalar

Şimdi, normal bir Windows uygulaması gibi web tarayıcısının dışında çalıştırmak için son kullanıcının makinesine yüklenebilen uygulamalar için Silverlight desteğini keşfedeceğiz. Uygulamanızın tarayıcı dışında çalışmasını istemenizin üç ana nedeni vardır:

  • Interaction
  • Offline
  • Artan Güven

Etkileşim

Daha iyi etkileşim tasarımı sağlayabilir. Web'in bir gezinme modeli, bazı uygulamalar için özellikle uygun değildir. Örneğin, Adres çubuğu ve Geri düğmesi alan kaybı ve işe yaramaz olabilir.

Silverlight'ın buradaki önemi aşağıda verilmiştir -

  • Web uygulamaları, tek bir sayfada sürekli güncellemeler sağlamak için Silverlight, Flash veya AJAX gibi istemci tarafı teknolojileri kullanabilir ve belki de diğer sayfalara gitme ihtiyacını ortadan kaldırabilir.

  • Bazı uygulamalarda, bir kullanıcı tarayıcının tek bir sayfa olarak gördüğü şey üzerinde dakikalar, hatta saatler geçirebilir.

  • Bu tür bir uygulama için, Back düğmesi, uygulamadan çıkmanın oldukça şaşırtıcı bir etkisine sahip olabilir çünkü sizi uygulamaya girmeden önce hangi sayfada olduğunuza göre geri atacaktır.

  • Belirgin bir şekilde, web benzeri olmayan uygulamalar genellikle tarayıcının tükenmesiyle daha iyi sunulur, çünkü bu tarayıcı Chrome'dan kurtulur. Genel olarak, tarayıcının tükenmesinin tek nedeni kullanılabilirlik değildir.

Çevrimdışı

Bu özelliği kullanmanın bir başka nedeni de çevrimdışı yürütmeyi etkinleştirmektir. Tarayıcı dışı işlem için bir Silverlight uygulaması yüklendiğinde, yerel makinedeki kullanıcı başına bir havuza kopyalanır ve örneğin Windows'ta Başlat menüsü gibi uygulamaları başlatmak için olağan işletim sistemi mekanizmaları aracılığıyla kullanılabilir hale gelir.

  • Uygulama, kullanıcının internet bağlantısına sahip olmasa bile kullanılabilir olacaktır.

  • Açıkçası, bu yalnızca tamamen sunucu tarafı bilgilerine bağlı olmayan uygulamalar için yararlıdır.

  • Örneğin, bir paket teslimat hizmeti için bir otomatik izleme uygulaması, ağ bağlantısı olmadan pek bir işe yaramayacaktır.

  • Bazı uygulamalar için, ara sıra meydana gelen bağlantı hataları sırasında çalışmaya devam etme yeteneği çok yararlıdır.

Artan Güven

Silverlight'ın sürüm 4, güvenilir uygulamalar için destek ekledi. Silverlight'ın güvenlik sanal alanı, normalde kullanıcının dosyalarına erişim gibi belirli ayrıcalıklı işlemleri engeller.

Ancak, tarayıcı dışı bir uygulama yükseltme isteyebilir. Kullanıcı bu isteği kabul ederse, uygulama, COM Otomasyonunun kullanılması veya pencere kenarının özelleştirilmesi gibi herhangi bir normal Windows uygulamasının yapabileceği türden daha fazla işi yapabilir.

Tarayıcının içinde çalışan uygulamalara asla güvenilmez, bu nedenle bu özellikleri kullanmak istiyorsanız bir tarayıcı dışı uygulama yazmanız gerekir.

OOB'yi etkinleştirme

Tarayıcı dışı bir uygulamayı nasıl yazabiliriz? Bu çok kolay. Silverlight'ın proje özelliklerinde tek bir ayarı değiştirmemiz gerekiyor ve bu, yalnızca uygun bir ayar ekliyor.AppManifest.xaml.

Nasıl çalıştığını görelim.

  • Bildiriminiz, tarayıcı dışı yürütmenin desteklendiğini gösterdiğinde, bunun ilk etkisi yoktur. Uygulama her zamanki gibi tarayıcıda çalışacaktır.

  • Ancak, kullanıcı sağ tıklarsa, standart Silverlight ContextMenu uygulamayı bilgisayara yüklemek için fazladan bir öğe sunar.

  • Kullanıcı bu öğeyi seçerse, onay isteyen bir iletişim kutusu görüntülenir. Ayrıca, uygulamaya Başlat menüsünden mi, Masaüstü'nden mi yoksa her ikisinden mi erişilebileceğini sorar.

  • Bağlam menüsüne güvenmek zorunda değilsiniz. Ayrıca, kullanıcının uygulamayı yüklemek için tıklayabileceği bir düğme de sunabilirsiniz, çünkü bir API vardır, kurulumu başlatmak için çağırabilirsiniz.

  • Kurulumu programlı olarak başlattığınızda, kullanıcı yine de iletişim kutusunu görür. Uygulamanızı kullanıcının izni olmadan yükleyemezsiniz.

Silverlight Uygulaması

İşte çok basit bir Silverlight uygulaması. Aşağıda verilen XAML kodudur.

<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 - Tarayıcı dışı yürütmeyi etkinleştirmek için projenin Propertiesve Silverlight sekmesine tıklayın. Tek yapmamız gereken - kontrol etmekEnable running application out of the browser onay kutusu.

Bu uygulamayı çalıştırırsanız, bir web tarayıcısı almayacağınızı fark edeceksiniz.

Aslında, Visual Studio sizin adınıza bir karar verdi. Etkinleştirdiğinizdeout-of-browser yürütme, hata ayıklama ayarlarınızı haksız bir şekilde değiştirdi.

Step 2 - İşte burada Solution Explorer, Silverlight projesinin artık bir başlangıç ​​projesi olduğunu gösteren kalın yazı tipine sahip olduğuna dikkat edin.

Daha önce durum böyle değildi. Web projesi olmuştu. Şu anda bunu istemiyoruz çünkü bu onay kutusunun son kullanıcı için işleri nasıl değiştirdiğini göstermek istiyoruz.

Step 3 - Web projesini Başlangıç ​​Projesi olarak geri alacağız.

Step 4 - Uygulamayı tekrar çalıştırın ve uygulamanın tarayıcıya geri döndüğünü göreceksiniz.

Step 5- Web sayfasını sağ tıklayın. Bağlam menüsünde normal Silverlight girişini ve yüklenecek fazladan bir öğeyi göreceksiniz.

Step 6 - İkinci seçeneği seçtiğinizde, aşağıda gösterildiği gibi Uygulamayı yükle iletişim kutusu belirir.

Uygulamanın geldiği web sitesinin kök URL'sini gösterdiğine dikkat edin. Visual Studio tarafından sağlanan yerel hata ayıklama web sunucusunu kullanıyoruz, bu yüzden localhost diyor.

Step 7 - Tıklayın OKve uygulama, tarayıcıdan ayrı olarak kendi penceresinde çalışır.

Bu pencerenin bir şekilde tarayıcıya ait olduğunu veya tarayıcıya bağlı olduğunu düşünmek doğal olabilir, ancak değildir. Tarayıcıyı kapatabilirsiniz ve bu pencere etrafta kalır. Daha da önemlisi, bu pencereyi kapatabilir ve ardından tarayıcıyı kullanmadan uygulamayı yeniden çalıştırabilirsiniz.

Step 8 - Açarsanız Search iletişim kutusu Start menüsüne girin ve uygulama adını yazmaya başlayın, tıpkı normal Windows uygulamalarının yaptığı gibi görünür.

Step 9 - Tarayıcı görünürde herhangi bir yerde olmadan çalıştırabilirsiniz.

Uygulamayı kaldırmak için

Uygulamadaki varsayılan içerik menüsü, bunu yapmak için kolay bir yol sağlar. Bir kullanıcı makul olarak bunu, diğer herhangi bir uygulamayla aynı şekilde kaldırmayı bekleyebilir.

Ayrıca, web sayfasını sağ tıklayıp öğesini seçerek kaldırabilirsiniz. Remove this application….

OOB Ayarları

Tarayıcı dışı çalışmayı etkinleştirmek için yalnızca tek bir ayarı değiştirmemiz gerekmesine rağmen, pratikte normalde bundan biraz daha fazlasını yapmak isteyeceksiniz. AppManifest.xaml dosya ile ilgili çeşitli ayarlar bulunabilir out-of-browser Genellikle Visual Studio aracılığıyla yapılandırdığımız işlem.

Fark etmiş olabileceğiniz gibi, etkinleştirmek için onay kutusunu işaretlediğinizde running out-ofbrowser, Visual Studio etiketli bir düğmeyi etkinleştirdi Out-of-Browser Settings.

Düğmeye tıklayarak bir göz atalım. Aşağıdaki iletişim kutusunu oluşturacaktır.

  • Yapılandırabileceğimiz ilk şey, Window Title.

  • Ayrıca pencere boyutlarını ve konumlarını düzeltme seçeneğimiz var, ancak bunları şimdilik otomatik olarak bırakacağız.

  • Bu Kısayol adı, Start menüsü ve yüklendikten sonra uygulamanın Masaüstü bağlantısı.

  • Aynı zamanda bağlam menüsünde ve uygulama yükleme iletişim kutusunda görünen metindir.

  • Bu Uygulama açıklaması, kısayolların üzerine geldiğimde araç ipucunda beliriyor.

  • Çeşitli boyutlarda simgeler sağlıyoruz. Bunların projenize dahil edilmesi gerekir.