Kitaptaki ÖNSÖZ Yazısı ve Kitap Hakkındaki Bilgiler:
Merhaba sevgili okur.
Bu kitabı incelediğinize göre siz de mobil uygulama dünyasına ucundan da olsa bir kapıdan girmek istiyorsunuz demektir. Ancak bu kitaba başlamadan önce bilmenizi istediğim bazı önermeler olacaktır. Yolunuzu çizerken bunları göz önünde bulundurmanız faydanıza olacaktır.
Belki duymuşsunuzdur; Android için programlama yapmak için JAVA, iOS için programlama yapmak için de OBJECTIVE-C programlama dilini kullanmak şarttır. Fakat bu böyle değildir. Tamam, Android işletim sistemi JAVA ile oluşturuldu ancak bu sadece temelidir. JAVA ile yazacağınız yazılımlarla Android cihazlar üzerinde derinlemesine kontrol sahibi olabilirsiniz. Bunun da ileri seviye programcılıkta işinize yarayacağını söylememe gerek yok sanırım. Gerçi Google, Android’te JAVA’yı da bırakıp Tizen’e geçmeyi hedefliyor. Aynı şey iOS ile OBJECTIVE-C ilişkisi için de geçerlidir. Aslında zamanla Android ve iOS platformları için onlarca IDE geliştirildi. Hatta HTML5 ve JQuery Mobile ile birlikte PhoneGap (Bu teknoloji de Adobe’ye aittir) adında bir sistem geliştirilerek mobil uygulamalar hazırlandı. HTML5 tabanlı mobil uygulama mı olur diye kafanızda bir soru işareti çıkmış olabilir. Bunda da yine bir NativeExtension’lar, yani genişletme paketleri kullanılarak cihaz ile etkileşime geçildi. Yani arayüz ile cihaz arasında bir köprü kuruldu. Aynı şey, bu kitapta anlatacağım teknolojilerde de geçerli. Sonuçta ben de bu kitapta çoğu yazılımcının veya mobil uygulama geliştiricisinin ya gözünden kaçırdığı ya da gördüğü halde kabullenemediği bir metot ile size mobil uygulama geliştirmeyi anlatacağım. Hem de daha kolay, daha hızlı, esnek ve performanslı bir yapıda!
Bu kitapta kullanacağımız IDE, Adobe Flash’tır. Adobe CS6 veya Adobe CC sürüm paketini rahatlıkla kullanabilirsiniz. Kullanacağımız dil de ActionScript3.0. Genişletme SDK’ımız ise Adobe AIR 3.x & Compiler’dir. Bu üçü ile aklınıza gelebilecek çoğu uygulamayı ve hemen hemen bütün mobil oyunları rahatlıkla yapabilirsiniz. Mesela, oyun mu yapacaksınız?
Yıllardır sevilerek oynanan AngryBirds, CandyCrushSaga, Fruit Ninja oyunları ve saymakla bitmeyecek kadar popüler oyun, Flash teknolojileri ile yapıldı. Bunu biliyor muydunuz? İnsanlar yıllarca Android ve iOS cihazlarında sorunsuzca bu oyunu oynadılar. Ve yine bu kitapta anlatacağım tekniklerle siz de aynı şekilde milyonların indirdiği uygulamalardan yapabileceksiniz ve siz de mobil uygulamalarınızdan para kazanabileceksiniz. Mesela; bir haber sitesi uygulaması, bir kitap uygulaması… Veya son zamanlarda herkesin deli gibi bağımlısı olup oynadığı Flappy Bird oyunu. Aklınıza ne geliyorsa artık! Ayrıca diğer mobil programlama dillerinden farklı olarak, ActionScript 3.0 ve AIR SDK ile yapacağınız uygulamalar Rich Media desteği sunmaktadır.
Bazı yazılımcı arkadaşlara göre Adobe Flash Pro programı dediğinizde, onların aklına basit animasyonlar ve web sitelerinde kullanılan banner’ları yapan program gelmektedir. Tamam, kısmen doğru… Adobe Flash Pro bunları da yapar; ancak bu yapılan şeyler, Adobe Flash ve ActionScript3.0’ın yapabileceklerinin binde biri kadardır. Ufku geniş olan ve kendini biraz daha zorlayabilenler, inanılmaz şeyler yapabiliyor.
Eğer daha öncesinde Flash ile yapılan yorumları duyduysanız; hani “Mobil cihazlarda artık Flash Player desteklenmiyor, Flash işlemciyi çok yoruyor” gibi lafları, bunların tamamen boş laf olduğunu siz de kitabı başarılı bir şekilde tamamladığınızda göreceksiniz. Gerçi bu laflar Flash Player için söylenen şeyler. Ama çoğu kişi Flash ile Flash Player’ı karıştırmaktadır. Hem zaten uygulamayı paketlediğimizde; bir SWF dosyası değil, Android’in tanımış olduğu APK formatını üreteceğiz. Yani hiçbir sorun yok! Şayet kitabı bitirmeden bu işin olabilirliği konusunda bir ispat isterseniz de, size Google Play’de ve Apple Market’te yer alan oyunların %70 kadarının Adobe Flash ve ActionScript3.0 ile yapıldığını, %20 kadarlık bir kısmının Unity3D ile yapıldığını ve geri kalanının da bir takım IDE ve hazır kütüphanelerle yapıldığını rahatlıkla söyleyebilirim. Nasıl, %70’lik bir oran yeterli oldu mu?
Şunu rahatlıkla söyleyebilirim ki; Google Play ve Facebook, kasalarında tuttukları milyon dolarları Adobe Flash’a borçludur.
Google Play’deki %70’lik oranla ücretli veya ücretsiz satılan uygulamalar, Facebook’ta yıllardır insanların oynadıkları, en basitinden Farm Ville gibi bağımlılık yapan sosyal oyunlar…
İşte bunların hepsi Adobe Flash Pro, ActionScript 3.0 ve AIR SDK & Compiler sayesinde oldu.
İçinizde ufak da olsa bir heyecan başladıysa, size kitap içeriğinde kısaca bahsedeyim. Ayrıca gözünüz de korkmasın. Sıralayacağım bazı konu başlıkları gözünüzü korkutabilir veya bu işe yeni başlıyor da olabilirsiniz, ancak her konuda size yalın bir dil ile kafanızı karıştırmadan izlemeniz gereken yolu adım adım göstereceğim. Böylelikle kodlar arasında kaybolmayacak ve kitabı rahatlıkla takip edebileceksiniz. Tabi daha öncesinde bir Flash kullanıcıysanız, işiniz daha kolay olacaktır. Bununla birlikte OOP destekli herhangi bir dil kullandıysanız, mesela C++ veya JAVA, ActionScript3.0’a alışmanız fazla zaman almayacaktır. Yine de her bir konu başlığında en yalın hali ile tasarım ve kodlamayı anlatacağım. Yeri geldikçe size farklı olarak gelebilecek konular üzerinde ağırlık verecek ve gerekli açıklamaları yapacağım. Hatta ActionScript 3.0 dilini de kodlama yaparken öğreneceksiniz. Her bir örnekte farklı farklı yöntemleri anlatarak, bu dili etkin bir şekilde kullanabilmenizi sağlayacağım. En azından planım böyle.
Ayrıca size söylemek istediğim bir husus daha var. Adobe yazılımları, diğer aile içi yazılımlar ile entegreli halde çalışabilmektedir. Yani bunun anlamı da, Adobe Photoshop’ta hazırlamış olduğunuz bir arayüzü rahatlıkla Adobe Flash Pro’da kullanabilirsiniz. Veya alışılagelmiş klasik butonlar yerine daha hareketli ve göz alıcı butonlar da hazırlayabilirsiniz. Sonuçta kullanacağınız araç sizi bir takım sıkıcı component’lerle sınırlamıyor, bilakis sizi tamamen hayal gücünüz ile baş başa bırakıyor. Tabi bu gözünüzü korkutmasın. Diğer araçlarla belki yapamayacağınız veya yapsanız bile günlerinizi alacak işlemler, belki çok daha rahat olacaktır. Hatta bir örnek vereyim. Günün birinde OBJECTIVE-C ile uygulama yapan bir arkadaşım, sol taraftan açılan bir menü yaptığını ve bunun da bir haftasını aldığını, normalde bunu yapmanın çok zor olduğunu gururla söylemişti. Halbuki bu işlem Adobe Flash Pro ve ActionScript 3.0 ile çok rahat bir şekilde en fazla on dakikada yapılır. Hem isterseniz menüyü düz bir şekilde getirmek yerine, taklalar attırarak da getirebilir, çiçekler de açtırabilirsiniz. Dedim ya; her şey hayal gücünüze bağlı.
Sizi sınırlandıran yok!
Evet, artık ön yargıları yıkmanın zamanı geldi. Siz de uygulamanızı hazırlayın ve mobil dünyaya açılın!
Faydalı olması dileğiyle…
Hem Okuyarak, Hem İzleyerek; Pratik Örneklerle ve Onlarca Uygulama Örneği ile Mobil Programlamaya İlk Adımlarınızı Atın!DVD Ekinde: Eğitim Videoları Örneklere Ait Kaynak Kodlar Gerekli Programlar Google Play’deki milyonların oynadığı oyunların yarısından fazlası, Facebook’ta bağımlılık yapan sosyal oyunlar… Bunların hepsinin Adobe Flash, ActionScript 3.0, AIR SDK Compiler ve entegre teknolojiler ile yapıldığını biliyor muydunuz? Ayrıca bu araçların sadece mobil oyun programlamada değil, mobil uygulama programlarken de kullanabileceğinizi biliyor muydunuz? Birçok mobil yazılım geliştirici Google Play ve Facebook’da Adobe Flash programı sayesinde yüksek miktarda paralar kazanmış ve hala kazanmaya devam etmektedirler. Siz de nasıl yapılacağını öğrenmek istiyorsanız, bu kitap size başından sonuna kadar yol gösterecektir. Mobil Programlamaya Giriş, ActionScript 3.0 ile Mobil Programlama Mantığı Mobil Arayüz Tasarımı, Tema Giydirme ve Bileşen Programlama Accelerometer, Touch API, MultiTouch API ve Gestures API Kullanımı İletişim Araçlarını Kullanmak ve StageWebView İçerik Görüntülemek SQLite Veritabanı Yönetimi ve Web Servisleri ile Veri Alış Verişi Geolocation API, Lokasyon İşlemleri ve Google Maps Kullanımı Mobil Uygulamalarda Rich Media Kullanmak ve Multimedya Programlama Mobil Uygulamalarda Soket Servisi Kullanmak ve Çoklu Kullanıcı İşlemleri Mobil Programlamada ve Animasyonda Performans Yönetimi Gelişmiş Paketleme Ayarları ve Uygulamanın Google Play’de Dağıtıma Açılması