Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Silverlight Nedir?
#1
Silverlight Nedir?

Silverlight, temelinde Microsoft'un .Net teknolojisi yatan, internet tarayıcısı üzerinden çalışan, yüksek gürscllikli, hızlı ve gelişmiş web uygulamaları yapmayı sağlayan teknolojinin adıdır. Günümüzde yaygın olarak sunucu merkezli uygulamalar yazılmaktadır. Yani web sayfasında bir düğmeye basmak gibi bir işlem yaptığınızda bilgiler sunucuya gönderilir ve işlendikten sonra geri getirilir. Oysa görsellik, hızlı çalışan uygulamalar ve animasyonlar hazırlamak gibi amaçlarımız olursa uygulamınızın sunucu tarafında değil tarayıcı tarafında çalışması gereklidir. Adobe'un Flash yazılımı bu tarz bir çalışmaya örnek verilebilir. Swf uzantılı dosya kullanıcının bilgisayarına indirildikten sonra Flash player aracılığı ile sunucu bağımsız çalışabilir.

Günümüzün gelişen internet kullanım alşıkanlıklarını web sayfalarının durağan bir görüntüden çıkarak yüksek işlevsellik ve kullanım kolaylığını bir arada bulundurma ihtiyacını getirmiştir. Artık web uygulamaları masaüstü çalışan uygulamalardan farksız olmaya başlamıştır. Masaüstü programların çalışma rahatlığıyla web üzerinden çalışabilmek yine Silverlight gibi teknolojilerle mümkün olmuştur.

Silverlight ile RIA ilişkisi

RIA (Rich Internet Applications) kavramı zengin içeriğe sahip web uygulamalarını ifade etmek için kullanılır. Eski bir kavramdır. Adobe firması tarafından 1990 yılında ortaya atılmıştır. Grafikler, videolar ve şekiller gibi görsel öğelerin de internet ortamında kullanılmasını ifade eder. Silverlight teknolojisi de Flash gibi RIA uygulamaları geliştirme platformudur.

Silverlight ile WPF ilişkisi

WPF (Windows Presentation foundation) Framework 3.0 ile gelen ve .net uygulamalarını tamamen görsel yanı güçlü olarak geliştirmeyi sağlayan bir teknolojidir. Albenili projeler hazırlayabilmenizi sağlayabilmekle birlikte sadece windows tabanlı bir masaüstü uygulaması olarak çalışabilir. Bir Macintosh veya Linux ortamında bu teknolojiden yaralanamamamız bir dezavantaj oluşturur. Silverlight ise bu WP1; teknolojisinden geliştirilmiştir. Farkı bütün platformlarda ve tarayıcı üzerinden çalışabilir olmasıdır. Bu da onu internet ortamında kullanım için ideal yapar. Silverlight bu ismiyle lanse edilmeden önce WPF/E (Windows Presantation foundation/Everywhere) ismiyle anılmaktaydı. Bütün platformlarda çalışabilmek adına WPF'in bazı özelliklerinden mahrumdur. Bu mahrumiyet tabii ki bir web uygulaması olmasından kaynaklıdır.

Görsel yönü gelişmiş RIA uygulamaları geliştirmek için biz şu zamana kadar ne kullanıyorduk?

Flash gibi Adobe uygulamaları bu konuda programcıların kullandığı kaynaklardır.

Silverlight'ı 10 yıldan fazla süredir piyasada yer alan Flash platformu için bir rakip olarak görebilir miyiz?

Bir rakipten daha ötesi olarak da görebiliriz. Flash, 10 yıldan eski ve dünya üzerindeki internet tarayıcılarının %90'ında (tahmini) gerekli plug-in'i yüklü. Yani çok yaygın. Silverlight ile benzer görevleri yerine getiriyor ama önemli dezavantajları da var.

Flash'ın Dezavantajları Nelerdir?

1. Microsoft olmayan, lisans bedelli ve en önemlisi harici programları kullanmanız gerekir.

