Silverlight Nasıl Çalışır?

Sep 22 2008
Amerikan yayın ağı NBC, 2008 Yaz Olimpiyat Oyunlarını çevrimiçi yayınlamak için Microsoft Silverlight'ı seçti. Adobe Flash'ı yenebilir ve yeni bir standart belirleyebilir mi?
Bill Gates Resim Galerisi Bill Gates, 2008 Tüketici Elektroniği Vitrini'nde Silverlight hakkında konuşuyor. Daha fazla Bill Gates resmine bakın.

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

Silverlight kolay açıklamaya meydan okuyor. Birçok yönden Adobe Flash'a benzer. Silverlight, geliştiricilerin ve kullanıcıların bir istemci indirmesini gerektirir - Web tarayıcıları, bu indirme olmadan Silverlight içeriğini işleyemez. Web geliştiricilerine, akışlı video , 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 lar).

RIA'lar daha karmaşık hale geldikçe, masaüstü uygulamaları (sabit diskinizde yaşayan programlar) ile Web tabanlı programlar arasındaki fark kaybolmaya başlar. İnterneti veri işleme ve depolama ihtiyaçlarımızı karşılamak için kullandığımızdan, web tarayıcıları sonunda tam teşekküllü Web tabanlı işletim sistemlerine dönüşebilir . İnternetten bu şekilde yararlanmaya bulut bilişim denir - programlar ve veriler, bireysel bir kullanıcının makinesi yerine İnternet'in "bulutunda" yaşar.

Silverlight, programcıların daha iyi RIA'lar oluşturmasına yardımcı olmak için tasarlanmış düzinelerce araçtan yalnızca biridir. Microsoft mühendisleri, Silverlight'ı diğer Microsoft projelerinin bir uzantısı olarak oluşturdu, ancak uygulamanın kendisi kendi başına duruyor. Microsoft, Silverlight'ı platformlar arası, tarayıcılar arası bir teknoloji olarak tanıtmaktadır. Bu, Silverlight uygulamalarının PC'lerde veya Mac bilgisayarlarda ve Internet Explorer , Firefox veya Safari gibi tarayıcılarda çalışması gerektiği anlamına gelir. Silverlight yakında Linux bilgisayarlarla da çalışacak - Mono adlı açık kaynaklı bir proje, bir Linux sürümü oluşturma çabalarına öncülük ediyor.

Silverlight genç bir teknoloji olmasına rağmen, belaya veya tartışmalara yabancı değil. Bazı geliştiriciler ve kullanıcılar, çalışması için indirilebilir bir eklenti gerektiren başka bir Web teknolojisine henüz hevesli değil. Ve 2008 Pekin Olimpiyatları sırasında NBC ile bir ortaklık, Microsoft'un umduğu kadar çok ses getirmemiş olabilir.

Ancak tüm bunlara geçmeden önce Silverlight'ın kaputunun altına daha yakından bakalım.

İçindekiler
  1. Silverlight Beta
  2. Silverlight Geliştirme
  3. Silverlight Uygulamaları
  4. Silverlight Videosu

Silverlight Beta

Mühendislik firması Thomas Wilmes gibi şirketler, tüm Web sitelerini oluşturmak için Silverlight'ı kullanıyor.

Silverlight ile ilgili zor şeylerden biri, bu yazı itibariyle iki sürümün olmasıdır: 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çevesi içinde çalışır .

Peki .NET nedir? Microsoft'tan başka bir ürün . .NET çerçevesi bir programlama modelidir. Programcılar bu model içinde uygulamalar oluşturabilirler - özellikle de Genişletilebilir İşaretleme Dili'ne ( XML ) dayanan 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 bu uygulamaların düzgün çalışması için ihtiyaç duyduğu kaynakları (bellek veya işlem gücü gibi) tahsis eder. Sınıf kitaplığı, programcıların uygulamalar oluştururken güvenebilecekleri birkaç 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şulları ifade eder. Örneğin, bir program "çalışıyor", "duraklatıldı" ve "durduruldu" (hepsi aynı anda olmasa da) durumlarına sahip olabilir. Davranışlar, bir nesnenin neler yapabileceğini ifade eder. Örneğimizde buna "başlat", "duraklat" ve "bitiş" dahildir.

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 hem WPF'yi hem de XAML'yi kullanabilir. Hem WPF hem de XAML, .NET çerçevesi içinde sorunsuz bir şekilde çalışır. Microsoft, WPF'yi , Köprü Metni Biçimlendirme Dili'nin ( HTML ) sınırlamaları olduğu için geliştirdi - Web tarayıcıları, HTML'nin desteklemesi için çok karmaşık işlevleri yürütme yeteneğine sahiptir.

