13 Ağustos 2016 Cumartesi

Mobil Platformlarda Native (Yerel) Uygulama mı? Mobil Web Uygulaması mı?

Native uygulama mı? Web uygulaması mı? Aslında bu sorunun kesin ve net bir cevabı yok. Geliştirmeyi planladığımız uygulamanın tipine ve ihtiyaçlarımıza göre, bu soruya verilecek cevap da değişecektir.

Geliştireceğimiz uygulama bir veri uygulaması ise, kullanıcıya veri sunmak dışında sınırlı seviyede kullanıcı etkileşimi gerektiriyorsa, donanıma erişme ihtiyacı yoksa ya da HTML5'in erişebileceği donanımlar işimizi görmeye yetiyorsa, bu durumda mobil web uygulaması geliştirmek işimizi görecektir. Hatta iyi bir tercih olacaktır. Çünkü; HTML5 kullanarak tek bir uygulama geliştireceğiz ve bunu birçok işletim sistemi üzerinde çalıştırabileceğiz.


Yoğun işlemci gücü gerektiren işlemler yapmamız gerekiyorsa ya da platforma özgü kaynaklar kullanmamız gereken bir durum söz konusu ise native (yerel) uygulama geliştirmek daha cazip hale gelebilir. Bu tarz bir durumda mobil web uygulaması geliştirmemiz zaten mümkün olmayacaktır. HTML uygulamaları ile platforma özel bazı kaynaklara erişilemiyor. Erişebildiğimiz özellikleri de aynı performansta kullanamayabiliyoruz.


İki yaklaşımın da artılarını ve eksilerini değerlendirebilmek adına birer liste oluşturalım.

Mobil Web Uygulamaları

  • Tek bir uygulama geliştirip tüm platformlarda çalıştırabiliriz. (iOS, Android, Windows)
  • Uygulamanın bakımı ve hata ayıklama daha kolaydır. Çünkü; tüm platformları hedefleyen tek bir kodumuz vardır.
  • Uygulamanın güncellenmesi çok kolaydır.
  • Arama motorlarından maksimum verim alırız.
  • Uygulamamız tarayıcıda çalıştığı için native uygulamalara nispeten daha yavaştır.
  • HTML5 standartları ile ilgili tarayıcılar arasında uyumsuzluklar olabilir. Uyumluluk ile ilgili raporlar http://mobilehtml5.org/ adresinden kontrol edilebilir.
  • Yalnızca, hem HTML5 hem de üzerinde çalışılan tarayıcının aynı anda desteklediği donanımlara ulaşılabilir.
  • Platformlar arasındaki bazı farklılıklar yüzünden uyuşmazlıklar ve tutarsızlıklar oluşabilir.
  • Görsel tarafta yapılabilecek grafik işlemleri sınırlıdır ve performans pek yüksek değildir.


Native (Yerel) Uygulamalar

  • Her platform için, ayrı ayrı uygulamalar geliştirmek gerekir.
  • Bakım ve hata ayıklama süreci zorlayıcıdır. Çünkü; aynı değişikliği tüm platformlarda ve dillerde ayrı ayrı gerçekleştirmek gerekir.
  • Uygulama mağazası üzerinden güncelleme süreçlerini yönetmek gerekir.
  • Arama motorları uygulamanın mağaza sayfasını indexler fakat SEO tarafında içeriklerden faydalanmak mümkün değildir.
  • Direkt olarak sistem üzerinde çalıştığı için tarayıcı uygulamalarına göre hızlıdır.
  • Her platformun kendi dili ve her sistemin kendi API'leri (Uygulama Programlama Arayüzü) kullanıldığı için tutarsızlıklar yaşanmaz.
  • Sistem üzerinde izin verilen tüm donanımlara ulaşılabilir.
  • Her platform kendi içerisinde tutarlı şekilde çalışır. Sorun yaşanmaz ya da az yaşanır.
  • Görsel işlemler ve grafik çizimleri için her platformda çok sayıda yardımcı kütüphane vardır ve yüksek performanslı bir şekilde kullanılırlar.


Tüm bu bilgilerin ışığında, geliştirilecek uygulamada performans çok kritik ise, kullanılması gereken donanımlara HTML5 ile erişemiyorsak, grafik yoğun bir uygulama geliştireceksek native uygulama geliştirmek daha mantıklı. Bunun dışındaki durumlarda Mobil Web Uygulamaları geliştirmek; zaman, maliyet ve yukarıdaki listede yer alan diğer sebeplerden dolayı daha makul bir seçim olacaktır.

Aslında en güzeli; hem web hem de native uygulamaların yeteneklerini bir arada kullanmak olurdu. Bir sonraki yazıda konumuz; Hybrid Uygulamalar.


Hiç yorum yok: