17 Kasım 2011 Perşembe

Flash'ın Geleceği Konusunda Adobe'dan Kıvrak Hamle

Adobe firması, temel ürünü ve gözbebeği olan Adobe Flash bileşenlerini oluşturmaya yarayan Flex'in geliştirmesini Apache vakfına bıraktığını açıkladı. Bu hamleyi Adobe açısından akıllıca, ya da en azından düştüğü zor durum bağlamında akıllıca bir hareket olarak görüyoruz. Bu yazımızda bunu irdeleyeceğiz.
Flash oyunları oldukça popüler oldu ve geleneksel oyuncu profilini değiştirdi

HTML5'in ortaya çıkışı, web sayfalarında en çok kullanılan eklenti olan Adobe Flash ile Microsoft'un rakip olarak çıkarttığı Silverlight'ın geleceğini -en azından geliştiriciler için- büyük şüpheler altında bıraktı. Geliştiriciler diyoruz, çünkü son kullanıcı, eğer HTML5'i desteklemeyen bir web tarayıcı kullanmıyorsa (ki son zamanlarda iyice olgunlaşan otomatik güncellemeler sayesinde bu durum da büyük bir sorun olmaktan çıktı) zaten güncellenmiş web sayfalarını görecek. Geliştiriciler için ise kritik birkaç soru ortaya çıktı: Silverlight ve Flash ile yapılmış varolan geliştirmeler ne olacak? Yeni geliştirmeler için, eğer HTML5'i tercih edersek özellik kümesi yeterli olacak mı?

Web Tarayıcı Eklentileri

Web tarayıcılar ilk ortaya çıktığında sadece sayfa göstermeye yarıyordu. Sayfaları daha etkileşimli hale getirmek fikri ise ilk olarak Java Applet'leri ile denendi. Buna göre applet adı verilen minik bir Java programcığı aynı resimler gibi sayfaya yükleniyor ve sonra da web tarayıcının Java sanal makinesi tarafından çalıştırılarak kendine ayrılmış dikdörtgene istediğini yazıp çizebiliyordu.
Java appletleri maalesef daha çok yavaş yüklenmesiyle bilindi

Ancak Java Applet'ler beklendiği kadar başarılı olamadı. Applet yüklenen sayfalar hantallaşıyordu. Ayrıca o zamanlar popüler olan Netscape Navigator ile Microsoft Internet Explorer Java'larındaki farklılıklar, hızla gelişen ve ardarda versiyonlar çıkaran Java platformunu takip etmek ve güncellemek geliştirmeyi de zorlaştırıyordu.

Microsoft karşılık olarak ActiveX teknolojisini çıkarttı. Bu hemen hemen hiç tutmadı, çünkü ActiveX ile üretilen bileşenler sadece Internet Explorer'da çalışabiliyordu ve doğrudan makine dilinde çalıştığı ve kodun Java gibi bir güvenlik sandbox'unda (kum havuzu) çalışması yapısal olarak mümkün olmadığı için güvenlik açıklarını da gayet mümkün hale getiriyordu.

