Günümüzde pek çok işletme kendi mobil uygulamalarını oluşturmaktadır. Bireysel fikirlerin çok hızlı yayıldığı teknoloji çağında, herkes pastadan pay almak istemektedir. Öncelikle bir fikir olarak başlayan bu yolculukta karar verilmesi gereken noktalar olmaktadır. Özellikle kullanılacak teknolojiler, fikrin hayata geçirilme süresi, maliyet gibi bir çok kriter vardır. Bu kriterleri, örneğin süreyi aza indirmek adına hibrit geliştirme teknolojileri ortaya çıkmıştır.
Native
Native, uygulama yazılırken platformun verdiği dil ve IDE ile uygulama geliştirmektir. Eğer geliştirmeci native IOS developer ise Apple’ın verdiği dil olan Swift veya Objective C dilini bilmesi gerekir. IDE olarak da Xcode kullanması şarttır veya geliştirmeci native android developer ise Google’ın verdiği dil olan Kotlin’i veya Java’yı bilmesi gerekir. IDE olarak da Android Studio kullanması elzemdir. Bu dillerle yazılan tüm uygulamalar Native’dir.
Hybrid
HTML5, CSS ve JavaScript kullanılarak yazılır. Tek kod ile bütün platformlara geliştirilebilir. Cross-platform(çapraz platform) uygulama geliştirme olarak da bilinir. Tüm platformlar için aynı sonuç üretilir ve tek kod ile native’e benzer bir uygulama geliştirilebilir.
Bunun çalışma şekli şu şekilde, sizin yazdığınız uygulamayı platformda bir webViewde çalıştırıyor yani telefonda browser’ı(tarayıcıyı) full screen kullanıyormuş gibi düşünebilirsiniz tabi üstte link yazdığımız yer olmadan, geri ve ileri gitme butonları olmadan, browserden daha hızlıdır ve local API’lere ulaşabiliyorsunuz.
React Native
React Native için kısaca Facebook tarafından üretilen, cross-platform mobil uygulama geliştirme olanağı sağlayan bir framework diyebiliriz.
“Cross-platform mobil uygulama geliştirme framework’ü” ne demek derseniz; “Ben tek bir dil ile mobil uygulama geliştireyim; ama hem Android, hem iOS, hem Windows … vs ortamlarında çalışsın. Kalkıp da Android için Java, iOS için Swift öğrenmekle uğraşmayayım!” dediğiniz de sizin imdadınıza koşan diller, framework’lerdir.
Flutter
Flutter, Google tarafından oluşturulan ve Mayıs 2017'de yayınlanan ücretsiz ve açık kaynaklı, mobil, web ve masaüstü uygulamaları geliştirmek için kullanabileceğiniz bir mobil UI frameworktür.
Flutter çapraz bir platformdur, aynı altyapıyı kullanarak hem IOS hemde Android tabanlı uygulamalar geliştirebilirsiniz.
Neden Native?
Her zaman en iyi performansı verir, o platformla ilgili bütün API’lere ulaşabilirsiniz, daha fazla kaynağa ulaşabilirsiniz, bir sorunla karşılaştığınızda soracağınız yerler her zaman daha fazladır.
Neden Hybrid?
Hybrid’i sadece mobil ile kısıtlamamalıyız, şu an da desktop için uygulama geliştirebileceğiniz framework’ler de vardır örnek olarak electron’u verebilirim electron ile Mac, Windows ve Linux’a uygulama geliştirebilirsiniz.