Mobil Uygulama

Native mi, Cross-Platform mı? İşletme Sahibi İçin Karar Rehberi

admin 4 dakikalık okuma

Mobil uygulama yaptırırken karşınıza çıkan ilk teknik karar bu: native mi, cross-platform mı? Aslında bu kararı sizin vermeniz gerekmiyor — geliştiricinin vermesi gerekiyor. Ama gerekçesini anlayabilmeniz gerekiyor, çünkü karar maliyeti, süreyi ve sonradan kiminle çalışabileceğinizi etkiliyor. Bu yazı teknik bir karşılaştırma değil; işletme sahibinin bu konuşmayı yürütebilmesi için yazıldı.

Native ve cross-platform nedir? Native (yerel) uygulama, tek bir işletim sistemi için o platformun kendi araçlarıyla geliştirilen uygulamadır: iOS için Swift, Android için Kotlin gibi. Cross-platform (çapraz platform) uygulama ise tek bir kod tabanından hem iOS hem Android sürümü üreten yaklaşımdır; React Native ve Flutter bu yaklaşımın en yaygın araçlarıdır. Aşağıda bu farkın işletme sahibi için maliyet, bakım ve ekip açısından ne anlama geldiğini anlatıyoruz.

Üç seçenek ne demek?

Native Cross-platform Web tabanlı
Nasıl yapılır iOS ve Android için ayrı kod Tek kod, iki platform Tarayıcıda çalışan uygulama
Mağazada yayın Var Var Yok
İki platform maliyeti İki ayrı geliştirme Tek geliştirme, platform farkları için ek iş Tek geliştirme
Bakım İki kod tabanı Tek kod tabanı Tek kod tabanı
Cihaz özelliklerine erişim Tam Geniş; bazı durumlarda ek yerel kod gerekir Sınırlı
Bildirim Tam Tam Kısıtlı
Çevrimdışı çalışma Güçlü Güçlü Sınırlı

Cross-platform tarafında en yaygın iki teknoloji React Native ve Flutter. Native tarafta iOS için Swift, Android için Kotlin kullanılıyor.

Sizin açınızdan pratik farklar

  • Maliyet: İki platforma birden çıkacaksanız native, iki ayrı geliştirme demektir. Cross-platform’da tek geliştirme yapılır, ancak platform farkları için yine de ek iş çıkar — “yarı maliyet” beklemeyin.
  • Bakım: Fark en çok burada hissedilir. Her düzeltme ve her yeni özellik native’de iki kez yapılır. Uygulamanız yıllarca yaşayacaksa bu kalem büyür.
  • Ekip bulmak: Firmayla yollarınızı ayırırsanız, projeyi devralacak birini bulmak kolay olmalı. Yaygın kullanılan teknolojiler bu açıdan avantajlıdır.
  • İkinci platforma geçiş: Tek platformla başlayıp diğerine geçmeyi düşünüyorsanız, cross-platform bu geçişi belirgin biçimde kolaylaştırır.
  • Performans: Form, liste, harita, ödeme içeren tipik işletme uygulamalarında kullanıcı genelde bir fark hissetmez. Fark, yoğun grafik ve sürekli hareket gerektiren uygulamalarda ortaya çıkar.

Hangi durumlarda native gerekir?

Bunlar somut gerekçelerdir; “daha kaliteli olur” bir gerekçe değildir.

  • Yoğun 3B grafik veya oyun motoru gerektiren uygulamalar.
  • Artırılmış gerçeklik, gelişmiş kamera işleme, gerçek zamanlı görüntü veya ses işleme.
  • Cihaz donanımına derin erişim gerektiren özel senaryolar (özel Bluetooth cihazları, NFC’nin ileri kullanımları, arka planda sürekli konum işleme).
  • Milisaniyelerin önemli olduğu, gecikmeye duyarlı uygulamalar.
  • Platformun yeni çıkan bir özelliğini ilk gün kullanmanız gerekiyorsa.

Bu maddelerden hiçbiri sizin durumunuza uymuyorsa, cross-platform büyük olasılıkla makul seçenektir. Ama bu kararı geliştiricinizin sizin projeniz için gerekçelendirmesini isteyin; genel bir kural olarak kabul etmeyin.

React Native mi, Flutter mı?

