Silverlight, Microsoft'un yeni teknolojisi olan Windows Presentation Foundation (WPF) 'nin Everywhere (Heryerde) bölümüdür. Silverlight WPF 'nin Web koludur ve tamamen açık kaynaktır. Görsel programlama tekniğiyle multimedya, grafik, animasyon ve interaktif uygulamaların tek eklenti üzerinden yürütülmesini sağlar. Esas amacı Web tabanlı interaktif uygulamaların hazırlanabilmesi için bir teknoloji platformu oluşturmaktır. Microsoft'un .NET tabanlı dillerine destek sağlamaktadır. Silverlight .NET Framework ile beraber gelen CLR (Common Language Runtime-Ortak Dil İşleyiş Zamanı)'ın bir kısmını taşır bu sayede istemci tarafında bağımsız olarak
MultiThread (Çok kanallı) ve
MultiCore (Çok çekirdekli işlemci) desteğine sahip olur. WPF çalışmak için bir Windows işletim sistemi ve .Net Framework isterken, Silverlight bir "browser plug-in" (Tarayıcı ek programı) sayesinde Windows, Linux ve Mac OS ile aynı şekilde çalışabilir.
Silverlight, Microsoft'un Web geliştiricileri için tasarladığı yeni bir uygulamadır ve İnternet sayfalarına ve medya uygulamalarına görsel efektler katılarak geliştirilebilecek bir programdır. Flash ile yapılmış İnternet sitelerinin açılması için “Adobe” in eklentisi olan 'flash' yüklenmesi gerekmektedir. Silverlight ise WMC ile VC-1 türü videoları ve WMA, MP3 biçiminde ses içeriklerini destekleyen tüm tarayıcılarda oynatılmasını, çalıştığı sistemde Windows Media Player veya ActiveX eklentilerine ihtiyaç duymadan sağlar. Silverlight veri ve iş uygulamalarının tarayıcı içerisinde geliştirilebilmesi için soket programlama ve Web servisleri desteği ile görsel kontroller ile UI(User Interface-Kullanıcı Arayüzü) sanallaştırmayı da destekler. DataGrid (Bir çeşit grafiksel arayüz) ve DataForm gibi veri kontrolleri ve RIA Services (Rich Internet Application-Zengin İnternet Uygulaması) yapısı iş uygulamalarının geliştirilebilmesini kolaylaştırmayı da sağlar.
Silverlight uygulamalarının izlenebilmesi için Microsoft Silverlight eklentisinin kurulması gerekir. Silverlight Microsoft Internet Explorer 7.0 ve 6.0 da çalıştırılabilir. Ayrıca Mozilla 1.5 ve 2.0 için de geliştirilmiştir. Mac OS içinse Safari Web Browser desteği sağlanmıştır.
Silverlight uygulamasının çalışabilmesi için en az;
- Windows için : X86 veya x64 500-megahertz (MHz) veya daha yüksek işlemci, 128-megabyte (MB) RAM gereklidir.
- Mac için : PowerPC G4 800-MHz veya daha yüksek işlemci, 128-MB RAM gereklidir.
Windows Server 2003, Windows Vista ve Windows XP'de de çalışır. Silverlight XAML (Extensible Application Markup Language) denilen bir dili kullanır ve XAML kodları bir Silverlight uygulamasının görsel arayüzünü oluşturur. XAML kodlarını öğrenmek zor olabildiğinde Microsoft Blend yazılımı kullanılabilir. Microsoft Blend, bir arayüz üzerinden görsel olarak herşeyi yaratmaya imkan sağlar. Yani, Silverlight arayüzü olan bir program değildir. Silverlight kurulduğunda uygulamaya başlanması için ekstra işlemler yapmak gereklidir.
Silverlight'a biraz daha teknik bakılırsa kullanımı için gerekli olan iki ögeden biri arayüzü ve animasyonu sağlayan Microsoft Expression Blend diğeri ise yazılım bölümünün yer aldığı XAML(Extensible Application Markup Language)'dir. XAML, XML yapısında bir uygulama geliştirme dilidir. XAML, hem arayüz oluşturur, veri bağlar hem de zengin controller ile arayüz oluşturur. Temel prensip olarak XAML içinde tanımlanan her element .NET Framework içindeki bir sınıfa, bu elementlerin nitelikleri ise sınıfın özelliklerine denk gelmektedir. WPF ile XAML tamamen birbirlerine bağlı olmasına karşın bu sunulan esneklik başka teknolojilerde de kullanılabilmektedir ( .NET 3.0 ile birlikte gelen Workflow Foundation gibi). Aynı şekilde Siverlight’ın temel mimarisinde de XAML oldukça önemli bir yer teşkil etmektedir. Silverlight ile yapılan her proje XAML sayfasıdır ve dışarıdan erişim özelliğine sahip olur.
Silverlight kullanımı için gerekli olan programlar:
- Microsoft Silverlight: Tarayıcı (Browser) üzerinden Silverlight uygulamalarının görülmesini sağlayan yazılımdır.
- Asp .Net Framework 3.0: WPF uygulamalarının çalışmasını (Blend gibi) ve Silverlight ile uygulama geliştirilmesini sağlar.
- Microsoft Expression Blend: Silverlight üzerine kullanılacak grafiklerin ve arayüzün tasarlanmasında kullanılan programdır. Animasyonlar da bu uygulama ile geliştirilebilir.
- Microsoft Visual Studio 2008: Visual Studio için eklentiler bulunmaktadır, bu eklentiler yüklendiğinde kod yazarak animasyonlar oluşturulabilir.
Silverlight uygulamalarını sadece Visual Studio kullanarak da tasarlanabilir ama Microsoft Expression Blend kullanılarak arayüz tasarlandığında işlem daha rahat gerçekleşir. Bu nedenle tasarım işini Expression Blend’de kodlama işini ise Visual Studio’da yapmak daha çok tercih edilir.