Süregelen bir tartışma olan mobil cihazlar için yerel uygulama(native) mı yoksa web uygulamasının mı tercih edilmesi gerektiği konusunda aslında ilk yapılması gereken şey ihtiyaçlarımızın ne olduğunun belirlenmesidir. Çünkü her iki yöntemin de kendine göre belirli artıları ve eksileri bulunmakta. İhtiyacımıza göre bu durumdan dilediğimizi seçebilir hatta daha ileri giderek her iki yöntemi birarada kullanan hybrid uygulamalara geçebiliriz. Bu sistemleri sırası ile değerlendirmek gerekirse;
Yerel Uygulama (Native Application)
Google Play vb. bir market uygulaması aracılığıyla telefonunuza doğrudan yükleyebildiğiniz, donanım seviyesinde çeşitli özellikleri de kullanabilen programlardır.
Artılar & Eksiler
+ İnternet bağlantısına daha az ihtiyaç duyar. Mobil bağlantı hızı ve ücretleri düşünüldüğünde özellikle ülkemiz için bu önemli bir özellik.
+ Daha iyi performans. Sayfa geçişleri, görsel efektler ve yüklenme süresi daha gelişmiş görsel özelliklerin kullanılabilmesine rağmen daha hızlı çalışmaktadır.
+ Hızlı animasyonlar. Özellikle görsel yönü güçlü bir oyun geliştiriyorsanız bu özellik tek başına yerel uygulamaya geçmenize yetebilir.
+ Donanım özelliklerini kullanabilme. Adres defteri, kamera, yer bilgisi, mikrofon gibi donanımsal ve işletim sistemine ait çeşitli özellikleri kullanabilme.
+ Kullanım Kolaylığı. Uygulamalar spesifik bir platforma özgü olarak hazırlandıkları için kullanıcı için daha üst üzey bir deneyim sunmaktadırlar.
+ Dosya Depolama. Eğer kullanıcının cihazında depolamanız gereken çeşitli dosyalar varsa ve bunlara uygulamanın kullanılması esnasında erişmeniz gerekiyorsa yerel uygulamalar ihtiyacınıza daha iyi cevap verebilir.
– Cihaz uyumluluğu. Daha önce belirttiğimiz gibi belirli bir platforma özgü olarak hazırlandıkları için her platform için ayrı olarak geliştirme yapılması gerekmektedir.
– Daha pahalı. Uygulamanın geliştirilmesi için harcanması gereken emek gözönüne alındığında web uygulamalarına göre daha pahalıya mal olmaktadır.
– Geliştirilme süreci daha yavaş. Platform tabanlı uygulamalar için her güncelleme kodunuzun yeniden yapılandırılması, uygulama marketine sunulması, onaylanması ve kullanıcının güncellenmiş versiyonu indirmesi gerekmekte.
– Daha çok masraf. Geliştirme sürecinin pahalılığının yanında ister Google Play olsun ister AppStore, uygulamanızı yayınlayabilmek için belirli bir ücret ödemek zorundasınız.
Web Uygulaması
En kısa haliyle, mobil cihazlar için optimize edilmiş websitesi diyebiliriz. Dolayısıyla tasarımında web standartlarının kullanıldığı, belirli bir url üzerinden erişilebilen içerikler bu kategoriye girmektedir.
Artılar & Eksiler
+ Geliştirme ve Güncelleme Kolaylığı. İçeriğinizi online olarak tuttuğunuz için istediğiniz güncellemeyi sunucu üzerinde değiştirerek kullanıcılarınızın güncellenmiş içeriği erişimini sağlayabilirsiniz. Ayrıca tek bir ortamda hazırlanan kod ile farklı platformlar üzerinden erişim sağlanmasına olanak tanınmış olur.
+ Hazırlanması Kolay. HTML ve Javascript gibi, Java veya Objective-C ye nazaran öğrenmesi daha kolay dillerde hazırlanır.
+ Eğer reklamlar üzerinden para kazanma isteğiniz varsa uygulamanızı yayınladığınız herhangi bir otorite ile kazancınızı paylaşmak zorunda kalmazsınız.
– Her ne kadar mobil tarayıcılar ve javascript motorları günden güne gelişse de neticede script dilleriyle hazırlanan uygulamaların yeniden yorumlanması ve dolayısıyla da daha yavaş olmaları kaçınılmazdır. Fakat bu fark kullanıcı tarafından ne derece farkedilir bunu da zaman gösterecek.
– Daha fazla internet. İçeriğinin büyük bölümünü, hatta tamamını internet üzerinden sağlayan uygulamalarda kullanım rahatlığınız tamamen bağlantı hızınızla doğru orantılı olmak zorunda.
– Donanımsal özellikler yok. Yerel uygulamaların aksine browser üzerinden donanım ve işletim sistemine has özelliklere erişim oldukça sınırlı olmakta. Bu da uygulamanızı belirli bir çerçeve içerisine hapsetmekte.
– Uygulama Marketinde yoksunuz. İnternet kullanıcılarının aksine mobil cihaz kullanıcıları herhangi bir şeye ihtiyaç uyduklarında ilk olarak uygulamaların dağıtıldığı marketlere başvururlar, ve sizi bulamazlar 🙂
Benim tercihim, eğer çok fazla online içerik var ise web uygulamasına başvurulması yönünde ama kullanıcının cihazından offline olarak ulaşabilmesi istenen/gereken belirli bölümler var ise yerel uygulama yapılması daha iyi bir tercih olacaktır.
Konu hakkında daha fazla bilgi için burası ve burası ziyaret edilebilir.