Silverlight Nasıl Çalışır?

World Wide Web’e göz atmak, 1990’ların başından beri çok değişti. O zamanlar, çoğu web sayfası statik metin, birkaç görüntü ve ara sıra dönen (ve çoğu zaman rahatsız edici) MIDI ses dosyasından oluşuyordu . Ancak Web yıllar içinde daha karmaşık bir hale geldi. Bugün, , animasyon, ses ve etkileşimli özellikleri içeren Web sitelerini ziyaret edebilirsiniz. En gelişmiş Web siteleri ile neredeyse bir filme çekilmek gibi. Ancak, bu yeni özellikleri oluşturmak, görüntülemek ve etkileşimde bulunmak için programcılar yeni uygulamalar oluşturmak zorunda kaldılar. Bu uygulamalardan biri Microsoft'un programı Silverlight .

Silverlight kolay bir açıklamaya meydan okuyor. Birçok açıdan, Adobe Flash'a benzer. Silverlight, geliştiricilerin ve kullanıcıların bir istemci indirmesini gerektirir - Web tarayıcıları, bu yükleme olmadan Silverlight içeriğini işleyemez. Web geliştiricilerine, akışlı , ses ve animasyonu Web sayfalarına dahil etme yeteneği verir . Programcılar, Silverlight teknolojisini kullanarak karmaşık, kullanıcı etkileşimli Web uygulamaları oluşturabilir. World Wide Web'de, bu uygulamaların özel bir adı vardır: Zengin İnternet Uygulamaları ( RIA s).

RIA'lar daha karmaşık hale geldikçe, masaüstü uygulamaları arasındaki fark - sabit diskinizde yaşayan programlar - ve Web tabanlı programlar kaybolmaya başlar. Web tarayıcıları, veri işleme ve depolama ihtiyaçlarımızı sağlamak için İnternet'i kullandığımızdan, tam olarak Web tabanlı işletim sistemlerine dönüşebilir . İnternetten bu şekilde yararlanmaya, bulut bilişimi denir - programlar ve veriler internetin "bulutunda" bireysel bir kullanıcının makinesinde değil de yaşar.

Silverlight, programcıların daha iyi RIA oluşturmasına yardımcı olmak için tasarlanmış düzinelerce araçtan sadece bir tanesidir. Microsoft mühendisleri Silverlight'ı diğer Microsoft projelerinin bir uzantısı olarak oluşturdular, ancak uygulamanın kendisi kendi başına duruyor. Microsoft, Silverlight'ı çapraz platform, çapraz tarayıcı teknolojisi olarak tanıtmaktadır. Bu, Silverlight uygulamalarının bilgisayarlarda veya Mac bilgisayarlarda ve Internet Explorer , Firefox veya Safari gibi tarayıcılarda çalışması gerektiği anlamına gelir . Silverlight yakında Linux bilgisayarlarıyla da çalışmalı - Mono adında bir açık kaynak projesi, bir Linux sürümü oluşturma çabasına öncülük ediyor .

Silverlight genç bir teknoloji olmasına rağmen, sorun ya da tartışma için yabancı değil. Bazı geliştiriciler ve kullanıcılar, çalışmak için indirilebilir bir eklenti gerektiren başka bir Web teknolojisine meraklı değiller. Ve 2008 Pekin Olimpiyatları sırasında NBC ile bir ortaklık, Microsoft'un umduğu kadar fazla vızıltı oluşturmamış olabilir.

Ama tüm bunlara girmeden önce, Silverlight'ın kaputunun altına daha yakından bakalım.

Silverlight'la ilgili en zor şeylerden biri, bu yazıdan itibaren iki versiyonun var: Silverlight 1 ve Silverlight 2 Beta. Silverlight 1, javascript programlama dilinde yazılmış uygulamaları destekler . Silverlight 2'nin beta sürümü, C # ("c sharp" olarak telaffuz edilir) ve Visual Basic gibi ek programlama dillerini destekler . Silverlight'ın her iki sürümü de .NET çerçevesinde çalışır .

Peki, .NET nedir? Microsoft'tan başka bir ürün . .NET framework bir programlama modelidir. Programcılar bu modelde uygulamalar oluşturabilirler - özellikle de eXtensible Markup Language ( XML ) kullanan Web uygulamaları .

