Makale Özeti

Bu makalemizde bize 4GB web alanı vererek Silverlight uygulamalarımızı ücretsiz olarak internette yayınlama olanağı tanıyan Silverlight Streaming Servisleri'ni nasıl kullanabileceğimizi inceleyeceğiz.

Makale

http://silverlight.live.com/ adresinden ulaşabileceğimiz Silverlight Streaming Servisleri ile 4GB'lık bir web alanında Silverlight uygulamalarımızı dünyaya ücretsiz olarak açabiliyoruz. Peki nasıl yapacağız bu işi? İlk olarak http://silverlight.live.com sitesini ziyaret ederek Live ID'miz ile kayıt olmamız gerekiyor. Kayıt işlemini tamamladıktan sonra karşımıza gelen ekranda "Manage Applications" seçeneğini seçerek Silverlight uygulamamızı bir ZIP dosyası olarak yükleyebiliyoruz.

Silverlight Streaming Services
Silverlight Streaming Services sitesine giriş yaptığımıza karşımıza çıkan ekran.

Bir sonraki ekranda bizden ZIP dosyamız ve uygulamamıza verilmek üzere bir isim isteniyor.

Silverlight Streaming Servisleri'ne ZIP dosyamızı yüklüyoruz.

Yükledim ama çalışmıyor diyenler varsa büyük ihtimal ile benim yazılarımı ilk defa okuyorlar demektir.Yazılarımı okurken bir yandan uygulama yapmamanızı tavsiye ederim, çünkü genelde en can alıcı noktaya en sona bırakırım. Yukarıdaki adımları takip ederek Silverlight uygulamanızı bir ZIP dosyası olarak sıkıştırıp yüklediyseniz tabi ki uygulamanız çalışmayacaktır. Neden mi? Çünkü bu işin bazı kuralları var. Gelin şimdi Silverlight Streaming Servisleri için nasıl ZIP dosyası hazırlarız bir inceleyelim.

  • Yükleyeceğiniz Silverlight uygulamasını bir ZIP paketine sıkıştırırken kesinlikle HTML, HTM, ASPX, ASP, MEDIA, CSPROJ veya CONFIG uzantılı dosyaları pakete eklememelisiniz.
  • Dosyalarınız ZIP paketinin ana dizininde olmalıdır. Yani ZIP paketi içerisinde bir klasörde vs bulunmamalılar.
  • Tüm JavaScript dosyalarınız ve kaynaklarınız bir listesinin bulunduğu Manifest.XML dosyası ZIP paketi içerisinde yer almalıdır.

Nedir bu Manifest.xml?

Manifest.xml dosyası Silverlight Streaming Servisleri'nin sizin Silverlight uygulamanızla ilgili gerekli bilgileri edinebilmesini sağlayacak olan dosyadır. Bu çerçevede tabi ki bizim söz konusu dosyayı doğru şekilde hazırlamış olmamız çok önemli. Gelin aşağıda bir manifest.xml örneği inceleyelim.

<SilverlightApp>

  <source>myfile.xaml</source>

  <width>800</width>

  <height>600</height>

  <background>#00FFFFFF</background>

  <version>1.0</version>

  <isWindowless>true</isWindowless>

  <loadFunction>StartWithParent</loadFunction>

  <jsOrder>

    <js>MicrosoftAjax.js</js>

    <js>PreviewMedia.js</js>

    <js>EmePlayer.js</js>

    <js>player.js</js>

    <js>StartPlayer.js</js>

  </jsOrder>

</SilverlightApp>


Yukarıda örnek bir Mainfest.xml dosyasının içeriği görebilirsiniz. Silverlight uygulamanızda eğer birden çok XAML dosyası varsa hangisinin ilk olarak yükleneceğini belirtmeniz gerekiyor. Bunun için source taglarını kullanıyoruz. Eğer sadece bir XAML dosyanız varsa bu tagı yerleştirmenize gerek yok. JavaScript ile Silverlight uygulamanızı yaratırken boyut, arkaplanı rengi bilgilerini belirtmediyseniz Manifest içerisinde de belirtebilirsiniz. Version tagları arasında kullanmış olduğunuz Silverlight sürümünü yazmanız gerekiyor. Biz şimdilik bu sürümü tek release sürümü olan 1.0 olarak bırakacağız. Eğer Silverlight uygulamanızın üzerine HTML Overlay tekniği ile HTML nesneleri yerleştirecekseniz isWindowless seçeneğini de true olarak düzenlemekte fayda var. Gelelim en can alıcı ayarlara; bunlardan ilki Silverlight uygulamanızı yaratacak olan JavaScript fonksiyonu. StartWithParent fonksiyonu yine Streaming Servisleri tarafından yaratılıyor, isterseniz buraya farklı JavaScript metodlarının isimlerini yazarak durumu siz de kontrol edebilirsiniz. Son olarak uygulamanızda kullandığınız tüm JavaScript dosyalarını jsOrder tagları arasına tek tek eklemeniz gerekiyor.

