Flash CS5.5 ile Gelişen Mobil Programlama - wmzilla.com | Webmaster ve grafikerler paylaşım , ticaret platformu
wmzilla.com | Webmaster ve grafikerler paylaşım , ticaret platformu > Diğer > Mobil uygulamalar > Android web uygulamaları
Flash CS5.5 ile Gelişen Mobil Programlama
Aslında Flash CS5 sürümü ile ilk olarak Flash ile mobil programlamanın temelleri atılmıştı. Ancak o dönemlerde Andorid ve iOS’larda Flash Player desteği muallaktaydı. Bu nedenle Flash Player yerina AIR üzerinden gidilerek mobil programlama yapılıyordu. Bildiğiniz üzere AIR’in platform sıkıntısı yoktur. Çünkü Flash Player zaten AIR ile gömülü geliyordu. Ama bu yine de Flash ile mobil programlama alanında büyük bir avantaj sayılmazdı. Sonuçta yapılanlar birer aplikasyon değildi. Zaten o dönemlerde bir de HTML5’in duyurulması ile Flash’ın tahtı biraz sarsılmaya başlandı. Aslında herhangi bir sarsıntı yoktu ama sanal dünyada bilip bilmeyen bütün herkesin yaptığı HTML5 ve Flash Savaşı yorumları ve öngörüleri ister istemez Flash’ın popülerliğini ve geleceğini de etkiliyordu. Açıkçası biz Flash geliştiricileri de CS6 sürümünde mobil programlama ve Flash Player üzerinde köklü güncellemeler bekliyorduk. Bu beklentilerimiz uzun sürmedi ve Adobe ilk defa .5 ile minör versiyon uygulamasına geçti. Bu konudaki açıklaması da güncel teknolojiler ile anında çözüm sunmak oldu. İyi bir karar. Flash Player 11 zaten 64 bit olarak duyurulmuştu daha öncesinde ve bu güzel bir zemin hazırlamıştı. CS5.5 sürümünde ise hem Flash hem de DreamWeaver programlarında mobil programlamaya ağırlık vererek bir ara sürüm çıkardı. DreamWeaber kısmı ise daha çok HTML5 ve Jquery ağırlıklı. Tabi bizi ilgilendiren Flash kısmı. Flash kısmında yapılan en büyük gelişme ise AIR projelerinden kurtulup direkt olarak Android için APK, iOS için de IPA formatında uygulamalar geliştirebilmemizdi. İşte bizim de beklediğimiz buydu. Artık biz de JAVA kullanır gibi Flash ile aplikasyon geliştirebilir bir hale geldik. Hem de çok daha kolay bir şekilde. Belki bileniniz vardır: Java’da uygulama geliştirmek bazen işkence haline gelebiliyor. Zaten Flash’ta hazırladığımız aplikasyonlar Java kodlarına çevrilerek derleniyor. Flash ile kolay programlama ve animasyon yapmak varken neden Java ile daha çok zaman ve emek harcayalım ki?
Flash’ın Mobil Cihazlardaki Hakimiyeti
Herhalde çoğumuzun aklında yer alan soru şudur: Flash’ın mobil programlamadaki sınırı ve hakimiyeti nedir? Şimdi bu soruya kısaca açıklamalar getirelim.
Son zamanlarda çıkan mobil cihazlarda da en büyük gelişmenin dokunmatik ekranlar olduğunu söylemeye gerek yok sanırım. Neredeyse yapılan bütün uygulamalar hep dokunmatik ekranlar doğrultusunda hazırlanıyor. Bununla birlikte cihazda yer alan çeşitli ivme sensörleri ile de cihazla yapılan çeşitli hareketler algılanıp aplikasyonlar kontrol edilebiliyor.
Şimdi Flash ile mobil cihaz üzerinde ne gibi kontrollerin ve hakimiyetlerin olduğunu kısaca inceleyelim.
Accelerometer: Mobil cihazdaki ivmeölçerlerden alınan değerler ile uygulamalara yön verilebiliyor. Mesela kullanıcı telefonunu sağa doğru eğdiğinde Flash’ta yer alan bir topu sağa doğru yuvarlayabiliriz.
Geolocation: Cihazın anlık olarak GPS verilerini alabiliriz.
Touch: Kullanıcının ekran üzerindeki dokunuşlarını aynı Mouse ile tıklama olayını algıladığımız gibi algılayabiliriz.
MultiTouch: Kullanıcının ekran üzerindeki birden fazla dokunuşunu algılayabiliriz.
Geusture: Kullanıcının çeşitli parmak dokunuşu ve hareketlerini algılayabiliriz. Mesela kullanıcı ekranda bir alana parmağını koyup başka bir alana parmağını sürdüğünde, kullanıcının hangi eksende hangi doğrultuda parmağını sürdüğünü algılayabiliriz.
Kamera ve Mikrofon: Cihazın kamerasından görüntü veya video alıp kaydedebiliriz. Aynı şekilde mikrofondan da ses alıp kaydedebiliriz.
SQLLite: SQLLite ile bütün veritabanı işlemlerimizi gerçekleştirebiliriz.
Bunların haricinde yine URL ve XML, dosya/dizin, video/ses oynatmak gibi işlemlerin yanı sıra normalde Flash Player üzerinden yapabildiğimiz bütün işlemleri yine eksiksiz olarak yapmaya devam edebiliriz. Ancak şu an olarak gördüğüm en büyük eksiklik sanırım yapacağımız aplikasyonların arkaplanda gizli olarak çalışabilmesini sağlamak, arkaplanda çalışırken de çeşitli uyarıcılar ile uygulamanın tetiklenemez oluşudur. Belki ilerleyen versiyonlarda bu özelliği de katarlar ancak bu özelliğin şu an için kullanılmamasının başlıca sebebi; Flash ile yapacağımız aplikasyonların yine arkaplanda çalıştığında bataryayı kullanacağıdır.
Flash Kullanmanın Avantajları
Kitabın konusu mobil programlama ancak Flash’ın sadece bir programlama aracı olmadığını, eskiden beri bir web tasarım ve web programlama aracı olduğunu da aklımızdan çıkarmayarak Flash kullanmanın avantajlarından birkaçını maddeler halinde sıralayalım.
Flash ile geliştireceğimiz uygulamalar hem browser üzerinden, yani internet üzerinden hem de direkt olarak cihaz üzerinden çalışabilecektir. Bu avantaj sadece Flash’ta geçerlidir.
Bir uygulama geliştirirken bunu çok kolay bir şekilde web’de yayınlamak üzere de sunabilirsiniz.
Hazırlayacağınız aplikasyonları kolaylıkla hem Android hem de iOS için yayınlayabilirsiniz.
Diğer SDK’lar ve API’ler gibi başka başka yazılımlar kullanmanıza gerek kalmaz.
Flash, güçlü bir 2D animasyon oluşturma aracıdır. Bu avantaj başka hiçbir mobil uygulama geliştirme aracında bulunmaz.
Flash ile 3. parti yazılımları ve API’leri kullanabilirsiniz. Örneğin; grafik düzenlemeleri için Photoshop, 3D oyunlar geliştirmek için Away3D, multiuser uygulamalar geliştirmek için Cirsus (eski adıyla Stratus) kullanabilirsiniz.
Flash ile kullanacağınız ActionScript 3.0 dilini kullanmak çok kolaydır ve Java’daki gibi ufak bir işlemi gerçekleştirmek için sayfalarca kod yazmanız gerekmez.
Müzik ve video gibi dosyaları Flash ile oynatmak ve stream kullanmak Flash’ta çok kolaydır.
Flash ile XML kullanılabilir ve bu şekilde veri akışı da çok kolaydır.
Flash hızlı çalışır, bataryayı ve hafızayı az kullanır.
Çeşitli optimizasyon yöntemleri ile en düşük boyut, en iyi performans ve en iyi görüntü kalitesi aplikasyonlar oluşturulabilir.
Test, simülasyon ve debug araçları gelişmiştir.
Flash, artık bütün yazılım dünyasının üstünlüğünü kabul ettiği ve her alanda uygulama geliştirmek için kullanılan güçlü bir araçtır.
Peki, hiç dezavantajı yok mudur? Evet, Java’ya göre biraz daha yavaş çalışabilir ancak mobil cihazlarda zaten çok çok hızlı çalışması gereken yazılımlar pek yapılmıyor. Belki bir de Adobe ürünlerinin pahalı olması ve sürekli olarak yeni sürüm çıkarılması bir dezavantaj sayılabilir.