.NET Framework'ün iki ana bileşeni ortak bir dil çalışma zamanı ve bir sınıf kitaplığıdır . Ortak dil çalışma zamanı bir yönetici gibi davranır - uygulamaları izler ve gereken uygulamaların (bellek veya işlem gücü gibi) düzgün çalışması için tahsis eder. Sınıf kütüphanesi, uygulama oluştururken programcıların güvenebileceği çok sayıda yeniden kullanılabilir yazılım nesnesi içerir . Bir yazılım nesnesinin iki özelliği vardır: durum ve davranış. Bir nesnenin durumu, nesnenin sahip olabileceği farklı koşullara karşılık gelir. Örneğin, bir program "koşma", "duraklatıldı" ve "durduruldu" durumlarına sahip olabilir (hepsi aynı anda olmasa bile). Davranışlar, bir nesnenin neler yapabileceğini gösterir. Örneğimizde, bu "başlangıç", "duraklama" ve "son" u içerir.

Ve bu sadece Silverlight'ı çevreleyen çerçeve! Silverlight içinde Microsoft, Windows Presentation Foundation ( WPF ) teknolojisini ve eXtensible Application Markup Language ( XAML ) desteğini içerir . Uygulama geliştiricileri Web uygulamaları oluşturmak için WPF ve XAML'yi kullanabilir. Hem WPF hem de XAML, .NET çerçevesi içinde sorunsuz bir şekilde çalışır. Microsoft, Hypertext Markup Language ( HTML ) kısıtlamaları bulunduğundan WPF'yi geliştirdi. Web tarayıcıları, HTML'nin desteklenmesi için çok karmaşık işlevler yürütebilmektedir.

WPF, uygulamalar için grafik oluşturmak amacıyla vektör tabanlı bir oluşturma motoru kullanır. 2-D ve 3-D grafikleri destekleyebilir ve geliştiricilere .NET içinde çalışarak uygulamalarını güçlendirme olanağı sağlar. XAML'ın temel amacı, geliştiricilere, uygulamalarının görünümünü düzeltmek için araçlar sağlamaktır. WPF ve XAML birlikte bir Silverlight uygulamasının görünümünü ve davranışını tanımlar.

WPF ve XAML, bir uygulamanın nasıl göründüğünü ve nasıl davranacağını belirlerken, programcılar uygulamaları oluşturmak için diğer bilgisayar dillerini kullanırlar. Silverlight 1 yalnızca javascript'i desteklerken , Silverlight 2'nin beta sürümü birkaç dinamik dili desteklemektedir . Programcılar, .NET çerçevesinde çalışırken uygulamalarını bu dilleri kullanarak oluşturur ve uygulamayı Web gözatma deneyimine entegre etmek için WPF ve XAML kullanır. Tüm Silverlight uygulamaları bir Web tarayıcısında çalışır.

Silverlight platformunun mimarisine bir bakalım, bu elemanların hepsi birlikte çalışarak, programcılara RIA oluşturmak için ihtiyaç duydukları platformu sunacak.


Tüm yazılımlar gibi, Silverlight platformunda mimarlık denilen özel bir işlevler ve özellikler vardır . Bir programın mimarisi, programın nasıl çalıştığı konusunda size çok şey söyleyebilir. Görevleri mantıksal olarak birlikte gruplandırır ve bir programın farklı bölümlerinin genel hizmeti sağlamak için birlikte nasıl çalıştığını gösterir. Microsoft'un Silverlight ile hedefi, yeni nesil Web tabanlı uygulamalar için güçlü ama basit bir platform oluşturmaktır.

Microsoft , Silverlight platformunun mimarisini ek bir yükleyici ve güncelleme öğesiyle iki ana bileşene ayırır. İki ana bileşen, bir çekirdek sunum çerçevesi ve Silverlight için .NET framework'ü içerir. Sırayla bakalım.

Çekirdek sunum çerçevesi aşağıdakileri içerir:

Bir uygulama içinde tüm grafik, animasyon ve metni oluşturan bir kullanıcı arabirimi ( UI ) oluşturma motoru
Kullanıcı girişini klavye , fare ve dijital tablet gibi cihazlardan yöneten bir giriş arayüzü
Birkaç ses ve dosya formatını destekleyen bir medya motoru
Geliştiricilerin uygulamalarında medya üzerinde kontrolü sürdürmelerini sağlayan bir dijital haklar yönetimi öğesi
Özelleştirilebilir uygulama kontrolleri için destek
Dinamik UI düzenleri için destek - bu özellik, geliştiricilerin bir uygulamanın UI görünümünü gerçek zamanlı olarak değiştirmesine izin verir
Veri bağlama desteği - UI öğelerini bir uygulama içindeki veri nesnelerine bağlama
XAML için bir ayrıştırıcı
.NET Framework aşağıdaki özelliklere sahiptir:

