Mobil uygulama geliştiriciler için kritik soru: 'native' mi 'hybrid' mi

Mobil uygulama geliştiriciler için kritik soru: 'native' mi 'hybrid' mi

Açıklama: Yazılımcılara Tavsiyeler başlıklı yazı dizimizde Türkiye internet sektörünün tecrübeli yazılım geliştiricilerini teker teker Webrazzi.com’da konuk edip, kendilerinden genç yazılım geliştiricilere olan tavsiyelerini ve tecrübelerini dinliyoruz.

Konuk yazarımız Altan Yılmaz; birçok büyük ölçekli portal ve web uygulaması projesinde front-end development yapmış olup şu an Yemeksepeti'nde JavaScript Developer olarak görev almaktadır.

html5-native-mobil-gelistirmeBilgiye ve eğlenceye en kolay ulaşma yollarının başında gelen mobil cihazların akıl almaz bir hızla ilerlediği ve hayatımıza giren ekranların gitgide çoğaldığı son yıllarda, kullanıcıların beklenti ve isteklerine karşılık mobil pazarda hızlı, esnek ve güçlü bir şekilde yer almak isteyen girişimcilerin yaratıcı fikirleri; mobil uygulama geliştiricileri yeni araçlar ve teknikler üzerinde çalışmalar yapma yolunda oldukça teşvik ediyor.

Bu hızla büyüyen pazarda kazanan taraf, kullanıcı ihtiyaçlarına en hızlı ve en kolay şekilde cevap vermek üzere doğru araçları ve teknikleri seçip kullanan geliştirici ve girişimciler olacaktır.

Mobil uygulama fikriniz için doğru aracı ve tekniği hangi kriterler belirler?

  • Stabilite
  • Performans
  • Görünüm ve etkileşim
  • Anlaşılabilirlik ve kullanılabilirlik
  • İleri Geliştirme ve Bakım Süreçleri
  • Kullanacağınız platform, arac(lar)ın eklenti desteği

Native ve hybrid mobil uygulamalar

Native mobil uygulamalar, günümüzde popüler olan iOS ve Android gibi farklı platformlar için farklı programlama dilleri ve geliştirme paketleri gerektirirler. Java, Objective-C gibi programlama dilleri bunların başında gelmektedir.

Her platform, cihaz ve programlama dili birbirinden farklı dinamiklere sahip olduklarından farklı uzmanlıklar ve farklı dinamikler gerektirir.

Hybrid mobil uygulama tekniği, temel olarak 'write once, run everywhere' yani tek bir kod çıktısı ile birden fazla platformda çalıştırılabilmek üzerine geliştirilmiştir.

HTML5, CSS3 ve JavaScript kombinasyonu farklı platformlarda, cihazlarda ve ekran çözünürlüklerinde rahatlıkla benzer uyumluluk ile çalıştırılabilmektedirler. Üstelik geliştirmesi zaman ve bütçe açısından az maliyetlidir. Öğrenme eğrisi ise oldukça düşüktür.

native-hybrid-web

Doğru seçim, hangi durumda?

Ancak unutulmamalıdır ki, uygulama konsepti ve gereksinimleri farklılıklar gösterebilir. Kullanılacak araç ve teknikler yukarıda listelediğimiz kriterler doğrultusunda, uygulama gereksinimlerine göre seçilmelidir.

Çok fazla donanım ve etkileşim ihtiyacı için günümüzde native geliştirme tercih edilirken, temel olarak daha düşük donanım gerektiren ve veri yükü daha az olan uygulamalarda hybrid geliştirme tercih edilmektedir.

Hangi JavaScript çatısı seçilmeli?

Yukarıda listelediğimiz kriterlerin en büyük kısmını kapsayan konu doğru aracı seçmek. Hybrid mobil uygulama geliştirmek için hiç bir araca ihtiyacınız yoktur. Hiçbir yan araç kullanmadan sadece JavaScript, HTML5 ve CSS3 ile uygulama geliştirebilirsiniz. Elbette tekerleği yeniden icat etmek için bolca vaktiniz varsa.

Uygulamanızın gereksinimleri doğrultusunda daha hızlı, esnek, genişleyebilir ve geliştirilebilir bir mimariye sahip olmak adına farklı mobil ekran çözünürlüklerinde, farklı platformlar ile benzer uyumu yakalamayı hedefleyen bir araç seçmek, geliştirmeye başlamadan önce en önemli adımdır.

Bu tip ya da daha farklı ihtiyaçlara cevap vermek adına geliştirilmiş araçlara;

gibi popüler araçlardan sadece birkaçı olan örnekler verebiliriz.

Kullanıcı-cihaz-uygulama etkileşimi üçgeni

altan-yilmaz
Altan Yılmaz

Her proje geliştirme sürecinde olduğu gibi, hybrid uygulama geliştirmenin de zorlukları ve özellikle cihaz-kullanıcı-uygulama etkileşimi üçgeninde gerektirdiği tecrübeler vardır.

Mobil hayat içerisinde özellikle aktif olarak kullanılan akıllı cep telefonları, farklı cihaz modelleri ve farklı ekran çözünürlüklerinde farklı kullanıcı deneyimleri gerektirebilir. Tek bir tasarım ve kod çıktısı ile birden çok cihazın kullanıcı deneyimini tatmin edici seviyede tutmak oldukça zorlaşabilir. Bu noktada, kullanıcı alışkanlığı halini almış reflekslerin incelenmesi ve uygulanması, uygulamanın kullanım rahatlığını oldukça arttıracaktır.

Kısaca

İşin "doğrusu" ne native ne de hybrid uygulama geliştirmektir. İhtiyaç duyulan çözüm, kullanıcı istek ve deneyimlerini göz önünde bulundurarak, uygulama gereksinimlerini karşılayacak şekilde uygun seçimler yapmaktır.

Kısaca önemli olan doğru veya yanlış seçim değil, uygun seçimi yapmaktır.

En yukarıdaki görsel kaynak: Venturebeat.com

Teknoloji dünyasındaki gelişmeleri takip edin. Neleri size ulaştırmamızı istersiniz?
Abonelik kaydınız başarıyla oluşturuldu.