2. Flesk ya da Flash yazılımı gibi uygulamanızı bu ortamlarda geliştirdikten sonra web sayfanız üzerine yerleştirebilirsiniz.

3. Kodlarınızı actionscript ile yazmanız gerekir bu da kendine has kuralları olan yeni bir script dilini bilmek demektir.

4. Sunucunuz ve Flash uygulaması arasında kopuk bir yapı vardır. Flash rafında üretilen uygulamayı sunucu tarafından yönetmek oldukça zorduı

5. .Net dillerinin söz dizimine alışmış biri için kod geliştirme ortamı yabancı gelebilir.

Silverlight'ın sunduğu diğer avantajları da öğrendikçe aslında Flash'ı da rakip kabul etmeyeceğini anlayacaksınız. Zaten silverlight teknolojisini birebir Flash ile karşılaştırmayı da çok doğru bulmuyorum. Silverlight .Net geliştiricileri için daha rahat bir sistem olarak yer bulacaktır.

Silverlight'ın Avantajları Nelerdir?

Silverlight bütün tarayıcılarda kullanılabilir. Bunun yapılabilmesi için tek gerekli olan silverlight plug-in'in yüklenmiş olmasısıdır. Silverlight uygulaması içeren bir sayfa açtığınızda ve bilgisayarınızda ilgili plug-in yüklü değilse, yüklemenizi isteyen bir link gösterilecektir.

Silverlight kurulan sayfada hem de bütün diğer sayfalarda silverlight uygulamalarını görebilirsiniz. Kurulumun hızlı ve soruzsuz olması (birkaç tıklama dışında bir şey yapmıyorsunuz) önemlidir. Nitekim FlashPlayer'ında bu kadar hızlı yüklenebilmesi yaygınlaşmasında önemli rol oynamıştır.

1. Yüksek Grafik Kabiliyeti: Gelişmiş grafikler silverlight teknolojisiyle oluşturulabilir ve bunlara her türlü olayı atayabilirsiniz. Örneğin bir dikdörtgen çizip buna düğme özellikleri kazandırabilir, üzerine fare ile gelindiğinde veya tıklandığında nasıl davranacağını belirleyebilirsiniz.

2. Animasyon Kabiliyeti: Çok esnek bir animsyon hazırlama yapısına sahiptir. Bir düğmenin üzerine geldiğinizde titremesi gibi bir animasyonu birkaç saniye içinde yapabilirsiniz. Esnekliği sebebiyle istediğiniz öğenin istediğiniz özelliğini istediğiniz şekilde hareketlendirebilirsiniz. Silverlight'taki esnkelik kitabın içinde de fark edeceğiniz üzere sıradışıdır.

3. Medya Yönetim Özellikleri: Desteklenen video ve sesleri projelerinize dahil edebilir ve çeşitli efekt ve animasyonları yine bıı videolara katabileceksiniz.WMA, WMV, MP3 VC-1, MPEG-4 ve daha fazla video formatı silverlight tarafından desteklenir. Her yeni sürümle desteklenen video sayısının da arttığını söylemeliyim.

4. Hız: Client (istemci) bazlı çalıştığı için sunucu tabanlı dillere göre hızlıdır.

5. Geliştirme Rahatlığı: Silverlight istemci tarafında çalışır ama sanki sunucu tarafında gibi CS ya da Visual Basic dillerinde üzerine kod yazabiliriz. Bu özellik Silverlight'ın ikinci sürümüyle gelmiş büyük yeniliklerden biridir. İlk sürümde sadece javascript ile kontrol edilebilen yapı ikinci sürümden itibaren kendi derleyicisi ile C# ya da Visual Basic dillerinde de kontrol edilebilmektedir.

Silverlight'ın Dezavantajları Nelerdir?

