4 Kasım 2012 Pazar

Mobil Uygulamalar için Native(doğal) diller mi yoksa Web-Html5 mi ?


Mobil uygulamalar hızla yaygınlaşmakta ve ihtiyaç haline gelmektedir. Mevcut hizmetlerin artık mobile olarak hizmet verebiliyor olması ihtiyaç haline gelmeye başladı. Peki uygulamaların geliştirilmesi aşamasında nasıl bir yol izlenmeli?

Geliştiricilerin gerçekleştirecekleri uygulamaların özelliklerine göre en iyi seçimi yapmalıdır.Uygulamayı  Web- based ( web tabanlı) ya da HTML5 olarak geliştirmek  daha hızlı ve  farklı cihazlar için uygulama gerçekleştirmiş olacaktır. Fakat native (doğal) yazılımlar  -> (Objective-C  Apple iOS için , Java Google Andorid )  cihazların tüm özelliklerini kullanmalarını sağlamaktadır. Son durum ise bu iki seçeneği birlikte kullanma yoluda vardır. Appcelerator Titanium gibi geliştirici yazılımlar sayesinde yazdığımız javascipt bir uygulamayı native kod lara dönüştürmektedir.

Html5 özetle ; HTML in yeni sürümüdür. CSS3 ve JavaScript/JQuery ile doğal (Native) olarak çalışması, bütün browser ve cihazlar tarafından desteklenmektedir. Ayrıca video-ses, geolocation, web storage gibi özellikleri barındırması ona kolay kullanılabilir güçlü ve kullanışlı bir yapı sunuyor. Örnek 50 Html uygulama: http://www.creativebloq.com/web-design-tips/examples-of-html5-1233547

İhtiyacımıza göre en uygun yöntemi seçmeliyiz. Her birinin birbirlerine göre avantajları ve dezavantajları bulunmaktadır.

Web - Html5  mobil uygulama;
  • Geliştirmesi daha kolay ve daha az masraflıdır.
  • Tüm browserlar tarafından desteklenmektedir. Bu özelliği ile platform bağımsızlığı, çoklu cihaz desteği sağlamaktadır.
  • Canlı (online) sistemlerdir.
  • Html5 in özellikleri doğrultusunda cihaz özelliklerini kullanabilir, cihazın özelliklerini kullanma konusunda sınırlı özelliğe sahiptir.
  • Uygulamanın son kullanıcı tarafından indirilmesine gerek yoktur. Uygulama güncellemesi , son kullanıcıyı engellemiyecektir.
  • Uygulama için web-servis e gerek olmıyabilir. Direk bulunduğu sunucu içersinde veritabanı erişimlerini yapabilir.

Native dil ile yazılmış uygulama;
  • Geliştirmesi daha zor ve daha masraflıdır.
  • Her cihaz için ayrı uygulama yazılması söz konusudur. Platform bağımlıdır.
  • Cihazın tüm özelliklerini kullanabilirsiniz. Bu sayede yüksek performance  ve daha gelişmiş uygulamalar yazılabilinir. Örneğin iOS daki siri uygulamasını sesli komut özelliği ile uygulamanızı daha eşsiz hale getirebilirsiniz.
  • Çevrimdışı (ofline) çalışabilmektedir.
  • Uygulamanın son kullanıcı tarafından indirip, yüklemesi  zorunludur. Güncelleme işlemide manueldir.
  • Online uygulamaların veri tabanı erişimi için web servisleri ile haberleşmesi gerekmektedir.

.. gibi listeleyebiliriz.

Aklıma E-ticaret siteleri geldi.  E-ticaret siteleri için en uygun olanı bence Html5 dir. Çünkü tüm bilgi ve erişimler sunucu üzerinde olacaktır. Kredi kartı işlemleri, 3D desteği, https protokolü derken daha güvenilir ve kontrol altındadır. Sistemde sorun meydana çıktığında ani müdahale ve güncelleme söz konusu olacaktır. Canlı sistem olduğundan daha hızlı sonuç , kontrol tek noktada ve tek yerden dağıtım.  Eğer Native dil ile yazıldığında farklı cihazlar için uygulamanın dağıtılması ve güvenlik anlaşmaları yapılması gerekmektedir. Uygulama güncellemesi çıktığında, son kullanıcılar dilerse yapmıyabiliyor.

Bence yazılacak uygulamanın özelliğine göre o uygulama için en iyi yönteme başvurulmalıdır.

Öner KAYA