WPF, uygulamalar için grafikler oluşturmak için vektör tabanlı bir işleme motoru kullanır. 2 boyutlu ve 3 boyutlu grafikleri destekleyebilir ve geliştiricilere .NET içinde çalışarak uygulamalarını güçlendirmeleri için araçlar sağlar. XAML'nin temel amacı, geliştiricilere uygulamalarının görünümünü değiştirmeleri 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 davrandığını belirlerken, programcılar uygulamaları kendileri oluşturmak için diğer bilgisayar dillerini kullanır. Silverlight 1 yalnızca JavaScript'i desteklerken , Silverlight 2'nin beta sürümü birkaç dinamik dili destekler. Programcılar, .NET çerçevesinde çalışırken uygulamalarını bu dilleri kullanarak oluşturur ve uygulamayı Web'de gezinme deneyimine entegre etmek için WPF ve XAML'yi kullanır. Tüm Silverlight uygulamaları bir Web tarayıcısında çalışır.

Bu öğelerin programcılara RIA'lar oluşturmak için ihtiyaç duydukları platformu sağlamak için nasıl birlikte çalıştığını görmek için Silverlight platformunun mimarisine bir göz atalım.

Silverlight Geliştirme

Microsoft, Silverlight geliştiricilerinin soru sorabileceği ve ipuçlarını takas edebileceği özel bir forum Web sitesine ev sahipliği yapıyor.

Tüm yazılımlar gibi Silverlight platformu da mimari adı verilen belirli bir işlev ve özellik düzenine sahiptir . Bir programın mimarisi size programın nasıl çalıştığı hakkında çok şey söyleyebilir. Görevleri mantıklı bir şekilde gruplandırır ve genel hizmeti sağlamak için bir programın farklı bölümlerinin 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 divides the Silverlight platform's architecture into two major components with an additional installer and update element. The two major components include a core presentation framework and the .NET framework for Silverlight. Let's look at each in turn.

The core presentation framework contains the following:

  • A user interface (UI) rendering engine, which generates all the graphics, animation and text within an application
  • An input interface that handles user input from devices like keyboards , mice and digital tablets
  • A media engine that supports several audio and video file formats
  • Geliştiricilerin uygulamalarında medya üzerinde kontrol sahibi olmalarını sağlayan bir dijital hak yönetimi öğesi
  • Özelleştirilebilir uygulama kontrolleri için destek
  • Dinamik kullanıcı arabirimi düzenleri için destek - bu özellik, geliştiricilerin bir uygulamanın kullanıcı arabiriminin görünümünü gerçek zamanlı olarak değiştirmesine olanak tanır
  • 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:

  • Dille Tümleşik Sorgu ( LINQ ) özellikleri için destek -- LINQ, geliştiricilerin farklı kaynaklardan gelen verileri entegre etmesine olanak tanır
  • Kriptografi gibi temel programlama işlevlerini destekleyen bir temel sınıf kitaplığı
  • Bir uygulamanın uzak verilere ve hizmetlere erişmesini kolaylaştırmak için tasarlanmış , Pencere İletişim Vakfı ( WCF ) adı verilen bir özellikler paketi
  • Windows Sunum Vakfı (WPF)
  • Dinamik Dil Çalışma Zamanı ( DLR ), çeşitli programlama dillerinde yazılmış uygulamaları destekleyen öğe
  • Common Language Runtime ( CLR ), bellek yönetimini ve diğer kritik işlevleri yöneten bileşen

Sunum çekirdeği ve .NET Framework, öncelikle XAML aracılığıyla birbirleriyle etkileşime girer. Bir bakıma XAML, iki bileşen arasında bir köprü görevi görür. Kurulum ve güncelleyici öğesi oldukça açıklayıcıdır. Bir uygulamanın ilk kurulumunu kullanıcı için olabildiğince sorunsuz hale getirmesi gerekiyor. Ayrıca otomatik uygulama güncellemeleri için bir çerçeve sağlar.

Ayrıca Silverlight, geliştiricilerin RIA'lar oluşturmasına yardımcı olan birkaç başka özelliğe sahiptir. Bu işlevlerin çoğu, veri güvenliği ve uygulama yönetimine odaklanır. Birkaçını saymak gerekirse dosya yönetimi özellikleri, yalıtılmış bir depolama işlevi ve XML kitaplıkları vardır.

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

Silverlight Uygulamaları

The Echo myPlace application uses Silverlight to tie news stories to geographic locations.

The applications of Silverlight are nearly limitless. Silverlight's tools allow developers to create Web-based programs that range from utilitarian devices to challenging video games . Even though Silverlight is still a relatively young programming platform, there are dozens of applications already available on the Web.