Bu soru işletme sahibini sanıldığı kadar ilgilendirmez. İkisi de olgun, yaygın kullanılan ve tipik işletme uygulamalarını karşılayan teknolojilerdir. Belirleyici olan genellikle şudur: geliştirici ekibin hangisinde deneyimli olduğu ve projenizin ihtiyaç duyduğu hazır bileşenlerin hangi tarafta daha oturmuş olduğu.

Sizin bakmanız gereken tek şey, seçimin gerekçelendirilip gerekçelendirilmediğidir. “Biz hep bununla yaparız” yeterli bir cevap değil; “sizin projenizde şu şu ihtiyaçlar var, bu yüzden bunu seçiyoruz” yeterli bir cevaptır.

Bir seçenek daha: mağazaya hiç girmemek

Bildirim, çevrimdışı çalışma, kamera veya konum takibi zorunlu değilse, mobil uyumlu bir web uygulaması işi görebilir. Bu yol mağaza hesaplarını, mağaza inceleme sürecini ve indirme engelini tamamen ortadan kaldırır; kullanıcı bağlantıya tıklar ve kullanır.

Özellikle işletme içi araçlarda ve ilk sürüm denemelerinde bu seçenek çoğu zaman hak ettiğinden az konuşuluyor. Kapsamı dar tutarak başlama mantığını MVP ile fikir doğrulama yazımızda anlattık.

Geliştiriciye soracağınız sorular

  • Bu projede hangi yaklaşımı öneriyorsunuz ve neden? Gerekçeyi projeye özel açıklar mısınız?
  • Seçtiğiniz teknolojide bu ekipte kaç kişi çalışabiliyor?
  • Bu seçim, ileride eklemek isteyebileceğim şeyleri kısıtlıyor mu?
  • İşletim sistemi yıllık güncellemeleri geldiğinde ne kadar uyum çalışması gerekir, bu nasıl ücretlendirilir?
  • Sizinle çalışmayı bırakırsam, projeyi devralacak birinin bu teknolojide bulunması ne kadar zor?
  • Kod ve hesapların mülkiyeti sözleşmede nasıl yazıyor?

Son iki soru teknoloji seçiminden bağımsız olarak her projede sorulmalıdır. Firma seçerken sorulacakların tamamını yazılım şirketi seçimi yazımızda topladık.

Sık sorulan sorular

Cross-platform uygulama daha mı düşük kaliteli olur?

Kalite teknolojiden çok, işin nasıl yapıldığına bağlıdır. Tipik işletme uygulamalarında kullanıcı genelde fark etmez; kötü yapılmış bir native uygulama, iyi yapılmış bir cross-platform uygulamadan daha kötü bir deneyim sunar.

Sonradan native’e geçebilir miyim?

Geçebilirsiniz ama bu, uygulamanın yeniden yazılması anlamına gelir. Bu ihtimali baştan konuşup gerçekten gerekip gerekmediğine karar vermek daha ucuzdur.

Tek platformda başlamak mantıklı mı?

Hedef kitlenizin cihaz dağılımını biliyorsanız evet. Cross-platform seçimi, ikinci platforma geçmek istediğinizde işi kolaylaştırır.

Teknoloji seçimi maliyeti ne kadar değiştirir?

Tek platforma çıkacaksanız fark küçülür; iki platforma çıkacaksanız ve uygulama yıllarca bakım görecekse fark büyür. Maliyeti belirleyen kalemleri mobil uygulama maliyeti yazımızda ele aldık.

Seçilen teknolojinin desteği biterse ne olur?

Makul bir endişe. Riski azaltmanın yolu, yaygın kullanılan ve arkasında büyük bir topluluk olan teknolojileri tercih etmek ve kod mülkiyetinin sizde olmasını sözleşmeye yazdırmaktır.

Projenize hangisinin uyduğuna birlikte bakalım

Uygulamanızın ne yapacağını, hedef kitlenizin hangi cihazları kullandığını ve ilk sürümde neyin gerektiğini paylaşın; teknoloji seçimini gerekçesiyle birlikte anlatalım. Mobil uygulama geliştirme hizmetimizi inceleyebilir, bize ulaşabilirsiniz.

Hadi birlikte çalışalım

Aklınızda bir proje mi var? Birlikte zarif bir şey inşa edelim.

WhatsApp