Daha once de belirttigim gibi, PhoshopMagazin dergisi icin Zihni Babuz ile birlikte HTML5 ve Flash kiyaslamasi yapmistik.
2 bolum seklinde yayinlanan yazinin 1.bolumunu daha once blogumda paylasmistim. Eylul-Ekim sayisinda yayinlanan 2. bolumunu de bu yazimda paylasacagim.
Yazinin ilk bolumunu merak edenler icin su linkten kiyaslamanin 1.bolumunu okuyabilirler
http://www.aliogul.com/blog/2010/06/29/html5-vs-flash
HTML5 ve FLASH – 2
Bir önceki sayıda Flash ve HTML5 konusunda Apple ile Adobe arasında yaşanan söylemleri mercek altına yatırmış ve her iki teknolojiyi teknik olarak incelemeye başlamıştık. Video ve Animasyon konularında yeteneklerine değindiğimiz Flash ve HTML5’in diğer konularda da üstünlüklerini tarafsız gözle incelemeye devam ediyoruz…
3D
3D konusu en çok karşılaştırılan kriter diyebiliriz. Flash 3D konusunda oldukça gelişmiş durumda. Flash’ın kendi API’leri dışında açık kaynaklı olarak sunulan ve gün geçtikçe yenileri geliştirilen bir çok Flash 3D API’si mevcut.
Web ortamında gördüğümüz hemen hemen her 3D animasyon Flash tabanlıdır. Bazı uygulamalar direk Flash’ta yapılsa da bazıları 3D programlarıyla daha gerçekçi görüntü elde edebilmek için modellenir ve Flash’a aktarılır.
Flash kendi içerisinde de 3D konusunda 2’ye ayrılır. ActionScript ile kodlanan 3D uygulamaların yanında objelerinize de basit anlamda çok da gerçekçi olmayan 3D efectleri verebilirsiniz. Bunun için gerekli olan araçlar Flash CS4 ve Flash CS5 versiyonlarında bulunuyor.
HTML5 ise 3D’de gelecek vadediyor. Çok hızlı gelişen HTML5’in 3D özelliğini şimdiden kullanmaya başlayan geliştiriciler Flash yerine HTML5’i tercih edebiliyor. Ancak HTML5’in henüz tam anlamıyla tarayıcılar tarafından desteklenmiyor olması sorun olabiliyor. Bununla beraber henüz yeni geliştiği için bir çok eksiği bulunuyor. Şuan HTML5’in geliştirilmekte olan bir kaç JS 3D API’leri mevcut.
Genel olarak Flash, 3D konusunda HTML5’ten üstün. HTML5 CPU bakımından Flash’tan biraz geride kalıyor. Fakat HTML5’in yeni yeni gelişiyor olması durumları değiştirebilir.
Flash 3D´nin geleceği ve yeni API her yıl düzenlenen Adobe MAX’de duyurulacak. GPU hızlandırması yeni render özellikleri gibi konular Adobe MAX 2010’de yer alacak.
CPU konusunda Adobe Flash Player 10.1 ile sistem yormalarını azalttı ve Flash´ı daha da hızlandırdı.
ARAYÜZ
Uygulama hazırlarken çalışılan alan ve arayüz oldukça önemlidir. Programın araçları , arayüz kullanılabilirliği uygulama hazırlayanlara kolaylık sağlayabilmekte.
Flash tabanlı uygulamalar hazırlamak için bir çok seçeneğiz var. Bunların başında Flash Professional geliyor. Ancak Flash Develop, Flash Builder(Flex), Flash Catalyst gibi programlarla da Flash tabanlı uygulamalar hazırlanabiliyor. Flash Professional programının avantajı grafik arayüze sahip olması ve diğer Adobe programlarıyla etkileşim içinde olması. Bu programla Flash ile ilgili istediğiniz her şeyi yapabiliyorsunuz.
Flash Develop ise daha çok ActionScript kodlama yapanlara yönetik bir AcionScript Editörü diyebiliriz. Sadece kodla uğraşanlar yine bu programla Flash tabanlı uygulamalar hazırlayabiliyorlar.
Flash Builder yani eski adıyla Flex ise yine Flash tabanlı uygulamalar hazırlamaya yarıyor. Ancak Flex’in yapısı biraz daha farklı. Flash Builder’ı HTML gibi düşünebiliriz. Açık kaynaklı kodlu farklı bir yazılımdır. (Flex ile ilgili detaylı bilgi için www.flexnedir.com sitesini ziyaret edebilirsiniz)
HTML5’i ise Dreamweaver gibi HTML editörlerinin tümüyle kodlayabilirsiniz. HTML5 derleme yapmadığı için yani her şey kodlarla yapıldığı için her programla hazırlanabilir. Notepad’te kodları yazıp html olarak kaydetmek gibi.
HTML5’in her hangi bir arayüz programı yok. Bu açıdan animasyonları rahatça oluşturmak ve test etmek Flash’a oranla eksik kalıyor olabilir.
KOD YAZMA
HTML5 bildiğimiz gibi Html versiyonunun son sürümüdür. Bu yüzden HTML&JavaScript kodlama yapısına sahip.
Flash’ın kodlama yapısı ise ActionScript. ActionScript’in günümüze kadar 3 versiyonu çıktı. AS1, AS2 ve AS3. ActionScript 3.0 son versiyon olup en sağlıklı yapıdadır.
ActionScript ve JavaScript, Ecmascript tabanlı oldukları için yapı olarak bir birlerine çok benzemektedirler. Fakat ActionScript’i , JavaScript gibi sadece kodlayıp çalıştıramayız. ActionScript’in derlenmesi gerekiyor aksi halde sadece kodu yazıp kaydetmek ile çalışmaz. Bu derlemeleri de Flash ve yardımcı programları yapmakta.
Yukarıda da bahsettiğimiz gibi HTML5’i her yerde kodlayabilirsiniz. Bu tamamen size kalmış. Aynı şekilde ActionScript’i de ancak actionscript’in çalışabilmesi için derlenmesi gerekiyor.
UYUMLULUK
Gerek HTML5’in yaygınlaşması gerekse Flash’ın yaygınlanması amacıyla uyum sağladıkları Sistemler ve Tarayıcılar çok önemlidir. Bununla beraber Mobil ortamlarda destekleniyor olması çok büyük etken haline geldi.
Flash Browser(tarayıcı)’lardan bağımsız çalışmakta. Ancak Plug-in yani eklentiye ihtiyaç duymakta. Flash Player yüklü olmayan bilgisayarlar kesinlikle Flash görüntülenmez. Ancak HTML5 böyle bir eklentiye gereksinim duymuyor fakat tarayıcıların HTML5 ile uyumlu olması gerekiyor. Şuan bu uyum henüz sağlanamamış olsa da Chrome ve Safari HTML5’i tamamiyle destkliyor. Firefox ve Internet Explorer ve diğer tarayıcıların ilerleyen versiyonlarında HTML5’i desteklemesi bekliyor.Internet Explorer’ın 9. versiyonu HTML5’i destekleyeceği biliniyor.
Flash, Microsoft Windows, Mac OS X, Linux, Solaris, Symbian, Windows Mobile, Maemo ve Android işletim sistemlerinde çalışmakta. Mobil ortamlarda Flash, Android ve BlackBerry’de tam performans sağlamakta.
HTML5 ise bütün işletim sistemleri ve mobil platformlarda çalışmakta ancak dediğimiz gibi tarayıcı desteği sorunu yüzünden henüz tam olarak bu uyum sağlanmış değil.
GİZLİLİK
HTML5, diğer bütün html versiyonları gibi açık kodludur. Html5 ile yapılan çalışmaların kodlarına herhangi bir kullanıcı rahatlıkla ulaşabilir. Bu HTML dilinin doğasında var olan bir şeydir bu yüzden HTML5 ile yaptığınız birçalışmanın kodları gizli kalmaz.
Flash’ta ise durum farklı. Flash ile yapılan çalışmarın kodları gizlenebilir. Animasyonlar aracı bir programla yapıldığı için bunları sadece izleyebiliriz. Yazılan ActionScript kodlamalarına da HTML5 gibi ulaşmak mümkün değildir.
Flash tabanlı çalışmalar SWF formatında olduğu için ve SWF dosyası bir Embed kodu ile siteye yerleştirildiği için sadece bu html embed koduna ulaşılabilir.
Ancak bununla beraber oldukça popüler olan bir takım programlarla bir Flash çalışmasının ActionScript kodlarına ulaşılabiliyor.Bu tür programlar SWF dosyasının içeriğini kodlarıyla beraber gösteren hatta bunu kaynak dosya (.fla) ‘ya çeviren programlardır.
Bir çok Flash geliştirisinin başını ağrıtan bu programlarla Flash uygulamaları kopyalamak oldukça kolay hale geldi. Fakat bu programlar hiç bir zaman %100 sonuç vermemektedirler.
Bununla beraber bu tür programların kodlara ulaşabilmesini engelleyen başka popüler “kod kilitleyici” programlar mevcut. Bu programlarla kilitlenen SWF dosyalarında yer alan kodlara yukarıda bahsettiğimiz programlarla ulaşılmaya çalışıldığında kodlar anlaşılmaz halde ve çalışmaz halde görünüyor. Bu kodlar kopyalansa bile çalışmayacaktır.
GÜVENLİK
Özellikle Flash uygulamaları güvenlik konusunda oldukça eleştiriliyor. Apple & Adobe tartışmaları sırasında Apple’ın dile en çok dile getirdiği şikayet Flash ve güvenlik sorunu. Öte yandan Symantec’in Global Internet raporunda Flash; web eklentileri ve tarıyıcı güvenliği açısından 2. sırada yer alıyor.
Adobe’nin açıklamasına göre Flash güvenliği Flash Player için öncelikli bir konu. Adobe her fırsatta bu açıkları sürekli kapatıp güncellemeler yaptığını belirtiyor.
Html5’te her ne kadar bir takım güvenlik sorunu olsa da önceki versiyonlara göre bu konuda gelişim sağlanmış.
Güvenlik konusunda bir çok şey aslında geliştirici ve kodlamasına bağlıdır. Bununla ilgili HTML5’te de Flash’ta da uyulması gereken temel kuralları internet ortamında bulmak mümkün.
MULTITOUCH
Zaten gelecek vadeden Multitouch özellikli bilgisayar ve telefonlar özellikle iPhone ve iPad ile beraber popülerliğini arttırmış durumda. Multitouch özellikli bilgisayarlar ve telefonlar hızlıca yaygınlaşıyor. Artık çoğu bilgisayar ve telefon üreticileri bu alan üzerinde çalışmalarını sıklaştırmış durumda. Multitouch özellikli ekranları Pad’leri yavaş yavaş daha çok görmeye başladık.
Bu noktada Flash ve HTML5 kıyaslamasında önemli bir yere sahip.
Flash, multitouch teknolojisinin gelişmesiyle eş zamanlı olarak bu desteği ve gelişimi gerçekleştirmeye çalışıyor.
Flash, Multitouch bilgisayar ve telefonları destekliyor. Adobe’nin açıklamasına göre Flash teknolojisi Multitouch arayüze sahip cihazların tümünde sorunsuz şekilde çalışıyor. Flash Player 10.1 ve Air 2.5 ile Multitouch özelliği daha da gelişmiş durumda.
HTML5’te de Multitouch özelliği yer alıyor. Html5’i tamamen destekleyen tarayıcıları barındıran bütün cihazlar bu özelliği destekler.
SONUÇ
Son iki sayıda çok tartışılan HTML5 ve Flash kıyaslamasını elimizden geldiğince tarafsız bir şekilde yapmaya çalıştık.Bu süre içinde özellikle yeni çıkan bir teknoloji olmasından dolayı HTML5 hakkında kaynak ve bilgi edinme konusunda oldukça zorlandık. Bu sebepten ötürü kıyaslamalarda eksik taraflar da olmuş olabilir. HTML5 hakkında ilerleyen günlerde daha çok kaynak daha çok bilgi edinebileceğiz. Yavaş yavaş yaygın hale geldiğinde gerekli kıyaslamaları siz de gerçekleştirip seçiminizi yapabileceksiniz.
HTML5 daha iyi ya da Flash daha iyi gibi bir yorum yapmak yerine bu konuda bu sayıda ve önceki sayıda yaptığımız kıyaslamaları okuyumanızı öneriyor ve tercihi size bırakıyoruz.
Ancak bize göre HTML5 ve Flash’ı ikinsinden birini seçmek zorunda kalacağınız seçenekler olarak düşünmek yerine her ikisini de inceleyip bu iki harika teknolojiyi yakından takip etmelisiniz.
Yeri geldiğinde Flash daha iyi, yeri geldiğinde HTML5 olacaktır. İkisinin de bir arada kullanılacağı çalışmalar/siteler de olacaktır.
Ancak şu bir gerçek Flash yıllardır var olan bir teknoloji ve oldukça uyum sağlamış durumda gün geçtikçe gelişmeye de devam ediyor. Ancak HTML5 yeni çıkan bir teknoloji, bu teknolojinin yaygın hale gelmesi ve bütün sistemler tarafından desteklenmesi zaman alacaktır.
Internet Explorer 6.0 yüzünden hala bir çok sitenin .PNG kullanmadığını düşünürsek, HTML5 ‘in tarayıcı desteği yüzünden bütün kullanıcılarda sorunsuz şekilde çalışıyor hale gelebilmesi oldukça zaman alacaktır.