Destek Language-Integrated Query ( LINQ ) özellikleri - LINQ geliştiriciler farklı kaynaklardan gelen verileri entegre etmelerine olanak
Kriptografi gibi temel programlama işlevlerini destekleyen bir temel sınıf kütüphanesi
Bir uygulamanın uzaktan veri ve servislere erişmesini kolaylaştırmak için tasarlanan Pencere İletişim Vakfı ( WCF ) adı verilen bir özellikler paketi.
Windows Presentation Foundation (WPF)
Dinamik Dil Çalışma Zamanı ( DLR ), çeşitli programlama dillerinde yazılmış uygulamaları destekleyen öğe
Ortak dil çalışma zamanı ( CLR ), bellek yönetimi ve diğer kritik işlevleri işleyen bileşen
Sunum çekirdeği ve .NET Framework, öncelikle XAML aracılığıyla birbiriyle etkileşime girer. Bir şekilde, XAML iki bileşen arasında bir köprü görevi görür. Kurulum ve güncelleyici eleman oldukça açıklayıcıdır. Bir uygulamanın ilk kurulumunu kullanıcı için mümkün olduğunca yumuşak hale getirmesi gerekiyordu. Ayrıca otomatik uygulama güncellemeleri için bir çerçeve sunar.

Ayrıca, Silverlight'ın geliştiricilerin DEA oluşturmasına yardımcı olan birkaç diğer özelliği vardır. Bu işlevlerin çoğu veri güvenliği ve uygulama yönetimine odaklanır. Dosya yönetim özellikleri, izole bir depolama fonksiyonu ve XML kütüphaneleri vardır.

Ardından, Silverlight geliştiricilerinin geliştirebileceği uygulama türlerine bakacağız.

Silverlight'ın uygulamaları neredeyse sınırsız. Silverlight'ın araçları, geliştiricilerin, faydacı cihazlardan zorlu oyunlarına kadar uzanan Web tabanlı programlar oluşturmasına olanak tanır . Silverlight hala nispeten genç bir programlama platformu olmasına rağmen, Web'de zaten mevcut olan düzinelerce uygulama var.

Geliştiricilerin akış medya oynatıcıları oluşturmak için Silverlight kullanması şaşırtıcı değil. Medya oynatıcılar, Flash medya oynatıcılarına benzer: YouTube gibi Web siteleri tarafından kullanılan uygulamalar . Bu programlar İnternet'ten bir kullanıcının tarayıcısına ve müzik akışı sağlar . Silverlight, geliştiricilerin belirli içerik sağlayan temalı oynatıcıları oluşturmasına olanak tanır. Örneğin, Futbol Mexicano Silverlight uygulaması, Meksikalı futbol oyunlarının larını kullanıcılara akıtır. Ancak Silverlight, oynatmaktan daha fazlasını yapabilir.

Silverlight uygulamaları, kahraman çubukları gibi nispeten basit olabilir . Kahraman çubukları, Web sitesinde daha derinlerde bulunan içeriklere ve bağlantılara sahip web banner'larıdır. Geliştiriciler, bir RSS beslemesinden bilgi ve bağlantı alabilen bir kahraman çubuğu oluşturmak için Silverlight'ı kullanabilir . Web yöneticisi, siteye yeni içerik ekledikçe kahraman çubuğu kendini günceller.

Programcılar, diğer Web hizmetleriyle etkileşimde bulunmak için Silverlight'ı da kullanabilir. Twitterlight, Twitter mikroblog servisine giren bir Silverlight uygulamasıdır . Twitterlight ile kullanıcılar bireysel Twitter yayınlarına erişebilir ve yeni mesajlar gönderebilir.

eamLive çevrimiçi verimlilik yazılımı uygulaması, Silverlight kullanıcılarının proje üzerinde birlikte çalışmasına izin verir. TeamLive, kullanıcılara uygulamaların veya Web sitelerinin ekran görüntülerini alma ve bunları diğer kullanıcılarla paylaşma yeteneği sağlar. Bu, ekip üyeleri arasında farklı yerlerde daha kolay işbirliği yapar. Ekip, sorunları düzeltmek veya tasarımları düzene koymak için gerçek zamanlı olarak birlikte çalışabilir.

Silverlight üzerinde çalışan oyunlar, basit ve sürükleyici maceralardan farklı olabilir. Örneğin, Silverlight formundaki Hangman gibi geleneksel oyunları bulabilirsiniz, ancak uzay temalı bir macera oyunu olan Sıfır Yerçekimi gibi arcade tarzı oyunlar da bulabilirsiniz. Flash gibi, Silverlight da geliştiricilere, kullanıcıların bir Web tarayıcısı üzerinden erişebilecekleri sağlam oyun deneyimleri oluşturmak için gerekli kaynakları sağlar.

