iOS ve Android uygulama yapmak istiyorsan iki yol var: her platform için ayrı (native) uygulama yazmak ya da tek kod tabanıyla ikisini birden çıkarmak (cross platform). Çoğu iş uygulaması ve yeni girişim için tek kod tabanı, daha az emek ve daha hızlı yayın demektir. Ağır grafik, özel donanım veya platforma özgü derin özellik gerekiyorsa native daha mantıklı olabilir. Bu yazıda native mi cross platform mu sorusuna, Flutter ile uygulama geliştirme ve iOS uygulama geliştirmek için gerekenlere kadar net bir çerçeve çiziyorum.
Native uygulama nedir?
Native uygulama, platformun kendi dil ve araçlarıyla yazılır: iPhone için Swift (Xcode ile), Android için Kotlin (Android Studio ile). İki platform için iki ayrı kod tabanı ve genellikle iki ayrı iş akışı olur. Avantajı: platformun tüm yeteneklerine en doğrudan erişim ve en yüksek performans potansiyeli. Dezavantajı: aynı özelliği iki kez yazmak, iki kez test etmek, yani genelde daha fazla emek.
Cross platform uygulama nedir?
Cross platform yaklaşımda tek kod tabanından hem iPhone hem Android uygulaması üretilir. En bilinen iki araç Flutter (Google, Dart dili) ve React Native (JavaScript/TypeScript). Her ikisi de büyük uygulamalarda kullanılıyor ve olgun araçlardır. Avantajı: özellikler bir kez yazılır, iki platformda aynı anda çıkar; bu da maliyet ve süreyi düşürür. Dezavantajı: çok özel bir platform özelliği gerektiğinde ek bir köprü kodu yazmak gerekebilir.
Native mi cross platform mu? Karşılaştırma
| Kriter | Native (Swift + Kotlin) | Cross platform (Flutter / React Native) |
|---|---|---|
| Kod tabanı | İki ayrı | Tek |
| Geliştirme emeği | Genelde daha yüksek | Genelde daha düşük |
| Yeni özelliği iki platforma çıkarma | İki kez yazılır | Bir kez yazılır |
| Platforma özgü derin özellik | En kolay | Bazen ek kod gerekir |
| Ağır 3B oyun, gelişmiş kamera/AR | Daha uygun | Duruma göre |
| İş, içerik, randevu, üyelik, ödeme uygulamaları | Uygun ama pahalı | Çoğu zaman yeterli ve ekonomik |
Flutter mı React Native mi?
Flutter, kendi çizim motoruyla her iki platformda tutarlı görünüm sağlar ve arayüz özelleştirmesinde güçlüdür; Dart dilini kullanır. React Native ise JavaScript/TypeScript bilen ekipler için avantajlıdır ve gerçek platform bileşenlerini kullanır. İkisi arasında "doğru" seçim, ekibin deneyimine ve projenin özelliklerine bağlıdır. Dil karşılaştırması için mobil uygulama geliştirme dilleri yazısına bakabilirsin. Bizim yaklaşımımız: kapsamı gören ekip, iki mağazaya tek kod tabanıyla çıkıp çıkamayacağını teknik olarak değerlendirir ve gerekçesini sana yazılı anlatır.
İlk önce hangi platform? iPhone mu Android mi?
İki platforma birden çıkılmıyorsa seçim hedef kitleye bağlıdır. Türkiye'de Android'in kullanıcı payı genellikle daha yüksek; öte yandan iPhone kullanıcıları ödeme yapmaya daha yatkın olarak bilinir. Bu oranlar değişir, güncel pazar verilerini kontrol et. Hedefin belliyse onun kullandığı platformdan başla; ama tek kod tabanı ile ikisini birden yapmak çoğu zaman ek maliyetin küçük olduğu bir yoldur. Dövme Sanatçısı Defteri'ni önce iPhone için çıkardık; çünkü o hedef kitle ve ürün için en makul sıra buydu.
iOS uygulama geliştirmek için gerekenler
- Apple Developer Program üyeliği: Uygulamayı App Store'da yayınlamak için gerekli; yıllık ücretlidir. Yazının yazıldığı tarihte (Kasım 2026) güncel tutarı Apple'ın resmî sayfasından kontrol et. Ayrıntı için App Store uygulama yükleme ücreti yazısı.
- Mac ve Xcode: iOS uygulamalarının derlenmesi ve paketlenmesi Apple araçlarını gerektirir.
- Test cihazı: Gerçek iPhone'da deneme şarttır; simülatör yetmez.
- Mağaza kuralları: Apple inceleme yönergeleri katıdır; red sebeplerini baştan bilmek zaman kazandırır.
Android tarafında Google Play Console hesabı gerekir; ayrıntılar için Google Play uygulama yükleme yazısına bak.
Karar vermek için 5 soru
- Uygulama iş/içerik/randevu/ödeme gibi standart akışlara mı dayanıyor? Cross platform muhtemelen yeter.
- Ağır grafik, oyun, AR ya da özel donanım kullanıyor mu? Native ya da oyun motoru değerlendir.
- Bütçe ve takvim sıkı mı? Tek kod tabanı avantaj sağlar.
- İki platformda birebir aynı deneyim mi istiyorsun? Cross platform tutarlılık sağlar.
- Uzun vadede ekip büyüyecek mi? Seçtiğin teknolojiyi bilen yazılımcı bulunabilirliğine bak.
Web görünümü ile mağaza uygulaması arasındaki fark
Bazı projeler için tarayıcıda çalışan, ana ekrana eklenebilen bir web uygulaması (PWA) yeterli olabilir. Ama mağaza uygulaması bildirimler, cihaz özellikleri, mağazada bulunabilirlik ve kullanıcıya güven verme açısından avantajlıdır. Karar için web sitesi mi mobil uygulama mı yazısına bakabilirsin.
Platform alışkanlıkları: iPhone ve Android kullanıcıları farklı bekler
İki platformda kullanıcılar küçük ama fark edilen alışkanlıklar taşır. Geri dönüş hareketi, menülerin yeri, bildirim izinleri ve ödeme ekranları platforma göre farklı davranır. İyi bir cross platform çalışma bu farkları gözetir; ekranları iki sistemde de doğal hissettirecek şekilde ayarlar. Her iki platformda aynı görünümde olmak güzeldir, ama kullanıcının alışık olduğu davranışları bozmamak daha da önemlidir. Bu yüzden iki platformda gerçek cihazlarda test şart.
Hangi durumda hangi yol?
- Randevu, içerik, üyelik, abonelik uygulaması: Tek kod tabanı çoğunlukla yeterli.
- Yoğun 3B grafik, oyun ya da gelişmiş AR: Native ya da oyun motoru düşün.
- Yalnızca iPhone kullanıcılarına hitap eden bir hizmet: Önce iPhone ile başlamak mantıklı olabilir.
- Bütçe kısıtlı ve iki platform şart: Tek kod tabanı en güvenli seçenek.
Sık sorulan sorular
Cross platform uygulamalar yavaş mı?
Günlük iş uygulamalarında fark, kullanıcının fark edeceği düzeyde değildir. Performansın kritik olduğu ağır grafik işlerinde native avantajlı olabilir.
Sonradan native'e geçmek mümkün mü?
Mümkün ama yeniden yazım gerektirir. Ürün büyüdüğünde gerekirse bu karar verilir; çoğu uygulama bu noktaya hiç gelmez.
Flutter ile uygulama geliştirme iOS ve Android için yeterli mi?
Evet, her iki platforma tek kod tabanıyla çıkılabilir. Yine de platforma özgü bazı özellikler ek çalışma gerektirebilir.
İki platformu aynı anda çıkarmak mı, sırayla mı?
Tek kod tabanıyla ikisi aynı anda çıkabilir. Bütçe çok sınırlıysa önce hedef kitlenin platformundan başlamak da mantıklı.
Biz yazılım hizmetimizde iOS ve Android uygulamalarını tek kod tabanıyla iki mağazaya çıkarıyoruz; mağaza yayını senin kendi Apple/Google hesabınla yapılıyor. Projenin native mi tek kod tabanı mı olacağını kapsamı konuşarak karara bağlayalım: bize yaz. Genel süreç için mobil uygulama geliştirme süreci yazısına da bakabilirsin.