1997 yılında Adobe ilk Flash eklentisini çıkarttı. İlk Flash aynı appletler gibi kendisine ayrılan dikdörtgen içinde, ama daha çok animasyon yapmak için kullanılıyordu. Sonra yavaş yavaş basit programlama özellikleri, en sonunda da Actionscript adlı Javascript dialekti ile (Javascript'e az sonra değineceğiz) tam olarak programlanabilir hale geldi. Flash o kadar başarılı oldu ki, şu anda bile, en azından PC platformu bağlamında baktığımızda web tarayıcıların %99'unda kurulu durumdadır.

Silverlight'ı ise uzun uzun anlatmaya gerek yok. Flash ile aynı işlevlere sahip, ama Microsoft geliştirme araçları ile geliştirilebilen bir eklenti.

HTML 5

Java applet'leri çıktıktan az sonra web tarayıcılarına Javascript adlı bir dil peydah oldu. İsminde Java bulunması sadece o anda Java'nın popülerliğinden faydalanmak içindi. Bu dil ile eklenti falan gibi birşeye gerek olmadan doğrudan web sayfalarının içine program yazılabiliyordu.

İlk çıkışı pek sansasyonel olmayan Javascript uzun süre web uygulamalarının etkileşimliğini arttırmada önemli bir rol oynadı. Ancak halihazırdaki HTML standardı ile ne video oynatılabiliyordu (Örneğin Youtube videolarını gösterirken Flash eklentisini kullanır) ne ses çıkarılabiliyordu, ne de sayfaya birşey çizilebiliyordu. Bu da web sayfalarını Flash vb. eklentilere bağımlı hale getiriyordu.
Meraklılar Canvas ile herşeyi deniyor

Tüm bunlara cevap olarak çıkan HTML 5 standardı, grafik çizebilmek için Canvas elementini takdim ederken, video ve ses'i de tam olarak destekliyordu. Böylece eklentilere bağımlı kalmadan grafiksel anlamda gelişmiş uygulamalar yapma imkanı ortaya çıkmış bulunuyordu.

Adobe'un Bunalımı ve Hamlesi

Adobe'ye ilk büyük darbe rahmetli Apple'ın herşeyi, rahmetli Steve Jobs'dan geldi. Flash'ın çok hafıza ve pil harcayan (küçük cihazlar için önemli kriterler bunlar), yavaş, buglı ve güvenlik açıkları çok olarak nitelendirerek popüler iPhone ürününde desteklenmeyeceğini söyledi. İlk başta gayetle yaygın olan Flash'ı çalıştırmamak pek iyi bir karar değilmiş gibi gözükse de, HTML 5'in hızla yayılması endişeleri boşa çıkardı. Örneğin youtube bile videoların gösterimi için flash'ı hemen bırakmasa bile, flash yüklü olmayan web tarayıcıları için HTML 5 video desteğini ekledi.

HTML 5'in gelişimi Silverlight ile Flash'ı endişeye sürükledi. İlk havluyu atan (her ne kadar resmi olarak olmasa da) Microsoft oldu. Elbette Microsoft çok büyük olduğundan dolayı Silverlight mevzusu kendisi için Adobe'un olduğu kadar hayati değil (Elbette geliştiriciler yabancılaştırılması olacak, ama Microsoft zaten bunu hep yapıyor).

Ardından Adobe da artık HTML 5'i destekleyen araçlar üreteceğini açıklayarak kervana katıldı. Peki son derece yaygın Flash'a ne olacaktı? Üstelik Flash çok gelişkin özelliklere sahip, yani, en azından şu an HTML 5 Canvas'ın yapamadığı şeyleri yapabiliyordu. İşte Adobe bence bu konuda akıllıca bir iş yaparak Flash bileşenlerini geliştirmeye yarayan Flex SDK'sını Apache vakfına bağışladı. Apache vakfı, çok popüler olan Apache web sunucusu ile bilinse de, aslında birçok temel ve açık kaynaklı teknolojik ürünün geliştirmesini destekleyen bir kuruluş. Yani Adobe aslında gözbebeği ürününü emin ellere bıraktı. Diğer yandan da Microsoft'un klasik Visual Basic'de yaptığı gibi kendisine o güne kadar güvenmiş geliştiricilerini birden ortada bırakmamış oldu. Ama kendisi açısından esas önemlisi, Flash gibi artık yanlış konumda olduğu bir ürünün geliştirmesinde ısrar etmekten ve varlığını tehlikeye sokmaktan kurtuldu.

1 yorum:

  1. "Apache considered harmful" başlıklı bir blog yazısı üzerinden (fikre katılmıyorum) Hacker News'de güzel tartışma dönüyor şu anda.

    http://news.ycombinator.com/item?id=3268045

    YanıtlaSil