silverlight

independence
microsoft silverlight nedir?
silverlight, microsoft’un yeni teknolojisi olan windows presentation foundation (wpf) ’nin everywhere yani heryerde ayağı.

kısaca wpf ’ye değinmek gerekirse, wpf programcılığa ve program arayüzlerine tamamen farklı bir bakış açısı getiriyor. şöyle ki, artık programlarınızı yazarken tamamen vektörel arayüzler kullanabiliyor, windows vista görünümünde uygulamalar geliştirebiliyorsunuz. örnek wpf uygulamalarından bazıları da microsoft expression programları.

silverlight ’a geri dönersek, dediğim gibi silverlight wpf ’nin web kolu ve tamamen açık kaynak. wpf çalışmak için bir windows işletim sistemi ve .net framework isterken, silverlight bir browser plug-in ’i sayesinde windows, linux ve hatta macos ayırt etmeden heryerde aynı şekilde çalışabilecek. bu klasik microsoft anlayışı diyebiliriz, varolan standartlara ayak uydurmaktansa, kendi standartını getirmeyi istemek.

silverlight üzerinde uygulama geliştirmek için j a v a s c r i p t (js) bilmek yeterli. evet, sadece bu kadar. yani her js bilen kişi artık bir silverlight uzmanı olabilir. silverlight ’ın gelecek sürümüyle .net yazılımcıları da birer silverlight uzmanı olacak. her ne kadar kıskanarak söylesem de, .net yazılımcıları silverlight ile uygulama geliştirmek için js ’cilere nazaran daha az vakit harcayacaklar.

silverlight: biraz daha teknik
olaylara biraz daha teknik bakmak gerekirse, iyi bir silverlight uygulaması geliştirmek için temelde 2 kişiye ihtiyacınız var: bir tasarımcı/animasyoncu ve bir yazılımcı (js/.net). tasarımcı, microsoft expression blend ile uygulamanın arayüzünü ve animasyonlarını yaratıp xaml (extensible application markup language) formatında yazılımcıyla paylaşacaktır. yazılımcı ise uygulamanın arka tarafını tasarlayıp uygulamaya geçecektir.

herşey oldukça basit görünüyor değil mi? bunun arkasında yatan mimari aslında xaml. xaml nedir sorusuna cevap vermek gerekirse, microsoft silverlight ve microsoft wpf ’nin temelinde yatan öğe diyebiliriz. zira yaptığımız her tasarım objesi, her buton, her animasyon, her yazı bir xaml öğesi. xml yapısında olan bu xaml sayfaları, herşeyin vektörel olarak tutulmasını ve dışarıdan erişilebilmesini sağlıyor. yani tasarımcımız aslında elle veya program yardımıyla bu xaml dosyasını, yazılımcıyla paylaşıyor ve yazılımcı da hiç bir tasarım işine elini bulaştırmadan yapması gerekenleri uygulamaya dökebiliyor.

silverlight nerelerde kullanılabilir?
kabul etmek gerekir ki, silverlight şuanda bir bebek. halen katetmesi gereken uzunca bir yol var. ancak şimdiden söyleyebilirim ki silverlight ile web üzerinde neredeyse herşeyi yapmak mümkün olacak.

örnek vermek gerekirse, silverlight ile çok etkileyici video destekli uygulamalar geliştirebileceğiz, yarattığımız animasyonlar ve interaktif bannerlar her platformda ve bilgisayarda aynı sürede başlayıp aynı sürede bitebilecek (takılsa bile), -belki- sunucudaki masaüstü uygulamalarıyla iletişim haline girerek birçok zorlu işlemi çok daha kolay yoldan halledebileceğiz ve en önemlisi artık bunları yapmak için yeni bir dil öğrenmek zorunda kalmayacağız. j a v a s c r i p t veya .net biliyorsanız siz de hemen bugün birşeyler yapmaya başlayabilirsiniz.

silverlight ’ın geçmişi ve geleceği
aslında geçmişi kelimesi biraz abartı kaçıyor burada. çünkü silverlight duyuralı çok uzun bir zaman olmadı ve silverlight ’ın henüz stabil çalışıyor denilebilen bir sürümü var: silverlight 1.0

