
Mobil uygulama teknolojisi seçimi, projenin bütçesini, süresini ve gelecekteki bakım yükünü tek başına belirleyen en kritik karardır; ama çoğu şirket bu kararı teknik ekibe bırakıp geçer. Oysa PWA, native ve cross-platform arasındaki tercih yalnızca bir mühendislik sorusu değildir. Uygulamanın mağazada olup olmayacağını, bildirim gönderip gönderemeyeceğini, ne kadar hızlı çıkacağını ve iki yıl sonra ne kadar bakım isteyeceğini belirler.
Bu yazıda üç yaklaşımı sade bir dille anlatıyor, her birinin nerede güçlü nerede yetersiz kaldığını gösteriyoruz. Sonra karar vericilerin sorması gereken birkaç soruyla seçimi somutlaştırıyoruz. Planzio uygulamamızı web ve mobilde birlikte yayınlarken bu kararı kendimiz de verdik; buradaki gözlemler o deneyimden ve şirketlere geliştirdiğimiz uygulamalardan geliyor.
PWA nedir?
PWA, yani Progressive Web App, tarayıcıda çalışan ancak telefonun ana ekranına eklenebilen, çevrimdışı açılabilen ve bir uygulama gibi tam ekran görünen web sitesidir. Mağazadan indirilmez; kullanıcı siteye girer ve ana ekrana ekle der. Tek bir kod tabanı hem web sitesi hem de mobil uygulama gibi davranır.
PWA'nın en büyük avantajı hız ve maliyettir. Zaten bir web uygulamanız varsa, onu PWA'ya dönüştürmek görece küçük bir iştir. Mağaza inceleme süreci yoktur, güncellemeler anında yayınlanır, kullanıcı hiçbir şey indirmek zorunda kalmaz. Kurum içi araçlar, bayi portalları ve sık güncellenen iş uygulamaları için bu yaklaşım oldukça pratiktir.
Sınırları da nettir. iOS tarafında anlık bildirim desteği uzun süre yoktu ve bugün de bazı kısıtlarla gelir. Kamera, konum ve dosya erişimi gibi cihaz özelliklerine ulaşım native uygulamaya göre daha kısıtlıdır. Mağazada yer almadığı için kullanıcı sizi arama yaparak bulamaz ve mağazanın abonelik altyapısı kullanılamaz. Uygulama kimliği önemliyse ve mağaza görünürlüğü isteniyorsa PWA tek başına yetmez.
Native uygulama nedir, ne zaman gerekir?
Native uygulama, her platform için o platformun kendi diliyle ve araçlarıyla yazılan uygulamadır: iOS için Swift, Android için Kotlin. Cihazın tüm özelliklerine tam erişim, en yüksek performans ve platformun en yeni yeteneklerine ilk gün ulaşma imkanı sunar. Karşılığında iki ayrı kod tabanı, iki ayrı ekip ya da iki kat geliştirme süresi gerektirir.
Native, oyunlar, yoğun grafik ve görüntü işleme yapan uygulamalar, gelişmiş sensör ya da donanım kullanan uygulamalar ve en küçük gecikmenin bile hissedildiği ürünler için doğru tercihtir. Platforma özgü tasarım diline birebir uymak istenen, kullanıcıların işletim sistemiyle aynı hissi beklediği tüketici uygulamalarında da tercih edilir.
Bir işletmenin sipariş, randevu, takip, saha ya da müşteri hizmeti uygulaması için native çoğunlukla gereğinden fazladır. İki kod tabanını senkron tutmak, her özelliği iki kez yazmak ve iki ayrı test süreci yürütmek, bütçeyi katlarken sonuçta kullanıcının fark edeceği bir avantaj üretmez. Native'in gücü, gerçekten ihtiyaç duyulduğunda anlam kazanır.
Cross-platform nedir?
Cross-platform, yani çapraz platform, tek bir kod tabanından hem iOS hem Android uygulaması üretmeyi sağlayan yaklaşımdır; React Native, Expo ve Flutter bu alanın en yaygın araçlarıdır. Uygulama mağazalarda native gibi yer alır, bildirim, kamera ve konum gibi cihaz özelliklerine erişir ve çoğu kullanım senaryosunda native'e yakın performans sunar.
Bu yaklaşımın gücü, native'in avantajlarının büyük kısmını PWA'ya yakın bir maliyetle sunmasıdır. Tek ekip tek kodu yazar, özellikler iki platforma aynı anda çıkar, mağazada görünürlük ve abonelik altyapısı kullanılır. Expo gibi araçlar mağaza derleme, sürüm yönetimi ve anlık güncelleme gibi işleri de sadeleştirir. Bugün mağazalardaki pek çok tanınmış uygulama bu yaklaşımla geliştirilmektedir.
Sınırları şunlardır: platforma çok özgü bir özellik gerektiğinde köprü kodu yazmak gerekebilir; çok ağır animasyon ya da grafik işleri native kadar akıcı olmayabilir; işletim sistemi güncellemelerinde çerçevenin uyum sağlaması için kısa bir bekleme yaşanabilir. Ancak iş uygulamalarının büyük çoğunluğu için bu sınırlar hiç hissedilmez.
Mobil uygulama teknolojisi seçimi hangi sorularla yapılır?
Mobil uygulama teknolojisi seçimi, beş soruya verilen cevapla netleşir: uygulama mağazada olmalı mı, anlık bildirim kritik mi, hangi cihaz özelliklerine ihtiyaç var, kullanıcılar mevcut bir web uygulamasına zaten alışık mı ve bütçe ile takvim ne kadar? Bu cevaplar bir araya geldiğinde, üç yaklaşımdan biri genellikle kendiliğinden öne çıkar.
Mağaza sorusu ilk elemedir. Uygulamanızın App Store ve Google Play'de aranıp bulunması, mağaza aboneliği satması ya da kurumsal itibar için mağazada yer alması gerekiyorsa PWA tek başına yetmez; cross-platform ya da native gerekir. Kullanıcılar zaten şirketin sistemine tarayıcıdan giriyorsa ve mağaza görünürlüğü önemsizse, PWA en hızlı ve ekonomik yoldur.
Cihaz özellikleri ikinci elemedir. Yoğun kamera kullanımı, arka planda konum takibi, Bluetooth cihaz bağlantısı ya da gelişmiş sensör erişimi gerekiyorsa native ya da köprü yazılabilen cross-platform gerekir. Bu özelliklerin hiçbiri gerekmiyorsa, bildirim ve temel cihaz erişimi yeterliyse cross-platform ya da PWA yeterlidir. Kalan sorular ise bütçe ve takvimle ilgilidir ve ekipten net cevap alınmalıdır.
Maliyet ve süre açısından fark nedir?
Maliyet ve süre açısından sıralama genellikle şöyledir: PWA en düşük, cross-platform orta, native en yüksek. Mevcut bir web uygulaması PWA'ya haftalar içinde dönüştürülebilir; cross-platform bir uygulama aylar alır; native iki platform için bu sürenin yaklaşık iki katını ister. Bu sıralama, arka uç ve tasarım gibi teknolojiden bağımsız kalemleri içermez.
Ancak yalnızca ilk geliştirme maliyetine bakmak yanıltıcıdır. Bakım maliyeti de teknolojiye göre değişir. Native'de her yeni özellik ve her hata düzeltmesi iki kez yapılır. Cross-platform'da bir kez yapılır ama çerçevenin işletim sistemi güncellemelerine uyumu takip edilir. PWA'da ise mağaza süreci olmadığı için güncelleme anında yayınlanır, bakım en hafiftir; buna karşılık tarayıcı uyumluluğu izlenir.
Projenin ömrü uzadıkça bakım kalemi toplam maliyetin daha büyük payını alır. Üç yıl yaşayacak bir uygulamada, geliştirme maliyeti kadar bakım ve güncelleme gideri birikebilir. Bu yüzden karar verirken yalnızca ilk teklife değil, teknolojinin uzun vadede kaç kat emek isteyeceğine de bakmak gerekir.
Mağaza ve dağıtım tarafında ne değişir?
Mağaza ve dağıtım tarafında üç yaklaşım birbirinden tamamen ayrılır: PWA mağazadan bağımsız olarak web adresi üzerinden dağıtılır, cross-platform ve native uygulamalar ise App Store ve Google Play inceleme süreçlerinden geçer. Mağazada olmak görünürlük ve güven sağlar, ama her güncellemenin incelemeye girmesi ve mağaza politikalarına uyum yükümlülüğü getirir.
Mağaza süreci beraberinde bazı zorunluluklar taşır: geliştirici hesapları, gizlilik politikası, hesap silme akışı, ekran görüntüleri, yaş derecelendirmesi ve abonelik satılacaksa mağazanın ödeme altyapısına uyum. Bu süreçlerin her biri zaman ve dikkat ister; ilk yayın, deneyimsiz ekipler için birkaç ret ile uzayabilir. Bu konuyu ayrı bir yazıda, mağaza yayın süreci başlığı altında ayrıntılı ele alıyoruz.
PWA'nın dağıtım kolaylığı özellikle kurum içi kullanımda değerlidir. Saha ekibine ya da bayilere uygulama dağıtmak için mağaza gerekmez; bir bağlantı gönderilir, kullanıcı ana ekrana ekler ve ertesi gün yapılan güncelleme anında herkese ulaşır. Yüzlerce bayinin kullandığı bir portalda bu esneklik, mağaza sürecinin sürtünmesinden çok daha değerli olabilir.
Bakım ve uzun vadede hangisi daha sürdürülebilir?
Uzun vadede sürdürülebilirlik, ekibin o teknolojiyi ne kadar rahat bulabildiğine ve teknolojinin arkasındaki topluluğun ne kadar canlı olduğuna bağlıdır. Cross-platform araçlar ve web teknolojileri geniş bir geliştirici havuzuna sahiptir; native uzmanlığı ise daha dar ve genellikle daha pahalıdır. Kaynak kodun size ait olması, teknoloji ne olursa olsun bağımsızlığınızı korur.
Teknolojinin geleceği de bir ölçüttür. React Native, Flutter ve modern web teknolojileri büyük şirketler tarafından desteklenmekte ve aktif olarak geliştirilmektedir. Bir projeye başlarken kullanılan aracın üç yıl sonra da bakımının yapılıp yapılmayacağı, dünyada kaç kişinin onunla çalıştığı ve iş ilanlarında ne kadar arandığı gibi göstergelere bakmak faydalıdır.
Bazı projelerde en sürdürülebilir yol, karma yapıdır. Müşteriye açık uygulama cross-platform ile mağazada, kurum içi yönetim paneli ise web ve PWA olarak tarayıcıda çalışır; ikisi de aynı arka uca bağlanır. Bu düzen, her kullanıcı grubuna en uygun dağıtım biçimini sunarken tek bir veri ve iş kuralı katmanını korur.
Karar verirken kimden destek almalı?
Teknoloji seçimi bir kez verilen ve geri alması pahalı bir karardır; bu yüzden uygulamayı yapacak ekibin üç yaklaşımı da tarafsız anlatabilmesi önemlidir. Yalnızca tek bir teknolojiyi bilen bir ekip doğal olarak o teknolojiyi önerir. İyi bir ekip önce uygulamanın ne yapacağını, kimin kullanacağını ve nerede dağıtılacağını sorar, teknolojiyi bu cevaplara göre önerir.
Rezon, şirketlere özel CRM, ERP ve bayi portalı sistemleri kuran, kendi SaaS ürünlerini canlıda işleten İstanbul merkezli bir yazılım çözümleri şirketidir. Planzio'yu web ve mobilde birlikte, şirketlere geliştirdiğimiz uygulamaları ise ihtiyaca göre PWA ya da cross-platform olarak kuruyoruz; kaynak kod her durumda müşteriye aittir. Projeniz için hangi yaklaşımın uygun olduğunu birlikte değerlendirmek isterseniz İletişim sayfamızdan ücretsiz keşif görüşmesi talep edebilir, örnek çalışmalarımızı Çözümler sayfamızdaki Web ve Mobil bölümünde inceleyebilirsiniz.
Sık sorulan sorular
+PWA mağazada yayınlanabilir mi?
Doğrudan yayınlanmaz; PWA web adresi üzerinden dağıtılır. Mağazada yer almak isteniyorsa PWA bir sarmalayıcı ile paketlenebilir ya da cross-platform bir uygulamaya geçilir.
+Cross-platform uygulama native kadar hızlı mı?
İş uygulamalarının büyük çoğunluğunda kullanıcı bir fark hissetmez. Yalnızca oyun, ağır grafik ya da yoğun sensör kullanan uygulamalarda native belirgin avantaj sağlar.
+Hangi durumda native uygulama şart olur?
Gelişmiş donanım erişimi, çok yüksek performans, yoğun grafik ya da platformun en yeni özelliklerine ilk gün erişim gerektiğinde native gerekir. Sipariş, randevu ve takip gibi iş uygulamalarında nadiren şarttır.
+Mevcut web uygulamamı mobil uygulamaya çevirebilir miyim?
Evet. En hızlı yol PWA'ya dönüştürmektir; mağazada yer almak isteniyorsa aynı arka uca bağlanan cross-platform bir mobil uygulama geliştirilir, web tarafı olduğu gibi kalır.
+Mobil uygulama teknolojisi seçimini kim yapmalı?
Karar, iş hedeflerini bilen yönetim ile üç yaklaşımı da tarafsız anlatabilen teknik ekibin birlikte vermesi gereken bir karardır. Mağaza ihtiyacı, cihaz özellikleri, bütçe ve bakım yükü birlikte değerlendirilmelidir.
