Sayfalar

4 Mayıs 2011 Çarşamba

flash, kaderi ve diğerleri... bir geri dönüş hikayesi...

        Değişimi farketmişsinizdir, artan bir ivmeyle gelişen bir teknoloji mevcut özellikle de sanal dünyada. Artık kişisel bilgisayarlarımızda kullandığımız programlar yavaş yavaş web ortamına geçmeye başladı. İlk önce ofis programlarımız geçti, daha sonrasında çizim programları internet ortamına geçti.Bu kaçınılmaz bir olaydı. Yavaş yavaş oyunlar da web ortamına geçmeye başladı. Özellikle Unity, Flash ve HTML5 sayesinde. Bu süreç zarfında ise kimi programlar dönemin vazgeçilmezi oldu, kimi kütüphaneler yenilendi ve kimileri de küllerinden yeniden doğdu. Bu seferki yazımda Flash'ın en sonki gelişmelerinden ve bu zamana kadarki geçirdiği mücadelelerden bahsetmeye çalışacağım.

        Flash'ı benimsemeye başladığım dönemler olan benim lise dönemlerimde hep kendi kendime neden flash'ın 3boyut desteği yok derdim veya o sıralar firma sahibi olan Macromedia'nın neden böyle işlere el atmadığını merak ederdim ve birgün el atmaları umuduyla beklerdim.
Adobe'un Macromedia'yı satın aldıktan sonraki çıkardığı ilk Flash versiyonu olan CS3 ile birlikte gelen yeni Action Script dili olan AS3 artık bu yeniliklere gebeydi. CS4 sürümüyle gelen Flash ise 3D'ye kodlarla değil de direkt olarak müdahale edebilecek kapasiteye erişmişti. Artık kendi araç çubuklarıyla da 3D destekli nesneler yapılabilmekteydi. Hal böyle olunca Web ortamında 3D teknolojisi daha da gelişti, görselleşti ve gerçek hayata yakın olmaya başladı. Ancak halihazırda performans açısından oldukça sıkıntılı durumlar yaşatmaktaydı kullanıcılara. İşte bu noktada bir tarafta Microsoft Silverlight'ı geliştirmeye devam ederken diğer tarafta da HTML5 devreye girmesiyle kafalarda şu soru türemeye ve giderek de yayılmaya başlamıştı; acaba Flash'ın sonu mu gelmekteytdi? Hepsine genel olarak bakınca ortalama aynı işlevi yapan diller mevcuttu piyasada. Web ortamında hem HTML5 hem de AS3 paint uygulaması kullandım ki ikisi de oldukça başarılıydı. Silverlight da pek çok özelliği açısından Flash'ın kapasitesine sahip ama bence Silverlight halihazırda Flash ile yarıştırılmamalı, onlar farklı kulvarların adamı. HTML5 ise benim gözümde daha ziyade AS3'e rakip olabilecek bir seviyede.


       Yaklaşık bir ay kadar önce Firefox4'ü kurdum. Ana sayfasında Web'o'Wonder dünyasını keşfetmemi söyleyen bir link bulunmaktaydı ki uzunca bir süre gerek duymamıştım keşfetmeye :) Bir gün aklıma esti ve açtım. Karşıma çıkan güzellikler beni resmen büyülemişti zira artık web ortamı sadece metinsel görsel içeriklerin sunulduğu interaktif bir ortam olmaktan çıkmaya, hatta daha ötesine gitmeye başladı. Bu gelişmeyi sağlayan HTML5'di ancak temelinde ise yeni bir kütüphane mevcut: "WebGL"

        Peki WebGL'de bu kadar abartılacak ne var derseniz, hemen anlatalım. WebGL Khronos'un çıkardığı ve geliştirdiği OpenGL'in web için piyasaya sürülmüş halidir. Peki OpenGL nedir? O ise başlı başına incelenmesi gereken bir konu ancak kısaca OpenGL her platforda desteği bulunan açık kaynak kodlu bir grafik kütüphanesidir.

