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

'GonzaLes

Stajyer Grafiker
17 Nis 2015
11,802
356
85
u bilmiyorum maalesef

html5-native-mobil-gelistirme-225x154.png


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

native-hybrid-web.jpg


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;

jQuery Mobile
jQTouch
Sencha Mobile
Titanium
Worklight
Kony
Corona
PhoneGap
Cordova
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.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.