Apache Cordova Nedir?

Halil Özel
4 min readOct 12, 2020

--

Selamlar, bugün sizler mobil uygulama geliştirmede kullanılan Apache Cordova framework’ünü öğreneceğiz. Haydi başlayalım.

Apache Cordova

Apache Cordova, Nitobi adlı firma tarafından geliştirilen Mobil Uygulama Framework’üdür. 2011 yılında Adobe Nitobi’yi satın aldı. Eski adı PhoneGap olan yapıyı markalaştırdı ve daha sonra yazılımı Open Source biçimde Apache Cordova olarak piyasaya sürdü.

Apache Cordova yazılım geliştiricilerin Android, iOS ya da Windows Phone platformlarına özgü API’leri kullanmak yerine CSS3, HTML5 ve JavaScript kullanarak mobil cihazlar için uygulamaların derlenmesini sağlamaktadır.

Apache Cordova, yazılan CSS, HTML ve JavaScript kodlarının cihazın platformuna göre paketlenmesini sağlamaktadır. İlgili cihazlarda(Android, iOS) sağlıklı bir şekilde çalışabilmesi için HTML ve JavaScript’in özelliklerini geliştirip uygun bir şekilde kullanır. Elde edilen uygulama Hybrid bir uygulamadır.

Hybrid uygulama : Geliştirilen mobil uygulamada tek bir kod base ile yazılarak tüm platformlarda (Android, iOS, Windows) çalışmasını sağlayan uygulama tipidir.

Gelecek yazılarda Native vs Hybrid uygulama geliştirmeyle ilgili bir yazı yazacağım.

Apache Cordova projesine katkıda bulunan firmalara örnek olara Adobe, BlackBerry, Google, IBM, Intel, Microsoft, Mozilla verebiliriz.

Apache Cordova’nın stabil ve güncel sürümü 4 Ağustos 2020 tarihinde yayınlandı. 10.0.0 sürümünü cihazlarınıza indirip, kullanabilirsiniz.

Cordova’nın öne çıkan özellikleri

Cordova Features
  • Hızlı bir şekilde uygulama geliştirebilirsiniz. Web tarafında kullanılan JavaScript ve CSS kütüphanelerinin avantajından yararlanılmaktadır.
  • Multiplatform desteği bulunmaktadır. Tüm cihazlarda(Android, iOS, Windows) aynı code base çalışması sağlanır. Native bileşenler kullanılmak istenildiğinde de kolaylıkla ilgili plugin’leri kullanabilirsiniz.
  • Browswer üzerinden development imkanı bulunmaktadır. Android uygulamalar için her defasında .apk dosyası oluşturmak yerine Web browser üzerinden hızlıca response alabilirsiniz. Zaman kaybetmeden hızlı development-debug işlemlerini yapabilirsiniz.
  • Öğrenme eforu oldukça düşüktür. Uygulama geliştirmek için Android tarafında(Kotlin, Java) iOS tarafında ise (Swift, Objective-C) gibi programlama dillerini ayrı ayrı öğrenmektense HTML, CSS ve JavaScript bilgileriyle birden fazla platfroma uygulamalar geliştirebilirsiniz.

Cordova Mimari Yapı

Bir Cordova uygulamasının birkaç bileşeni bulunmaktadır. Aşağıdaki şema, Cordova uygulama mimarisinin üst düzey bir görünümünü göstermektedir.

Cordova Application Architecture

WebView

Cordova özelliğine sahip WebView, uygulamada UI(User Interface) özelliği sağlamaktadır. Bazı platformlarda, WebView ile native uygulama bileşenleri karma olarak kullanılabilir.

Web App

Uygulama kodunuzun bulunduğu kısımdır. Uygulamanın çalışması için index.html uzantılı bir dosya bulunmalıdır. index.html dosyasından hariç CSS, JavaScript, images, medya dosyaları veya diğer kaynaklar kullanılabilir.

Plugins

Eklentiler, Cordova ekosisteminin ayrılmaz bir parçasıdır. Cordova ve Native components birbirleriyle iletişim kurması ve standart cihaz API’lerine bağlanması için bir arabirim sağlamaktadır. Bu yapıyla JavaScript’ten native kodu çağırmanıza olanak tanır.

Apache Cordova, Core Plugins adı verilen bir dizi eklentiye sahiptir. Bu temel eklentiler, uygulamanızın pil, kamera, kişiler vb. cihaz özelliklerine erişmesini sağlamaktadır.

Cordova ile yazılmış birçok uygulama bulunmaktadır. Aşağıdaki ekran görüntüsünde geliştirilen projeleri gözlemleyebilirsiniz.

Cordova App Showcase

Cordova’yı güçlendiren çeşitli komut satırı araçları, JavaScript Framework’leri ve Cloud hizmetleri mevcuttur.

Cordova Tools

Cordova projesine katkı bulunmak ya da gelişmeleri takip etmek isterseniz GitHub repolarını incelemenizi tavsiye ederim.

Cordova’yı cihazımıza nasıl yükleriz?

Cordova command-line Node.js üzerinde çalıştığı öncelikle cihazınıza Node.js indirmelisiniz.

İndirme işleminden sonra kolayca Cordova’yı yükleyebileceksiniz. Mac cihaza sahip olduğum için ona özgü adımları takip edeceğim. Sizlerde ilgili işletim sistemine göre dökümantasyonu takip edebilirsiniz.

sudo npm install -g cordova

Cordova projelerini geliştirmek için Microsoft’un Visual Studio Code ide’sini indirebilirsiniz.

Cihazımıza Cordova’yı yükledikten sonra bir proje oluşturalım.

cordova create HelloWorld

Create etmek istediğiniz path’i belirterek uygulamayı create edebilirsiniz.

Cordova projenize platform eklemek istediğinizde ise aşağıdaki komut satırını çalıştırmanız yeterli olacaktır.

Android için:

cordova platform add android

iOS için:

cordova platform add ios

Son olarak proje dosyalarına giderek ya da komut satırını kullanarak Android ya da iOS uygulamasını çalıştırabilirsiniz.

cordova run android
Apache Cordova Android App

Tebrikler 🥳 Default Cordova projenizi başarıyla çalıştırdınız. index.html, JS, CSS dosyalarını kullanarak ekranı özelleştirip, örnekler yapabilirsiniz.

Apache Cordova hakkında detaylı bilgi için resmi sitesini ziyaret edebilirsiniz :

Gelecek yazılarda görüşmek üzere 👋 Herkese keyifli kodlamalar 👨‍💻 👩‍💻

--

--