Bu uygulamalar buzdağının sadece görünen kısmı. Web daha sofistike hale geldikçe ve insanlar daha fazla bant genişliğine eriştiğinde, kullanıcılar göz atma deneyimlerinden daha fazlasını talep edecekler. Haber, eğlence ve üretkenlik uygulamaları için giderek artan sayıda insan İnternet'e yöneliyor. Geliştiriciler, tüketici talebini karşılamak için Silverlight gibi araçları kullanacaklar.

Silverlight, daha geleneksel medya ile birkaç stratejik ortaklıktan büyük bir sıçrama yaptı. Bir sonraki bölümde bu ilişkilere daha yakından bakacağız.

Bill Gates, 2008 Tüketici Elektroniği Vitrini'nde (CES) ana konuşmacı olarak yer aldı . Konuşma, son CES sunumunu Microsoft'un başkanı olarak belirledi. O akşam, Bay Gates birçok yeni Microsoft projesini, ürün ve hizmetini açıkladı. Bunlar arasında ABD'de Olimpiyatları çevrimiçi yayınlamak için NBC ile bir ortaklık vardı .

NBC , Amerika Birleşik Devletleri'ndeki Olimpiyatları yayınlamak için televizyon haklarını zaten almıştı . Geleneksel televizyon yayınlarına ek olarak, Microsoft ile birlikte NBC, İnternet sitesinde çevrimiçi olarak Olimpiyat kapsamı sunmuştur. Ziyaretçilerin yu izlemek için bilgisayarlarına Silverlight'ı indirip yüklemeleri gerekiyordu. Bazı teknoloji gazetecileri kararı sorguladılar - Silverlight güçlü bir platformken, Adobe Flash pazarda daha büyük bir varlığa sahip. Çoğu PC’de Flash var ve nispeten az sayıda kişi Silverlight’ı indirmişti. Bazı gazetecilere NBC'nin riskli bir deney yaptığını düşünüyor gibiydi.

Eşleştirme başarılı mıydı? Bu hikayeyi kimin söylediğine bağlı. New York Times gazetesindeki bir makaleye göre, NBC'nin Olimpiyatları Web sitesi, Olimpiyatlar sırasında [kaynak: Stelter ] boyunca izleyicilere 72 milyondan fazla akışı sağladı . Ancak TechCrunch gibi bloglar , Olimpiyatları kapsayan diğer sitelerin - hiç içermeyen sitelerin - NBC'nin sitesinden daha fazla ziyaretçiye sahip olduğunu iddia ediyorlar [kaynak: Schonfeld ]. Bazı bloglarda, reklamverenlerin NBC'nin çevrimiçi performansından memnun olmadığına dair söylentiler de bildirildi.

Şirket, Adobe Flash'ı akış platformu olarak seçmiş olsaydı, NBC'nin daha fazla çevrimiçi görüntüleyicisi olabilirdi . Ya da, NBC'nin internette yayın yapan olayları sınırlandırmamış olması durumunda, oyunları internette daha fazla kişi izleyebilirdi. Ancak bazıları denemeyi hayal kırıklığına uğratsa bile, Microsoft milyonlarca insanın Silverlight'ı indirdiğini biliyor. Microsoft'un kitabında, bu bir kazanma sayar.

Microsoft, ABD'deki diğer büyük isimlerle ortaklıklar kurmuştur. 2007'nin sonlarında, Major League Baseball'ın oynatıcısı Silverlight'a geçti. CBS, şirket tarafından oluşturulan içerik için etkileşimli bir Web platformu oluşturduğunda Silverlight'ı seçti. Ve Ulusal Basketbol Derneği de çevrimiçi medya oynatıcı için Silverlight'ı seçti.

Silverlight bir sonraki büyük İnternet standardı olacak mı? Hala söylemek için çok erken. Adobe Flash'dan daha sağlam olduğunu iddia edebilirsiniz, ancak daha sonra Flash'ın piyasada daha derin bir penetrasyonu vardır. En nihayetinde, hangi teknolojinin en üstte ortaya çıktığı, kullanıcılara istedikleri şeyi sunacaktır: sürükleyici bir Web tarama deneyimi.

Yorum ekle

Yazarın eklediği makalelere yapacağınız yorum, kendisi için iyi bir geri dönüş olacaktır.

Okunamayan kodu yenilemek için resmin üstüne tıklayınız