eylül ayında gelen silverlight 1.1 alpha ’ya bakmadan, diyebilirim ki şuanda silverlight ile ilgili elimizde neredeyse hiçbirşey yok. silverlight ile neredeyse çoğu şeyi yapabilmemize rağmen aslında her microsoft kullanıcısı gibi kendi imkanlarımızı yaratıyoruz. çünkü silverlight 1.0 üzerinde henüz bir textbox (input) veya buton (input button) kontrolü yok! veya uzun html formatında metinleri şekillendirmek ve sunmak için de bir kontrol yok. size sunulanlar sadece yazı, medya gibi basit kontroller ve henüz çok azı dökümante edilmiş koskoca bir yazılım.

silverlight 1.0 ile j a v a s c r i p t kodlarıyla uygulamalar geliştirebiliyorsunuz. yaptığınız animasyonlara js ile müdahale edebiliyor, html sayfa elementlerine js ile ulaşabiliyor ve hatta veritabanına ajax ile ulaşabiliyorsunuz. yukarıda saydığım eksiklere rağmen bize sunduğu olanaklar aslına bakarsanız oldukça çok. sadece sabırla bu bebeğin gelişmesini izlememiz gerekiyor.

silverlight 1.1 ile ise, .net yazılımcıları neredeyse bayram ediyor. çünkü eğitimlerde gördüğümüz kadarıyla, js ile zorlaya zorlaya yaptığımız 20-30 satırlık işlemleri, .net kodlarıyla sadece 2-3 satırda yapabiliyoruz. silverlight 1.0 ile yapamadığımız bazı şeyler artık yapılabilir durumda olacak, mesela dosya sisteme -kullanıcının rızası ile- erişim ve dosyaların sunucuya gönderimi gibi. ancak silverlight 1.1 şuanda betadan öte alpha sürümünde. yani size kesinlikle bir stabilite garantisi sunmuyor.

daha sonrasını düşünürsek, silverlight bize yapamadığımız veya yapmakta zorlandığımız birçok şeyi kolaylıkla yapabilmemizi sağlayacak. özel uzmanlara gerek kalmadan, bu işin içindeki hemen hemen herkes, bir şekilde silverlight ile uygulamalar geliştirebilecekler. dünyadaki windows kullanıcı sayısını da düşünürsek, windows update ile silverlight player ’ın yayılması dediğimizde, ne kadar büyük bir kitleye yayılabileceğini anlamış oluruz.

adobe flash ve microsoft silverlight
aslında herkesin merak ettiği ve tartıştığı nokta burası: microsoft silverlight ne kadar adobe flash? microsoft ’un silverlight ’ı adobe flash ’ın tekelini ortadan kaldırmak için çıkardığı bir gerçek. her ne kadar resmi birşeyler duyamasak da bu konuda microsoft bu pazardan payını almak istiyor.

yukarıdaki yazdıklarımı bu bölüme örnek olarak görebilirsiniz. silverlight henüz bir bebek olsa da, flash da ne kadar bir yetişkin olsa da aralarındaki fark aslında yok denebilecek kadar az. çünkü microsoft bu sefer akıllılık edip, eksiklerini ve olması gerekenleri iyi görmüş ve ona göre davranmış. elbette ki hiç bir yazılımın, hele hele microsoft yazılımının ilk etapta tam ve eksiksiz olmasını bekleyemeyiz. ama silverlight, şuanki sürümü ve olduğu kadarıyla oldukça ileride diyebiliriz.

silverlight ’ın bana göre en önemli farkı ve gelişmişliği daha ilk sürümünde bile milyonlarca geliştiriciye sahip olması. kapsamlı bir flash uygulama geliştirmek istiyorsanız, ekibinizde bir tasarımcı, bir yazılımcı ve bunların arasındaki iletişimi sağlayacak bir actionscript uzmanına ihtiyacınız olacak.ülkemizi bıraktım, tüm dünya çapında ne yazık ki gerçekten iyi diyebileceğiniz actionscript uzmanları çok ama çok az. işin microsoft tarafında ise önceden söylediğim gibi, sadece iki kişi yetiyor. bir tasarımcı ve j a v a s c r i p t/.net uzmanıyla yapmak istediklerinizi yapabiliyorsunuz. ikisi de aslında bir web projesinde olmazsa olmaz kişiler. olaya daha geniş açıdan bakarsak, bu iki kişiyle wpf sayesinde oldukça iyi masaüstü programlar da geliştirebiliyorsunuz!

