Bildiğiniz üzere en çok talep gören ve tercih edilen iki yaygın mobil platform, iOS ve Android. Bu platformlar kadar popüler olmayan ama yine de kullanıcı kitlesi barındıran Windows Phone gibi platformlarda mevcut. Her platform kendi geliştirme ortamını ve şartlarını beraberinde getirmektedir. Bu tip geliştirme yaklaşımı Native (Yerli) olarak adlandırılmaktadır. Bu yaklaşımlarda, kesişimden ziyade iyice farklılık göstermekte hem geliştiricileri hem de uygulama sahiplerini zor durumda bırakmaktadır.
Bu karışık duruma bir çözüm olarak, yazılım mimarları geliştiricilerin önüne yeni bir ortam sunmaktadır. Hybrid (Karma) geliştirme ortamı olarak sunulan bu ortam temel web teknolojileri üzerinden farklı platformlar için mobil uygulama geliştirebilmenize olanak tanımaktadır. HTML5 ve Angular mimarisi ile şekillenen bu yaklaşım, pratik ve kolay yöntemlerle farklı platformlarda birbirine yakın derecede etkin çalışan uygulamalar yapabilmenize hizmet ediyor. Tek bir geliştirme ile hem Android hem de iOS platformları üzerinde çalışabilecek uygulama elde edebiliyorsunuz. Hatta derleyeceğiz kod, Windows Phone veya Symbian gibi daha az popüler mobil işletim sistemlerinde dahi çalışabiliyor. Hibrit geliştirme, Cordova ( ve PhoneGap gibi Cordova-tabanlı araçlar), Appcelerator Titanium ve Xamarin gibi platformlar tarafından olanaklı kılınır.
Hbrid mobil geliştirme kendi içerisinde farklı yaklaşımlara bölünebilir. Bu alt yaklaşımlardan biri Web Hibrid Uygulamalar, özel nitelikli bir dönüşümden ziyade sadece web tabanlı bir yapı üzerine şekillenen kabuk (Shell) veya kapsayıcı (Wrapper) uygulama türüdür. Saf hibrid uygulamalar ise, native bir shell arkasındaki web uygulamalarıdır.
Mobil uygulamanın Native veya Hybrid bir yaklaşım ile geliştirilmesi planlama aşamasında önemli bir karar sürecidir. Burada, uygulamanın nitelikleri, cihaz bileşen kullanım miktarı, kullanıcı alışkanlıkları ve davranışları bu karar sürecine etki edecek önemli etkenlerdir.
Hybrid Geliştirme Platformları
Cordova
Cordova’da geliştirme, bir web sayfası oluşturmak için ihtiyaç duyulan geliştirmeye benzerdir; html, CSS ve JS, hepsi Cordova’da paketlenmiş bir web görünümü yaratmak için bir araya gelir.
Appcelerator – Titanium
Titanium’u Cordova’dan ve PhoneGap gibi Cordova-tabanlı araçlardan ayıran, eğer hem native hem HTML-tabanlı kullanıcı arayüzü kullanan bir uygulama yaratmak istemiyorsanız, HTML ve CSS dosyalarına ihtiyaç olmamasıdır. Titanium, uygulamanızı bir tarayıcı yerine gerçek platformda emüle (ya da simüle) etmenize yardımcı olan oldukça faydalı bir mobil araç kitiyle gelir. Uygulamanız cihazda çalıştırıldığında, bir web görünümüne paketlenmez bunun yerine bir Javascript motoru tarafından yorumlanır. (iOS’ta JavaScriptCore veya Android’de Rhino)
Xamarin
Xamarin’in, geliştiricilerin native kullanıcı arayüzleri olan ve C#’ye odaklanan birden çok platformda kod paylaşan, native Android, iOS ve Windows uygulamaları yazmak için kullanabilecekleri C#-shared bir kod tabanı vardır. Xamarin, Cordova’ya benzer şekilde çalışır.