Elbette silverlight teknolojisinin kendine göre yapısından kaynaklanan bazı sınırlamaları da var. Client taraflı çalışması bir taraftan avantaj iken bir taraftan da dezavantajdır. Sunucu üzerinde çalışmadığından sadece 80 portunu kullarak dışarı çıkabildiğinden doğrudan SQL Server'a bağlanabilme gibi bir imkanı yoktur. Veritabanına bağlanmak için klasik web servisleri veya WCE (Windows Comminicatiorı Foundation) servislerini kullanmak gerekir. RIA servisleri ile bu işlemler biraz daha kolaylaşmaktadır. Bunu bir dezavantaj olarak düşünmek yersizdir çünkü web servisleri ile veritabanına istediğimizi yaptırmak oldukça kolaydır. Yazıcı desteği olmaması da yine silverlight'ın bir dezavantajı olarak görülebilir (Silverlight'ın dördüncü sürümü ile destekleneceği duyurulmaktadır.). Geliştirilmeye devam eden Silverlight, yeni kolaylıklar getirirken kısıtlamalarını da azaltacaktır diye düşünüyorum.

Bilgisayar Programcılığının ilerlediği yolda Silverlight'ın yeri nedir?

Daha öğrenci yıllarıııdayken, arkadaşlarımla programcılık dünyasının nasıl bir yolda ilerleyeceğini tartışır, kendimizi doğru yönde geliştirmek için hangi teknolojileri takip etmeliyiz diye münazaralarda bulunurduk. O zamanlar web programcılığı windows uygulamaları kadar popüler değildi. Hatta .Net teknolojisi, Visual Studio gibi çözümler ortada yoktu -Intcllisense olmadan kod yazmanın ne kadar zor olduğunu anlatamam- O zamanlar bile ileride bütün uygulamaların web ortamına kayacağı öngörüsünde bulunabiliyorduk. Bu konuda haklı çıktık. Sayısız avantajından dolayı programlarımızı web ortamına taşıdık ve burada geliştiriyoruz.

Sıradaki aşama ne sorusunun cevabı değişkendir. Ama tahminim web uygulamalarının web'de olması özelliğini kaybetmeden windows programlarına benzeyecekleri yönünde. Yani yine merkezi bir yerden yayınlanacaklar ama istemci tarafındaki zengin yetenekleri ile sanki bilgsayarınıza setup (kurulum) dosyası ile kurulmuş bir program gibi hızlı hareket edebilen, sunucu ile bağlantısını minimize ederek kullanıcıyı bekletmeden ve tabii ki görsel yönüyle zengin, son kullanıcıyı cezbedecek uygulamalar.

Silverlight ve Görsellik

Bu sorunun cevabını biraz empati kurarak cevap verebilirsiniz. Müşterilere yazılım geliştiren bir firmada çalışıyorsunuz diyelim. Bir projeye başladınız. Analiz çalışmaları, veritabanı tasarımı, kodlama derken projenin sonuna yaklaştınız. Güzel bir temel üzerine inşa ettiniz ve uygulamanız programsal istekleri karşılıyor. Bu aşamaya kadar, diyelim iki ayda geldiniz. Bu noktada bir hafta daha ayırıp biraz da projenize görsellik kattınız. Çok büyük işlerden bahsetmiyorum. Ajax Toolkit'inden birkaç tane Accordion Panel ya da yavaşça açılan Dropdownlist'ler kullanmak gibi. Projeye bir de müşteri gözünden baktığınızda 1 haftada kazandırdığınız görsellik 2 ay boyunca uğraştınız temel yapıdan daha önemli ve daha çok bir iş gibi gelebilir. Demek istediğim programınızın iyi temellere oturması şarttır, ama bunun yanında görsellik üzerine de biraz zaman ayırabilirseniz memnuniyet üzerinde büyük etkisi olabilir. Tabii sürekli hata veren sağlam bir analiz çalışmasından geçmemiş süslü bir uygulama da aksine hoşnutsuzluk oluşturacaktır.

Silverlight Sürümleri

Diğer bütün teknolojiler gibi silvcrlight'ında mevcut halini alması zaman ve geliştirmeye harcanan aylar aldı. Silverlight adıyla anılan ilk sürüm 1.0 iki boyutlu grafik özellikleri ve video oynatabilme yeteneklerine sahipti ama çok önemli eksikleri vardı. Kontrolleri çok azdı. TextBlock ve birkaç shape nesnesini kullanabiliyordu. ihtiyacınız olan kontrolü (örneğin bir düğme) bu araçlar yardımıyla üretmek durumunda idiniz. Şimdi Datagrid'deıı açılır-kapanır panellere kadar sayısız kontrol silverlight içinde kullanılabilir.

Silverlight'ın 1.0 sürümündeki en önemli eksikliği ise CLR (Common Language Runtime) yorumlayıcısına sahip olmamasıydı. Yani silverlight üzerinde kodsal bir müdahale için javascript gibi script dillerine başvurmak zorundaydınız. Silverlight 2 ile bilirkte artık silverlight içinde C# ya da Visual Basic dillerini kullanmak mümkün olmuştur.

Birçok kişi tarafından 2.0 sürümü, ilk gerçek silverlight sürümü olarak bilinir. Daha sonra 3. sürüm yayınlandı. 2. sürümdeki bazı eksikliklerin giderilmesi sağlandı. Bunun yanında veri merkezli uygulamalar hazırlamak için önemli geliştirmeler yapıldı. Animasyon teknolojisi geliştirildi. Ve 3. boyut desteği geldi. Üçüncü sürüm ile gelen yenilik ve geliştirimler daha pek çoktur.

Silverlight uygulamaları geliştirmek için neye ihtiyacım var?

Visual Studio 2008 [Service Pack 1) ya da ücretsiz olan Express versiyonuna sahip bir bilgisayar silverlight uygulamaları geliştirmek için yeterlidir. Gerekli ve isteğe bağlı kurulumların ne olduğu ve sırası anlatılacaktır. Kitaptaki örneklerimizde ücretsiz olmasından dolayı Visual Web Developer 2008 Expres Edition kullanılmıştır. Bu kitap hazırlandığı sırada Visual Studio 2010 Beta2 sürümü indirilebilmesine rağmen henüz resmen yayınlanmamıştı. Ama tabii VS 2010 da silverlight uygulamaları için kullanılabilir.

Expression Blend isimli programın silverlight ile ilgisi nedir?

Expresion Blend uygulaması (çoğu zaman sadece blend olarak telaffuz edeceğiz) silverlight programlarının görsel arayüzünü daha hızlı, çoğu zaman kod yazmadan, tasarlamamızı sağlayan Visual Studio ile entegre çalışabilen bir uygulamadır. Blend, görselliği daha kolay tasarlamanızı sağlayan kullanımı çok sezgisel araçlar sunar. Projenizin görselliği ile ister siz ister tasarımcı arkadaşınız ilgele-niyor olsun Blend, Visual Studio ortamında yapacağınız birçok işlemi hızlandırır ve kolaylaştırır.

Bir web projesi baştan sona silverlight mı kullanmalı yoksa bir ASPX ya da HTML sayfasının istediğimiz bir yerine istediğimiz boyutlarda yerleştirebilir miyiz?

Elbette silverlight uygulamalarını istediğiniz diğer projelererinizin içine rahatça yerleştirilebilir.

Peki silverlight gerçekten her tip bilgisayarda ve tarayıcıda çalışır mı?

Evet. Zaten bu, silverlight'ı WPE'dcn ayıran en önemli özelliktir, ama farklı platform tarayıcılarının da son sürümlerinde çalışır.

Genel bakış açısı olarak dünya üzerindeki tarayıcılardan birçoğu bu şartları rahat sağladığından silverlight uygulamalarını da çalıştırabilme yeteneğine sahiptir.
Ara
Cevapla
  


Hızlı Menü:


Şu anda bu konuyu okuyanlar:
1 Ziyaretçi


Online Shopping App
Online Shopping - E-Commerce Platform
Online Shopping - E-Commerce Platform
Feinunze Schmuck Jewelery Online Shopping