büyük bir ikilem
eğitim sırasında aklıma takılan çok büyük bir soru işareti var. biliyorsunuz, bir adobe flash uygulaması geliştirdiğinizde web üzerinden sunacağınız bir swf dosyası oluşturulur ve bu dosya aslında bir binarydir. yani tekrar düzenlemek için ya yasadışı yollardan swf yi kırmanız, ya da kaynak dosyası olan fla ’ya sahip olmanız gerekir. hatta, emeğinizi korumayı amaçlayan ve swf ’nizi şifreleyen uygulamalar sayesinde yaptıklarınız tamamen size ait olabiliyor; başka yerde kullanılamıyor.

microsoft ’tan asla beklemeyeceğim bir şekilde, silverlight ’da böyle birşey yok! yani sizin uygulamanız js ve xaml tabanlıysa, isteyen herkes aslında uygulamanızı komple veya kısmen kullanabilir. bunun için browserın adres kısmına dosya isimlerini yazması yeterki.

açıkcası bu, beni silverlight kullanmakla kullanmamak arasında ikileme sokan tek şey. gizliliğine çok bağlı olan microsoft neden böyle birşey tercih etti, el emeği göz nuru uygulamalarımı başkalarının ben yaptım diyerek çıkabilecek olması beni rahatsız etmeli mi? diğer taraftan düşünürsek webdeki her örneğe ulaşabileceğiz ve inceleyebileceğiz veya silverlight’ı geliştirmek için yazılan her komponent aslında açık kaynaklı olacak ve parayla satılması biraz abes kaçacak.

silverlight için neler gerekli?
bir silverlight uygulaması geliştirmek istiyorsanız, temelde şunlara sahip olmanız yeterli olacaktır:

microsoft silverlight (player): browser üzerinden silverlight uygulamalarını görmenizi sağlayan yazılım. 1.0 sürümü şuanda en stabil olanı. 1.1 ’i kesinlikle şuanda kurmanızı önermiyorum.
asp.net framework 3.0: wpf uygulamalarının çalışmasını (blend gibi) ve silverlight ile uygulama geliştirmenizi sağlar.
microsoft expression blend: silverlight üzerine kullanacağınız grafiklerin ve arayüzün tasarlanmasında kullanılan program. animasyonlarınızı da bu uygulama ile geliştirebiliyorsunuz. şuanda blend ve blend 2 olmak üzere 2 sürümü bulunmakta. benim tavsiyem blend 2 yönünde olacaktır.
bir j a v a s c r i p t editörü veya microsoft visual studio 2008: burada tercih size kalmış, silverlight 1.1 i bekleyip .net mi yazacaksınız, yoksa js ile mi devam edeceksiniz. js editörü olarak aptana şu sıralar en çok tercih edilen uygulama sanırım. visual studio için ise, silverlight eklentileri bulunmakta.
videolarınız için microsoft expression encoder.
bu kurulumların nasıl olacağını merak ediyorsanız daron yöndem ’in baştan sona silverlight kurulumu yazısı işinize yarayacakır.


tabiki bu yazi bir alintidir.aha $urdan.

http://www.siberkultur.com/?q=microsoft-silverlight
esrakesh
microsoft expression blend ortamında silverlight uygulamaları geliştirilebilir. lakin hep flash hem de silverlight ile uygulamalar yapmış biri olarak naçizane fikrim şu haliyle flasha rakip bile olamamasıdır bunun en buyuk nedenlerinden biri kullanıcılar tarafından henüz fazla tercih edilmemesidir. sadece microsoft un adobe ürün ailesine karşı ürettiği alternatif bir paket olan microsoft expression studio nun yaygınlaştırılması ve daha fazla geliştirilmesiyle belki adobe un tasarım ve yazılım alanındaki kullanım payını biraz azaltabilir.

neden bekliyorsun?


bu sözlük, duygu ve düşüncelerini özgürce paylaştığın bir platform, hislerini tercüme eden özgür bilgi kaynağıdır.
katkıda bulunmak istemez misin?

üye ol