Deneyelim...

Hemen bir deneme yapalım ve ufak bir video dosyasını Expression Encoder ile encode ederek Output kısmından da bir Silverlight Template seçerek Silverlight oynatıcılı bir çıktı alalım. Eğer bilgisayarınızda Expression Encoder yüklü değil ise ve hazırda bir WMV dosyanız varsa bir alternatif olarak http://www.silverlightgenerator.com 'dan da faydalanabilirsiniz. Silverlight paketimizi hazırladıktan sonra içerisinde gereksiz dosyaları (CSPROJ, HTML vs) siliyoruz ve aşağıdaki içeriği ile manifest.xml dosyamızı yaratıyoruz.

<SilverlightApp>

  <version>1.0</version>

  <loadFunction>StartWithParent</loadFunction>

  <jsOrder>

    <js>MicrosoftAjax.js</js>

    <js>BasePlayer.js</js>

    <js>PlayerStrings.js</js>

    <js>player.js</js>

    <js>StartPlayer.js</js>

  </jsOrder>

</SilverlightApp>


Gördüğünüz gibi çok fazla detaylı ayarlara bulaşmadan basit bir şekilde JavaScript dosyalarını sıralayarak manifest.xml dosyamızı tamamladık. Şimdi tüm bu paketi manifest.xml ile beraber bir ZIP dosyası haline getirerek Silverlight Streaming Servisleri'ne yükleyebiliriz.

Yüklemem Tamam... Sıra Yayında...

ZIP paketinizi Silverlight Streaming Servisleri'ne yüklediğinizde karşınıza aşağıdaki gibi bir sayfa gelecek ve Silverlight uygulamanızı web sitenize eklemeniz için ihtiyaç duyacağınız kodları size aktarıyor olacak.

Silverlight Streaming Servisleri'nden uygulamamızı kendi sitemize aktarıyoruz.
Silverlight Streaming Servisleri'nden uygulamamızı kendi sitemize aktarıyoruz.

Yukarıdaki ekran görüntüsüne yer alan açıklamalardan da anlaşılacağı üzere en üst kutuda yer alan kodu web sayfamızın HTML kodları arasında HEAD taglarının arasına yerleştiriyoruz. İkinci kutuda yer alan kodları Silverlight uygulamasının sitenizde gözükeceği konuma yerleştirmeniz gerekiyor. Son olarak üçüncü kutudaki kodları ise harici olarak yaratacağımız bir CreateSilverlight.js dosyasına yerleştirmeliyiz. Tüm bunlar tamamlandığında basit bir HTML sayfasının kodu aşağıdaki şekilde sonlanıyor.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

 

  <script type="text/javascript" src="http://agappdom.net/h/silverlight.js"></script>

 

  <script type="text/javascript" src="CreateSilverlight.js"></script>

 

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <title>Untitled 2</title>

</head>

<body>

  <div id="Wrapper_denek" style="width: 500px; height: 400px; overflow: hidden;">

  </div>

 

  <script type="text/javascript">

var Wrapper_denek = document.getElementById("Wrapper_denek");

CreateSilverlight();

  </script>

 

</body>

</html>


Geçmiş Olsun..

Tüm yapmamız gereken bu kadar. Artık siz de Silverlight uygulamalarınızı hemen yayına alabilirsiniz. Özellikle videolarınızı hemen Silverlight ile hazırlayarak dünyaya açabilirsiniz.

Kolay gelsin...

Daron Yöndem
MCT, MCPD, MCITP, MCTS, MCSD, MCAD
MCDBA, MCP, ACP, ICSD, IEL'03
http://daron.yondem.com