It's not surprising that developers are using Silverlight to create streaming media players. The media players are similar to Flash media players -- the kind of applications used by Web sites like YouTube . These programs stream video and music from the Internet to a user's browser. Silverlight lets developers create themed video players that provide specific content. For example, the Futbol Mexicano Silverlight application streams video of Mexican soccer games to users. But Silverlight can do more than play videos.

Silverlight applications can be relatively simple, like hero bars. Hero bars are Web banners that feature blurbs and links to content found deeper in the Web site. Developers can use Silverlight to create a hero bar that can pull information and links from an RSS feed. The hero bar updates itself as the webmaster adds new content to the site.

Programmers can also use Silverlight to interact with other Web services. Twitterlight is a Silverlight application that taps into the Twitter microblog service. With Twitterlight, users can access their individual Twitter feeds and post new messages.

Buzzoggi uses Silverlight to gather hot topic key words from several news RSS feeds and display them in a cloud.

The TeamLive online productivity software application lets Silverlight users work together on projects. TeamLive gives users the ability to take screenshots of applications or Web sites and share them with other users. This makes collaboration among team members in different locations easier. The team can work together in real time to fix problems or streamline designs.

Games running on Silverlight can range from the simplistic to immersive adventures. For example, you can find traditional games like Hangman in Silverlight form, but you can also find arcade-style games such as Zero Gravity, a space-themed adventure game. Like Flash, Silverlight gives developers the resources necessary to create robust gaming experiences that users can access through a Web browser.

These applications are just the tip of the iceberg. As the Web becomes more sophisticated and people get access to more bandwidth, users will demand more from their browsing experiences. An increasing number of people are turning to the Internet for news, entertainment and productivity applications. Developers will have to use tools like Silverlight to meet consumer demand.

Silverlight has already made a big splash through a few strategic partnerships with more traditional media. We'll take a closer look at these relationships in the next section.

Silverlight Video

NBC used Silverlight to broadcast Olympic events over the Web to certain users in the United States.

Bill Gates was the main keynote speaker at the 2008 Consumer Electronics Showcase (CES). The speech marked his final CES presentation as chairman of Microsoft. That evening, Mr. Gates unveiled many new Microsoft projects, products and services. Among them was a partnership with NBC to broadcast the Olympics online within the United States.

NBC had already obtained the television rights to broadcast the Olympics in the United States. In addition to traditional televised broadcasts, NBC, along with Microsoft, offered Olympic coverage online at its Web site. Visitors had to download and install Silverlight to their computers in order to watch the video. Some tech journalists questioned the decision -- while Silverlight is a powerful platform, Adobe Flash has a much larger presence in the market. Most PCs already have Flash and comparatively few people had downloaded Silverlight. It seemed to some journalists that NBC was conducting a risky experiment.

Was the pairing a success? That depends on who tells the story. According to an article in The New York Times, NBC's Olympics Web site provided more than 72 million streams of video to viewers during the Olympics [source: Stelter]. But blogs like TechCrunch contend that other sites covering the Olympics -- sites that didn't feature any video at all -- had more visitors than NBC's site [source: Schonfeld]. Some blogs also reported rumors that advertisers weren't happy with NBC's online performance.

Şirket, akışlı video platformu olarak Adobe Flash'ı seçmiş olsaydı, belki de NBC daha fazla çevrimiçi izleyiciye sahip olacaktı . Veya NBC çevrimiçi yayınlanan etkinlikleri sınırlamasaydı, belki daha fazla insan oyunları Web'de izlerdi. Ancak bazıları deneyi hayal kırıklığı olarak adlandırsa da Microsoft, Silverlight'ı milyonlarca kişinin indirdiğini biliyor. Microsoft'un kitabında bu bir kazanç sayılır.

Microsoft, Amerika Birleşik Devletleri'ndeki diğer büyük isimlerle ortaklıklar kurdu. 2007'nin sonlarında, Major League Baseball'un akışlı video oynatıcısı Silverlight'a geçti. Şirket, kullanıcı tarafından oluşturulan içerik için etkileşimli bir Web platformu oluşturduğunda CBS Silverlight'ı seçti. Ulusal Basketbol Birliği de çevrimiçi medya oynatıcısı için Silverlight'ı seçti.

Silverlight bir sonraki büyük İnternet standardı olacak mı? Henüz söylemek için çok erken. Adobe Flash'tan daha sağlam olduğunu iddia edebilirsiniz, ancak yine de Flash'ın pazarda çok daha derin bir nüfuzu vardır. Sonuç olarak, hangi teknoloji öne çıkarsa çıksın, kullanıcılara istediklerini sağlayacaktır: sürükleyici bir Web'de gezinme deneyimi.

Silverlight ve ilgili konular hakkında daha fazla bilgi edinmek için sonraki sayfada bulunan bağlantılara ışık tutun.

