Hibrit Mobil Uygulama Geliştirme Hakkında

Mert Şen FINDICAK
CITS Tech
Published in
5 min readJan 15, 2021

Merhabalar,

Hibrit mobil uygulama geliştirme hakkında araştırıp öğrendiğim ve deneyimlediğim bilgileri bir araya toplayarak sizlerle paylaşmak istedim. Bu yazıda öncelikle hibrit ve native mobil uygulama nedir, hibrit ve native arasındaki farklılıklar, avantajları ve dezavantajları hakkında konuşucağız. Sonrasında ise şuanda popüler olan bazı hibrit geliştirme frameworklerinin Github, Stackoverflow ve Google Trends verilerini sizinle paylaşacağım. Mobil uygulamanız ile ilgili doğru geliştirme yöntemini seçmenizde faydalı olacağını umuyorum. İyi okumalar.

Android, Flutter, iOS, React Native
Picture by CodeMagic

Native Uygulama Nedir ?

Uygulama çıkartılmak istenen platforma özgü programlama dilini ve teknolojileri kullanarak, o platforma özel uygulamalar geliştirmektir. Android tarafında Java veya Kotlin, iOS tarafında ise Objective-C ya da Swift programlama dillerini kullanır.

Her platform için özel olarak yazıldığından yerel özellikleri tam olarak kullanır. Kullanıcıya en iyi kullanıcı deneyimi ve performansı sağlar. Ancak uygulamamızın farklı platformlarda da kullanılabilir olmasını istersek, her platform için ayrı ayrı geliştirme yapmak gerekir ve bu da daha uzun geliştirme zamanı ve daha yüksek maliyet demektir.

Avantajları

  • Native uygulamalar, daha performanslı çalışırlar.
  • Native yazarken işletim sistemimize özgü işlevlerden daha kolay ve tam olarak yaralanabiliriz.
  • Kullanıcılara daha etkileşimli ve hızlı kullanıcı arayüzü sunabilir.

Dezavantajları

  • Native uygulama yazmanın en büyük dezavantajı her işletim sistemi için ayrı geliştirme süreçleri olacağından daha çok uğraş, zaman ve maliyet gerektirir.

Hibrit Uygulama Nedir ?

Hibrit uygulamalar kısaca sizi ayrı platformlar için tek tek uygulama geliştirme derdinden kurtarır. Yalnızca tek kod tabanında kod yazarak farklı işletim sistemlerine ayrı ayrı uygulama çıkartmış olursunuz. Bu özelliğiyle sizlere büyük ölçüde zaman kazandırır. Eğer kendiniz uygulama geliştiriyorsanız, farklı platformlar için farklı programlama dilleri öğrenmenize gerek kalmaz. Şirketler için ise iki farklı geliştirme ekibine ihtiyaç duymadan uygulama geliştirmeye olanak sağlar.

Performans olarak yerel uygulamaların gerisinde kalsa da geliştirme süresi ve kolaylığı düşünüldüğünde, eğer hızlıca uygulama çıkartmak istiyorsanız, hibrit uygulamalar sizin için biçilmiş kaftandır.

Hibrit uygulamaları, compile to native ve webview wrapper olarak iki farklı yaklaşıma bölebiliriz.

Compile to Native, hibrit ile geliştirdiğiniz uygulamanızı tamamen iOS ve Android tarafındaki native karşılıkları ile yeniden derler ve böylece size tam olarak o işletim sistemine özel ve performanslı bir uygulama sunar.

WebView Wrapper kullanan bir framework ile geliştirme yaptığınızda ise adından da anlaşıldığı gibi uygulamamız bir Webview aracılıyla kullanıcıya sunulur. Bu yüzden performans olarak Flutter, React Native gibi native derleme kullanan hibrit frameworklere göre geride kalır.

Avantajları

  • Yalnızca tek kod tabanınında kod yazarak çeşitli işletim sistemi ve platformlarda aynı anda uygulama geliştirmenize olanak sağlar.
  • Tek bir yerden yönetildiği için uygulama üzerinde geliştirmeler yapması ve bakımı daha kolay ve daha hızlıdır.
  • Herhangi bir hata ile karşılaşıldığı zaman yine sadece tek bir yerden hatayı çözerek bütün platformlarda problem giderilmiş olur.
  • Uygulamanızı farklı platformlar içinde çıkartmak isterseniz, her platform için ayrı programlama dili öğrenmenize gerek kalmaz.
  • Uygulamamızı kodlarken harcadığımız zaman ve maliyet açısından büyük bir fark yaratır.
  • Eğer isterseniz bazı hibrit frameworklerde native kodlarınızı uygulama içinde kullanabilirsiniz.
