Wpf tabanlı (windows presentation foundation) browser eklentisi hakkında bir sunum Nedir? Genel Bakış Uyumluluk Moonlight Lisans XAML Elementler Animasyon Scripting Sonuç 1
Nedir?, web (browser) uygulamaları için animasyon, vektör ve 3D grafik ve video oynatma imkanları sağlayan, WPF tabanlı (Windows Presentation Foundation) browser eklentisidir. Adobe Flash, DHTML ve JavaFX ile rekabeti amaçlıyor. Genel Bakış 2
Kod adı: WPF/E (Windows Presentation Foundation, Everywhere) Silverlight, WPF türevi görsel programlama tekniğiyle multimedya,grafik,animasyon ve interaktif uygulamaların tek eklenti üzerinden yürütülmesini sağlıyor. Görsel geliştirme dili XAML (Extensible Application Markup Language). Silverlight, WPF türevi görsel programlama tekniğiyle multimedya,grafik,animasyon ve interaktif uygulamaların tek eklenti üzerinden yürütülmesini sağlıyor. Silverlight ile oluşturulan içerik, Adobe Flash'in aksine derlenmiyor. Vektör grafik ve animasyonların işaretleme dili biçiminde kodlanmasını sağlayan görsel geliştirme dili XAML, içerdiği belgedeki Javascript değerlerine ulaşıp çalıştırabilmesi sayesinde, XAML belgeleri DHTML/Ajax/Javascript içerikleri tarafından düzenlenip, programlanabiliyor. Silverlight, WMV ile bazı VC-1 türü videoları ve WMA,MP3 formatlı ses içeriklerini desteklenen tüm tarayıcılarda oynatılmasını, çalıştığı sistemde Windows Media Player veya ActiveX eklentilerine ihtiyaç duymadan sağlıyor. Uyumluluk 3
Silverlight, Windows 2000,Xp,2003 ve Vista, Mac OS 10.4.8+ Intel üzerinde Internet Explorer ve Mozilla tarayıcılarıyla çalıştırılıyor.linux içinse yıl sonuna kadar tamamlanması planlanan Moonlight adlı proje yürütülüyor.safari ve Opera tarayıcılarının da yakın gelecekte Silverlight ı destekleyecekleri biliniyor. Monolight Linux için Miguel de Icaza ve ekibi tarafından geliştirilen yorumcu. Açık kaynak. Şu an kullanılan sürümü Silverlight 1.0 uygulamalarını destekliyor. Aynı ekip Linux için Lunar Eclipse adında, Microsoft un Expression Blend yazılımına alternatif bir XAML tasarımcısı geliştiriyor. Web Adresi: www.mono-project.com 4
Lisans Resmi olmayan kaynaklar Silverlight yorumlayıcısının kaynağının açılacağını söylese de henüz açılmadı. XAML için editör geliştirmek Microsoft un tekeli altında değil.adobe Flash uygulamalarının aksine, Silverlight uygulamaları geliştirmek için, Lunar Eclipse gibi pek çok farklı IDE geliştirilebilir. Yorumlama işi browser da yapıldığına göre, niçin browser tabanlı bir IDE yapılmasın? Rainbow9 şimdiden web üzerinde XAML geliştirmeyi sağlıyor. XAML 5
Zamel olarak okunur. Açılımı: Extensible Application Markup Language XUL,GladeXML gibi, XML tabanlı kullanıcı arayüzü oluşturma dillerinden biridir. Silverlight arayüzü hazırlarken, bu dil ile elementler oluşturulur, biçimlendirilir, animasyonları yazılır ve olayları tanımlanır. XAML oluşturmak için herhangi bir editör yeterli olduğu gibi, Microsoft un bu iş için hazırladığı Expression Blend uygulamasıyla daha kolay çizim yapılabilir, animasyon oluşturulabilir. XAML, henüz pek yeterli görünmese de 3D grafik oluşturmayı da sağlıyor. XAML belgesi <Canvas> katmanıyla başlıyor. Bu katmanın içinde yükseklik, genişlik, arkplan gibi özelliklerin belirlenmesinin yanısıra, HTML deki DOCTYPE bloğuna benzer şekilde Microsoft un şemaları referans gösteriliyor. Animasyon 6
XAML diliyle animasyon yazmak, element biçimlendirmeye göre nispeten zor olacağından, Expression Blend in araçları kullanılabilir. Objects and Timeline panelinde yeni bir kayıt ekledikten sonra record ikonu belirir.record açıkken gerçekleşen element değişiklikleri, zaman çizgisinde seçili hale getirdiğimiz yere dek kaydedilir. XAML belgeleri, <object> koduyla sayfalara import ediliyor. Eğer sayfayı görüntüleyen browser Silverlight objelerini tanıyorsa, XAML belgesi görüntüleniyor. XAML belgeleri, yüklendikleri sayfanın Javascript fonksiyonlarını çalıştırabiliyor. Daha doğru ifadeyle, XAML elementleri için tanımlanan event değerleri, bir javascript fonksiyonunun adıymış gibi kabul ediliyor. 7
Sonuç Derlenmeden çalışan görsel geliştirme dili XAML sayesinde Silverlight için pek çok IDE ve yorumcu geliştirilebilir, bu da teknolojinin diğer alternatiflerden daha hızlı gelişmesi anlamına geliyor. Kaynak docs.google.com/teampresent 8