Çizimleri, özellikle de üç boyutlu olanları kolaylaştırmak OpenGL'in temel görevidir dersek yanlış olmayacaktır. Microsoft'un DirectX'ine alternatif nitelikte bir kütüphanedir. Halihazırda açık kaynak kodlu olduğu için ücretsiz dağıtılmaktadır. Bu hem gelişmeyi hızlandırmakta hem de maddi açıdan sıkıntı yaratmakta kaçınılmaz olarak. Bugün pek çok oyun beraberinde OpenGL desteğiyle de gelmektedir ki açık kaynak kodlu olan Ogre3D ile yapılan oyunlar ve uygulamalar hangi kütüphaneyi seçmek istediğini kullanıcıya sorar.
Şimdi OpenGL hakkında genel bi kanıya sahip olduğumuza göre WebGL'in de bunun web ortamı için hazırlanmış sürümü olduğunu söylemek yanlış olmaz. Zira Java Script kodlarıyla artık pek çok üç boyut projesine el atabilecek seviyeye ulaşmıştır HTML. Dikkat edilebilecek bir diğer husus olarak da OpenGL'in performansıdır zira OpenGL direkt olarak donanıma erişebilen bir kütüphanedir. Bu noktadan yola çıkarak WebGL'in de daha tam olarak kullanmasam da donanımlara eriştiği söyleyebilirim çünkü örneklerindeki performans oldukça tatmin edici bir seviyedeydi. HTML5 açısından bakınca olay kaba hatlarıyla bu şekilde.
 
   ( Örnek WebGL uygulamalarını resimlere tıklayarak veya Khronos deposuna gidip inceleyerek ne demek istediğimi daha iyi anlayacağınızı düşünüyorum. )

          Tam da Flash performans açısından sıkıntılar çekerken yaşanan bu gelişme bir anda dikkatleri çekti ve eleştiriler artırmaya başladı; Flash ne durumdaydı? Şahsi görüşüm olarak söylemem gerekirse bu gelişmeler daha pek çok kişi için bilindik değil, bilinen şey ise Flash'ın yıllardır süregelen varlığı. Ben daha ortaokul yıllarımdayken vardı Flash uygulamaları. Hal böyleyken Adobe'un bu potansiyeli yok sayacağını ve pes edeceğini düşünmek de oldukça mantıksızdı bu tartışma için. Halihazırdaki 3D kütüphanelerinden olan Away3D, Papervision3D vb. kütüphanelerin ya kendi kodlarını yeniden düzenlemesi gerekirdi ya da Adobe'un kullanıcı dostu bir gelişmeyle geri dönmesi ki her ikisi birden oldu. Hem Adobe Labs'da " Molehill " adlı teknolojisini geliştirirken buna uyumlu sürümü olan Flash Player'ın 11'i geliştirdi hem de 3D kütüphaneleri uygun yeni sürümlerini piyasaya sürdüler.
         Peki bu Molehill adlı teknoloji nedir derseniz; Adobe'un kendi uygulamalarındaki performans zayıflığını gidermek için çıkardığı teknolojidir diyebiliriz. Adobe'un sitesinde yapılan açıklamaya göre Flash Platformuna sahip uygulamalar için hızlandırıcı bir teknolojiymiş.Örnek açıklama olarak da şunu; normal bir Adobe Flash Player 10.1, Z boyutunun derinliğindeki binlerce üçgeni yaklaşık olarak 30Hz'de hesaplayabilirken yeni geliştirilmiş bu teknolojiyle yüzbinlerce üçgeni HD çözünürlükte tam ekran modda ve 60Hz. civarında hesaplayabileceğini söylüyorlar. Bu da beraberinde daha karışık ve zor ortamların yaratılabileceğini de göstermiş oluyor teknik olarak. Peki bu gerçekte nasıl? Tek kelimeyle " muhteşem " en azından şimdilik, ki daha da geliştiği zaman görün siz bu teknolojiyi. :)

        Bir önceki yazımda ise Away3D'nin bu teknoloji ışığında geliştirmiş olduğu en son kütüphane olan Away3D Alpha 4.0 "Broomstick"den bahsettim. Bir sonraki yazımda ise umarım ki bu kütüphaneleri kullanıp yapacağım çalışmaları paylaşacağım :)

        Örnek uygulamaları görmek için aşağıdaki resimlere tıklayınız. Denemeden geçmeyin zira araba çok kaliteli bir örnek olmuş. Araba uygulamasının "High" versiyonunu çalıştırarak aşağıdaki örnek resimleri elde ettim. Tebrikler tüm bu gelişmeleri yaratanlar :) 









Hiç yorum yok:

Yorum Gönder