Hot Reload on Flutter
  • Neredeyse her mobil hibrit geliştirme platformu Hot Reload özelliği ile birlikte gelir. Bu özellik kodlarımızda herhangi bir değişiklik yapıp kaydettiğimiz anda anlık olarak emülatörden veya fiziksel cihazımızdan kodumuzun yansımasını görmemizi sağlar. Bir uygulama geliştirirken kaç kere test edildiği düşünüldüğünde bu özellik zaman tasarrufu konusunda işinize çok yarayacak.

Dezavantajları

  • Bazı durumlarda native özellikleri kullanmak için o işletim sistemine özgü programlama dili ile kod yazmanız gerekebilir.
  • Performans olarak native uygulamaların gerisinde kalır.
  • Özellikle yüksek grafikli uygulamalarda ve yoğun animasyonlar kullanıldığında performans farkı giderek açılır.

Hibrit Frameworkler ve Popülerlik Karşılaştırması

Yazımın bu kısmında bilinen hibrit frameworklerin şuan piyasada hangi durumda oldukları, ne kadar geliştiricinin bu frameworkleri kullandığı konusunda bilginiz olması açısından; Github yıldız, Github toplam repo sayıları, Stackoverflow soru ve Google Trends verilerini sizinle paylaşacağım.

Github Watchers, Stars, Forks

Github Watchers, Stars, Forks

Hibrit geliştirme platformlarının Github yıldız sayılarına baktığımızda:

  • Flutter, şuanda Github yıldız sayısına göre 109 bin yıldızla, incelediğimiz frameworkler arasında %39 oran almayı başarıyor ve birinci görünüyor. Bu birincilik bize arkasında çok büyük bir topluluk olduğunu ve ortaya çıkmış olmasından yalnızca 3 yıl geçmiş olmasına rağmen ne kadar sevildiğini anlamamıza yardımcı oluyor.
  • Flutter topluluğunun diğer hibrit frameworklere oranla daha hızlı büyüdüğünü söyleyebilirim. Arkasında Google gibi büyük bir firma duruyor. Ayrıca Türkiye’nin de içinde bulunduğu dünyanın çoğu yerinde bulunan Google Developer Groups toplulukları, çoğunlukla üniversite öğrencilerine yaptıkları etkinliklerle Google ekosistemi hakkında ve Flutter gibi destekledikleri projelerin eğitimlerini ücretsiz olarak vermekteler.

Github Repositories, Commits

Github Repositories, Commits

Github’da hibrit framework’ün ismiyle arama yaptığımızda çıkan toplam repository sayılarını sizinle paylaşmak istedim.

  • Grafiğe baktığımızda React Native, %35 oran ile birinci görünüyor ve bu da React Native’in şuanda incelediğimiz frameworkler arasında en fazla uygulama ve kütüphane sayısına sahip olduğunu anlamamıza yardımcı oluyor. Tabi ki React Native’in, Flutter’a göre yaklaşık 2 yıl daha önce piyasaya çıktığını da göz önünde bulundurmamız da fayda var.

Stackoverflow Questions

Stackoverflow Questions

Stackoverflow soru sayılarına baktığımızda:

  • Bu grafiği önceki grafiklerle karşılaştırdığımızda, Cordova ve Xamarin’de ki artış net olarak belli oluyor.
  • Grafikte yine ilk iki sıranın önceki grafiklere göre çok değişmediğini söyleyebiliriz.

Google Trends

Google Trends

Google Trends aracılığıyla popüler 5 hibrit frameworkün, yaklaşık 3 yıllık dünya genelinde arama hacimlerine baktım.

  • Grafikte Flutter’ın çıkış tarihinden itibaren ne kadar hızlı yükseldiği ve şuanda karşılaştırdığımız mobil hibrit frameworkler arasında birinci konumda olduğu göze çarpıyor.
  • Ayrıca diğer göze çarpan ise son zamanlarda hibrit frameworklerin duraklama dönemine girdiği hatta arama hacimleri bakımından ilginin azaldığı.

Sonuç

Bu yazımda sizlere, mobil native ve hibrit uygulama geliştirme hakkında ve şuanda hibrit frameworklerin ne durumda olduğu hakkında bilgiler vermeye çalıştım. Verilere baktığımızda Flutter ve React Native şuan piyasada hakim gözüküyor. Artış hızlarını incelediğimizde ise Flutter ilerleyen zamanlarda React Native’i geride bırakacağa benziyor.

Umarım yazım sizin için yararlı olmuştur.

--

--