Balayı Bitti mi?

NBC, Web'de Sunday Night Football video akışlarını sağlamak için Silverlight'ı kullanmayacak - bunun yerine Adobe Flash kullanacak. Ancak NBC'nin Microsoft'tan vazgeçtiğini varsaymayın - bu durumda, Ulusal Futbol Ligi Flash [kaynak: Learmonth ] ile devam etme kararını verdi .

Daha Fazla Bilgi

İlgili Makaleler

  • Microsoft Nasıl Çalışır?
  • Bilgisayar Belleği Nasıl Çalışır?
  • Grafik Kartları Nasıl Çalışır?
  • İnternet TV Nasıl Çalışır?
  • İşletim Sistemleri Nasıl Çalışır?
  • Video ve Ses Akışı Nasıl Çalışır?
  • Televizyon Nasıl Çalışır?
  • Video Biçimlendirme Nasıl Çalışır?
  • YouTube Nasıl Çalışır?

Daha Fazla Harika Bağlantı

  • Microsoft Geliştirici Ağı
  • Resmi Microsoft Silverlight Sitesi

Kaynaklar

  • Cooper, Charles. "Hepimiz bu Olimpiyatları seviyoruz, değil mi? Adobe değil." CNet. 14 Ağustos 2008. (10 Eylül 2008) http://news.cnet.com/8301-10787_3-10017507-60.html?tag=nefd.top
  • Frommer, Dan. "Adobe: Silverlight Kim? Flash Video Dünya Çapında Olimpiyatlara Hakim Oldu." Silikon Yolu İçeriden. 27 Ağustos 2008. (9 Eylül 2008) http://www.alleyinsider.com/2008/8/adobe-silverlight-who-flash-video-dominated-olympics-worldwide-adbe-msft-
  • LaMonica, Martin. "Silverlight on Linux? Biz varız, diyor Mono'nun kurucusu." CNet. 1 Mayıs 2007. (10 Eylül 2008) http://news.cnet.com/8301-10784_3-9714669-7.html
  • Ay, Michael. "NFL, NBC Canlı Futbol İçin Adobe Flash Tap." Silikon Yolu İçeriden. 4 Eylül 2008. (10 Eylül 2008) http://www.alleyinsider.com/2008/9/nfl-nbc-tap-adobe-s-flash-for-live-football
  • MacDonald, Matthew. "Silverlight 2 Görsel Temeller." Apress. 2008.
  • MacDonald, Matthew. "Silverlight ve ASP.NET Ortaya Çıktı." Springer. 2007.
  • Matyszczyk, Chris. "Çevrimiçi reklamverenler NBC'nin Olimpiyat performansından dolayı hayal kırıklığına mı uğradı?" CNet. 18 Ağustos 2008. (10 Eylül 2008) http://news.cnet.com/8301-17852_3-10018721-71.html
  • Microsoft Geliştirici Ağı. ".NET Framework Programlama Visual Studio'da." Kasım 2007. (9 Eylül 2008) http://msdn.microsoft.com/en-us/library/k1s94fta.aspx
  • Microsoft Geliştirme Ağı. "Gümüş ışık." 2008. (8 Eylül 2008) http://msdn.microsoft.com/en-us/library/bb188743.aspx
  • Microsoft Geliştirme Ağı. "Windows Sunum Vakfı." Kasım 2007. (8 Eylül 2008) http://msdn.microsoft.com/en-us/library/ms754130.aspx
  • Microsoft Silverlight. "Haberler." (10 Eylül 2008) http://www.microsoft.com/silverlight/news/default.aspx
  • Moroney, Laurence. "Başlangıç ​​Web Geliştirme, Silverlight ve ASP.NET AJAX." Pres, 2008.
  • Schönfeld, Erick. "NBC Nasıl Döndürürse Çevirsin, Olimpiyatlar Web Stratejisi Bir Kaybeden Gelir." TechCrunch. 25 Ağustos 2008. (10 Eylül 2008) http://www.techcrunch.com/2008/08/25/no-matter-how-nbc-spins-it-olympics- web-strategy-comes-up -bir kaybeden/
  • Stelter, Brian. "Oyunlar için Web İzleyicisi NBC ve Yahoo için Yükseliyor." New York Times. 24 Ağustos 2008. (10 Eylül 2008) http://www.nytimes.com/2008/08/25/sports/olympics/25online.html
  • Java Eğitimleri. "Nesne Nedir?" 14 Şubat 2008. (10 Eylül 2008) http://java.sun.com/docs/books/tutorial/java/concepts/object.html
  • Wenz, Christian. "Temel Silverlight." O'Reilly. 2008.
  • Wildermuth, Shawn. "Silverlight'a Başlarken." O'Reilly. 2007.