Adobe Air Native Extension #1

Merhabalar,

Bu yazımla başlayıp ve bu yazıyı destekleyecek bir kaç yazı daha ekleyerek Adobe Air’a extension nasıl geliştiririz bundan bahsedeceğim. Çalıştığım şirkette yaklaşık 2 aydır uğraştığım ve işin özünü kapınca bu konu hakkında yazmak istediğim bir mesele. Çünkü, özel bir konu olduğundan yeterince Türkçe kaynak (ki İngilizce kaynak okuyabilmenin önemini bir kez daha vurgulamak gerekir.) bulunamıyor. Hem bilgilerimi taze tutacak bir not defteri oluşturmak hem de ihtiyacı olanlara kaynak niteliği taşıyacak bir yazı serisi oluşturmak istedim.

Adobe AIR Nedir?

Adobe AIR, masaüstünde ve mobil aygıtlarda zengin Internet uygulamaları oluşturmak ve dağıtmak için var olan web geliştirme becerilerinizi geliştirmenize olanak veren işletim sistemleri arası, çok ekranlı bir çalışma zamanıdır.

  • Adobe tarafından geliştirilmiştir.
  • ActionScript 3 API ile entegre edilmiştir.
  • En önemli özelliği cross-platform uygulama geliştirilmesine izin vermesidir. AIR, AS3 kodunuzu iOS, Android, Mac OS, Windows ve Blackberry platformlarına derleyebilmektedir.

Böyle güzel özelliklerinin yanında malesef AIR platforma özel fonksiyonlara erişememektedir. Örneğin; kamera kontrolü, batarya bilgisini okumak, mail göndermek gibi. Ayrıca AIR, native kütüphanelerle konuşamaz. Buradaki kütüphanelerden kastım, bir platforma özel bir dille geliştirilmiş olanlar: Android için java, iOS için Objective C, C veya C++. Peki bu sorunları nasıl çözeceğiz? Eğer durum buysa ben Android ya da iOS tarafında yazdığım kodları kullanamayacaksam, bu platformlara derlediğim uygulamamda ve oyunumda nasıl kontrol sağlayacağım? Çözüm: AIR Native Extension (ANE).

ANE Nedir?

ANE’yi bir native kütüphaneyi çevreleyen bir yapı(wrapper) olarak düşünebilirsiniz. Bu sayede platform-özel çözümler getirebilir ve var olan diğer native kütüphaneleri kullanabiliriz.

Örnek bir uygulama üzerinden Android’e özel bir ANE nasıl geliştireceğimize dair yazımı okumak için:
Adobe Air Native Extension : Android

Örnek bir uygulama üzerinden iOS platformuna özel bir ANE nasıl geliştireceğimize dair yazımı okumak için:
Adobe Air Native Extension : iOS