Hybrid ve Native Uygulama Geliştirme

Uygulamaların çoğalması ve işimizi kolaylaştırması akıllı cihazları bizler için daha da vazgeçilmez hale getirmektedir. Hal böyle olunca herkes pastanın bir kenarından pay almak istemektedir. Akıllı cihazlar için uygulama geliştiren geliştiriciler, yazacakları uygulamalara göre bir seçim yapmak durumunda kalmaktadır. Hybrid uygulama mı, Native uygulama mı? Dilerseniz ilk olarak bu iki kavramı açıklamayla başlayalım.

Native Uygulama Geliştirme

Kelime anlamı doğal, doğuştan olan native, hybrid uygulamalarla karşılaştırdığımızda uygulama dünyasının lideridir desek yanlış olmaz büyük ihtimalle. Peki nedir bu native? Akıllı cihazlarda uygulama geliştirirken hangi platforma uygulama geliştireceğimizi belirlememiz gerekmektedir. IOS platformuna mı yoksa Android platformuna mı? IOS platformuna uygulama geliştirmek istiyorsak Swift veya Objective-C programlama dilini, Android platformuna uygulama geliştirmek istiyorsak da Kotlin veya Java programlama dilini kullanmamız gerekmektedir. Bu şekilde platformların bizlere sunmuş olduğu programlama dilini kullanarak geliştirmiş olduğumuz uygulamalara native uygulamalar denmektedir. Native uygulamalar, üzerinde çalıştığı platformun yazılımsal ve donanımsal olanaklarına doğrudan erişebilirler. Platformların yazılımsal ve donanımsal özelliklerine erişebilme imkanınız olduğundan dolayı cihazınızı ilgilendiren bir uygulama yapmaya çalıştığınız zaman native uygulamalar sizler için vazgeçilmez olmaktadır.

Native uygulamaların – bana göre – en büyük dezavantajı maliyet açısından yüksek olmalarıdır. Çünkü native uygulamalar sadece hazırlandıkları platformlarda çalışabilmektedirler. Yani IOS platformunda yazılmış bir uygulama Android platformunda kullanılamayacağı gibi Android platformunda yazılmış bir uygulama da IOS platformunda kullanılamamaktadır. Bir platform için yazmış olduğunu uygulamanın aynısını başka bir platformda da kullanmak isterseniz o platformun işletim sistemi ve donanım özelliklerine uygun olarak uygulamayı baştan oluşturmanız gerekmektedir. Ancak yine de kullanıcı deneyimi açısından native uygulamalar en ideal çözüm olarak görünmektedir. Çünkü daha hızlı çalışırlar ve veri ile grafikleri yüksek hızlarda işlerler. Karmaşık algoritmalara dayanan oyunlar ve fotoğraf düzenleme gibi uygulamalar yazan geliştiriciler için veri ile grafikleri yüksek hızlarda işleme çok önemlidir.

Hybrid Uygulama Geliştirme

Hybrid uygulamalar HTML5, CSS ve JavaScript kullanılarak hazırlanırlar. Tek bir defa yazılırlar ve tüm platformlarda aynı özelliklerde çalışabilirler. Cross-platform (çapraz platform) uygulama geliştirme olarak da bilinirler. HTML5, CSS ve JavaScript kullanarak native uygulamalara benzer uygulamalar geliştirebilirsiniz. Fakat burada bilmeniz gereken nokta hybrid uygulamalar sistem kaynaklarına bir ara katman yardımıyla erişebilmektedirler. Hybrid uygulama tekniği, tek bir kod çıktısı ile birden fazla platformda çalıştırılabilme üzerine geliştirilmişlerdir. Zaman ve bütçe açısından daha az maliyetlilerdir.

Hybrid uygulamaların çalışma sistemine bakacak olursak yazmış olduğunuz uygulama aslında bir tarayıcı üzerinde çalışıyor gibidir. Yani aslında bir web sayfası çalıştırıyorsunuz. Uygulama tam ekran göründüğünden dolayı adres çubuğunu göremezsiniz. Tarayıcılardan daha hızlı çalışırlar. Hybrid uygulamalarda local API’lere ulaşım sağlayabilirsiniz.

Hybrid uygulamalar farklı işletim sistemleri için farklı geliştirme yazılım ve donanıma ihtiyaç duymazlar. Uygulama marketlerinde yayınlanabilir, kullanıcılar tarafından indirilip kurulabilen uygulamalar haline dönüştürülebilirler.

Hybrid uygulama geliştirirken birçok farklı framework’ten faydalanabilirsiniz. Bu framework’ler hybrid uygulama geliştirirken işinizi hem kolaylaştıracak hem de hızlandıracaktır

İki konuya da göz atmış bulunmaktayız. Şimdi içinizden hybrid uygulamaların zaman ve maliyet açısından daha iyi konumda olması ve bir defa yazılıp tüm platformlarda kullanılmasından dolayı daha mantıklı olduğu düşüncesini geçiriyor olabilirsiniz. Eğer çok fazla veri işlemiyorsanız, kullanıcıya görsel anlamda çok fazla bir şeyler göstermiyorsanız ve uygulamanız işletim sistemi kaynaklarını çokça kullanmıyorsa hybrid uygulama geliştirmeniz sizler için daha mantıklı olabilir. Ancak unutulmamalıdır ki her platformun kendine özgü özellikleri vardır ve kullanıcı deneyimi açısından hybrid uygulamalar native uygulamaların yanına dahi yaklaşamazlar. Diğer yandan eğer uygulamanızda çokça veri işliyor ve işletim sistemi kaynaklarını çokça kullanıyorsanız bu noktada hybrid uygulama yerine native uygulama tercih etmeniz sizlerin yararına olacaktır.

Uygulamalarını native olarak geliştirmek isteyenler programcılar yukarıda da bahsettiğim gibi IOS platformu için Swift veya Objective-C programlama dilini, Android platformu için Kotlin veya Java programlama dillerinden birisini öğrenip kullanmaları gerekmektedir. Gelelim hybrid uygulama geliştirmek isteyen programcı arkadaşlara. Herhangi bir framework kullanmadan da uygulamalarını geliştirebilirler. Ancak framework kullanmak sizlerin işini daha da kolaylaştıracaktır. Hybrid uygulama geliştirmek isteyen arkadaşlar için aşağıda kullanabilecekleri JavaScript çatılarını listeledim. Bunların kullanımlarını öğrenerek uygulamalarınızı daha hızlı bir şekilde geliştirebilirsiniz.

jQuery Mobile -> http://jquerymobile.com/

JQTouch -> http://jqtjs.com/

Sencha Mobile -> http://www.sencha.com/products/touch/

Titanium -> http://www.appcelerator.com/

Worklight -> http://www.ibm.com/software/products/en/worklight/

Kony -> http://www.kony.com/

Corona -> https://coronalabs.com/

PhoneGap -> http://phonegap.com/

Cordova -> http://cordova.apache.org/

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir