Fikirden App Store'a: Yapay Zeka ile Mobil Uygulama Geliştirme
Yapay zeka tarafından üretilen kod kullanarak bir fikirden iOS/Android yayınına adım adım rehber — araç seçimi, test ve mağaza gönderimi için net seçimlerle.

Net Bir Uygulama Fikri ve Sınırlı Bir MVP ile Başlayın
İyi bir AI destekli geliştirme, kod düzenleyicisini açmadan önce başlar. Fikriniz bulanıksa, AI ekranlar ve özellikler üreterek sizi meşgul edebilir ama asıl değeri yaratmayabilir. İşiniz ona net bir hedef vermektir.
Problemi bir cümlede tanımlayın
Uygulamanın kim için olduğunu ve hangi sıkıntıyı giderdiğini içeren tek bir cümle yazın. Yeterince spesifik olsun ki yabancı biri bile durumu hayal edebilsin.
Örnek şablon:
“[kullanıcı türü]’nün [bir iş yapmasını] kolaylaştırmak için [yaygın bir engeli kaldırma].”
Örnek:
“Freelance tasarımcılara müşteri bilgilerini kaydedip şablonları yeniden kullanarak faturaları 60 saniyenin altında göndermede yardımcı olun.”
3–5 kullanıcı hikâyesi yazın
Kullanıcı hikâyeleri özellik değil eylem tanımlar; MVP’nizi gerçek davranışlara dayandırır.
- Kullanıcı olarak hesap oluşturabilirim, böylece veriler cihazlar arasında senkronize olur.
- Kullanıcı olarak bir müşteriyi isim ve e-posta ile ekleyebilirim, böylece onlara fatura kesebilirim.
- Kullanıcı olarak bir şablondan fatura oluşturabilirim, böylece bilgileri yeniden yazmam.
- Kullanıcı olarak faturayı PDF olarak paylaşabilirim, böylece hızlıca gönderebilirim.
İlk sürüm için must-have ve nice-to-have ayrımı
İlk sürümünüz temel değeri en az hareketli parçayla kanıtlamalı. Fikirlerinizi iki sepete ayırın:
- Olmazsa olmaz: ana sonucu teslim etmek için gereken minimum adımlar.
- Olursa iyi olur: kolaylık, görünüm, otomasyon veya ölçeklendirme iyileştiren öğeler.
Kısa bir kural: onu kaldırdığınızda uygulama ana problemi çözmeye devam ediyorsa, olmazsa olmaz değildir.
Bir başarı metriği seçin
MVP'nin çalıştığını söyleyebilecek tek ölçülebilir bir sonucu seçin. Örnekler:
- Günlük kayıtlar (tüketici uygulamaları için)
- Tamamlanan siparişler (ticaret için)
- Görev başına kazanılan süre (verimlilik uygulamaları için)
Bu metriği daha sonra ne inşa edeceğinize ve neleri görmezden geleceğinize karar vermek için kullanacaksınız.
Platformunuzu ve Teknoloji Yığını Seçin (Basit Kriterler)
AI’den ekran veya kod üretmesini istemeden önce uygulamanın nerede çalışacağını ve hangi araçların kullanılacağını belirleyin. Bu, promptları odaklar ve gerçek kısıtlarınıza uymayan kod üretimini önler.
1) iOS, Android veya her ikisi (kullanıcılara göre)
En basit soru ile başlayın: Kullanıcılarınız bugün nerede?
- iOS-öncelikli: ücretli uygulamalar, ABD/Batı Avrupa kitleleri ve yaratıcılar/profesyoneller hedeflendiğinde yaygın.
- Android-öncelikli: daha geniş küresel erişim ve fiyat hassasiyeti olan pazarlar için sık tercih edilir.
- Her ikisi: uygulamanız pazar etkilerine bağlıysa (pazar yerleri, sosyal özellikler) veya evrensel bir ihtiyacı doğruluyorsanız ideal.
Emin değilseniz, web sitesi analizleri, e-posta listesi, müşteri görüşmeleri veya cihaz türünü soran kısa bir kayıt formu gibi sinyallere bakın.
2) Native mi yoksa çapraz platform mu (ne zaman ne seçmeli)
Çoğu MVP için çapraz platform en hızlı yol sunar.
-
Çapraz platform (MVP’ler için önerilir)
- Flutter: cihazlar arasında tutarlı UI, güçlü performans, tasarım sistemi yaklaşımını seviyorsanız iyi.
- React Native: siz (veya AI) web/JavaScript bilginizden yararlanmak istiyorsanız ve kütüphane esnekliği istiyorsanız uygun.
-
Native (Swift/Kotlin)
Native seçin eğer platforma özgü özelliklere (ileri seviye kamera işlem hattı, karmaşık Bluetooth, yüksek performanslı animasyonlar) güçlü bağımlılığınız varsa veya zaten bir native ekibiniz varsa.
3) Backend seviyesini belirleyin (yok, basit veya tam)
Teknoloji yığınınız veri ihtiyaçlarınızla eşleşmeli:
- Backend yok: hesaplayıcılar, rehberli içerik, çevrimdışı araçlar. En hızlı ve en basit.
- Basit veritabanı + auth: kullanıcı hesapları, kaydedilen öğeler, temel senkronizasyon.
- Tam API: ödemeler, karmaşık iş mantığı, üçüncü taraf entegrasyonları.
4) Kısıtları dürüstçe yazın
Her AI promptunda tutturacağınız dört kısıtı not edin: bütçe, zaman çizelgesi, kodlama rahatlığı ve bakım beklentileri (gelecek ay hataları kim düzeltecek?). Bu adım “güzel demo kodu”nun gönderilmeye uygun sağlam koda dönüşmesini sağlar.
Daha rehberli bir iş akışı isterseniz ve birden fazla araçta promptları birleştirmek istemiyorsanız, Koder.ai gibi sohbet merkezli platformlar bu kısıtları proje boyunca tutmanıza yardımcı olabilir. Sohbette hedefi tanımlarsınız, ekran ekran iterasyon yaparsınız ve hazır olduğunuzda kaynak kodunu dışa aktararak projeyi kendi repoya taşırsınız.
Kullanıcı Akışını ve Temel Ekranları Tasarlayın
AI’den kod üretmesini istemeden önce ona somut bir şey verin. Basit bir kullanıcı akışı ve az sayıda ekran proje odaklı kalmasını sağlar, tekrar işleri azaltır ve promptlarınızı netleştirir.
5–10 temel ekran taslağı (kağıt veya Figma)
MVP için kullanıcı değeri elde etmek adına dokunulması gereken birkaç ekranla başlayın — MVP için 5–10’u geçmeyin. Kağıda çizin, beyaz tahta kullanın veya Figma’da hızlı çerçeveler oluşturun.
Tipik MVP ekran seti:
- Karşılama / onboarding (opsiyonel)
- Giriş / kayıt (gerekliyse)
- Ana ekran (hub)
- Birincil görev ekranı (ana işlemin yapıldığı yer)
- Detay ekranı (tek bir öğe için)
- Oluştur / düzenle ekranı
- Ayarlar (minimal)
Her ekrana bir cümlelik amaç verin: “Ana ekran kullanıcının projelerini gösterir ve yeni proje oluşturma düğmesi sunar.” gibi.
İlk açılıştan başarıya kadar ana akışı haritalayın
“Mutlu yol”u şu sıra ile yazın:
- Uygulamayı aç → 2) (Opsiyonel) giriş yap → 3) Ana ekrana gel → 4) öğe oluştur/görüntüle → 5) başarı onayı gör.
Geri dönen kullanıcılar için ikinci kısa akış ekleyin: “Uygulamayı aç → son durum hemen gösterilsin → devam et.” Bu, navigasyon ve varsayılan durumlara öncelik vermenize yardımcı olur.
Basit bir veri modeli oluşturun
Sakladığınız bilgileri ve nerede göründüğünü listeleyin. Basit tutun:
- Varlıklar (örn. User, Project, Task)
- Ana alanlar (name, status, createdAt)
- İlişkiler (bir Project’in birçok Task’i olur)
Bu, listeler, detay ekranları ve formlar için temel olur.
Kenar durumları erken belirleyin
Her ekran için not edin:
- Boş durumlar (henüz öğe yok)
- Hatalar (geçersiz giriş, sunucu hatası)
- Çevrimdışı davranış (sadece okunur mu? önbellekleme?)
- Yavaş ağ (yükleniyor göstergeleri, yeniden dene)
Bu notlar “sadece demo” UI’leri engeller ve ilk AI yapılmış versiyonun gerçek hissetmesini sağlar.
Promptları Hazırlayın ve Hafif Bir Uygulama Spesifikasyonu Yazın
AI ile üretilen kod, ona “küçük ama eksiksiz” bir spesifikasyon verdiğinizde çok daha iyi sonuç verir. Bunu, belirsizliği ortadan kaldıran ve ekranlar arasında tutarlılığı sağlayan tek sayfalık bir brifing gibi düşünün.
AI’nin izleyebileceği hafif uygulama spesifikasyonu
Kısa ama spesifik tutun. İçerik:
- Hedef ve birincil kullanıcı: hangi problemi çözdüğünüz ve kim için
- Temel özellikler (sadece MVP): 3–6 madde
- Ekranlar: her ekranın amacı ve ana UI öğeleri
- Veri modeli: saklanan birkaç nesne (örn. User, Task, Note) ve alanları
- Ana akışlar: giriş, oluştur/düzenle, arama, ödemeler — uygulanıyorsa
- Kısıtlar: çevrimdışı/çevrimiçi, desteklenen cihazlar, erişilebilirlik ihtiyaçları
Kopyalayıp tekrar yapıştırabileceğiniz kompakt şablon:
App: <isim>
Goal: <bir cümle>
Users: <kim>
MVP features:
1) ...
Screens:
- Home: ...
- Detail: ...
Data:
- <Entity>: field(type), ...
Rules:
- Validation: ...
- Empty states: ...
Out of scope: ...
İsterseniz sohbet merkezli bir üretici (örn. Koder.ai) kullanıyorsanız, bu şablonu “planlama modu” girdisi olarak değerlendirin. Paylaşılan, tekrarlanabilir bir spec AI odaklı bir inşa sürecini oturtur.
Kodlama kurallarını önceden belirleyin
AI her seferinde yapıyı yeniden icat etmesin diye beklentileri baştan koyun:
- İsimlendirme ve biçimlendirme: örn. camelCase değişkenler, PascalCase bileşenler
- Klasör yapısı: ekranlar, bileşenler, servisler ve modeller nerede duracak
- Durum ve navigasyon kuralları: veriler ekranlar arasında nasıl taşınır
- Hata işleme: hatalar nasıl gösterilir, istisnalar nasıl loglanır
Kademeli çıktılar isteyin (her seferinde bir modül)
“Bütün uygulamayı yap” yerine: bir ekran + navigasyon + minimal mock veri isteyin. Sonra yineleyin: UI’yı ince ayar yapın, gerçek veriye bağlayın, kenar durumları ekleyin. Daha hızlı incelersiniz ve karışık değişikliklerden kaçınırsınız.
Sürekli bir “bağlam” dokümanı tutun
Promplarda tekrar kullandığınız bir not tutun: uygulama spesifikasyonu, kodlama kuralları, alınan kararlar ve güncel dosya ağacı. Bunu her isteğin başına yapıştırın ki AI tutarlı kalsın — ayrı oturumlar arasında bile.
İlk Çalışır Uygulamayı AI ile Üretin (UI + Navigasyon)
Bu adımda hedefiniz basit: sahte verilerle gerçek bir cihazda veya emülatörde “tıklanabilir” bir uygulama çalışır duruma getirmek. Çalışan bir kabuk ivme kazandırır ve eksikleri ortaya çıkarır.
1) Proje yapısını kurmasını isteyin (ve akıl yürütmesini kontrol edin)
Seçtiğiniz çerçevede (Flutter veya React Native) temiz bir başlangıç projesi için prompt atın; içinde:
- Öngörülebilir klasör yapısı (screens, components, services, assets)
- Temel yönlendirme/navigation kurulumu
- Temel bağımlılıklar (navigasyon, form yönetimi, HTTP istemcisi)
Ondan sonra AI’nin önerisini resmi dokümantasyonla karşılaştırın. AI iskelet kurmada iyidir ama paket isimleri ve sürümler değişebilir.
Hızlıca çalışır bir iskelet ve daha çabuk deploy edilebilir bir yol isterseniz, Koder.ai sohbetten ön uç + arka uç iskeletini oluşturup çalışır tutabilir — ilk kablo bağlarını harcamadan hız sağlar.
2) Ekranları birer birer üretin ve navigasyonu hemen bağlayın
Her ekran için isteyin:
- UI düzeni
- Loading/empty/error durumları (mocks olsa bile)
- Bir navigasyon eylemi (örn. “Devam” bir sonraki ekrana gitsin)
Bu sizi kontrol altında tutar ve hata ayıklamayı kolaylaştırır. Her ekran üretildikten sonra uygulamayı çalıştırıp akışı tıklayın, sonra devam edin.
3) Tutarlı olmak için yeniden kullanılabilir bileşenler kullanın
Erken küçük bir bileşen seti oluşturulmasını isteyin — sonra her yerde bunları tekrar kullanın:
- Birincil/ikincil butonlar
- Doğrulama ipuçlu metin girişleri
- Kart/satır liste bileşenleri
Bu, her ekranın farklı görünmesini engeller ve ileride hız kazandırır.
4) Sırlar güvenli tutulmalı (API anahtarları asla gönderilmeyecek)
AI’ye açıkça söyleyin: API anahtarlarını uygulamaya gömme. Ortam değişkenleri, derleme zamanı yapılandırması veya güvenli depolama kullanın. Eğer bir backend API anahtarına ihtiyacınız varsa, onu sunucu tarafında tutun ve mobil uygulamaya sadece güvenli uç noktalar açın.
Gerçek servisleri bağladığınızda, temiz bir altyapı kurduğunuz için memnun olursunuz.
Veri, Kimlik Doğrulama ve Backend Entegrasyonunu Ekleyin
UI ve navigasyon çalıştıktan sonra uygulamaya “gerçek veri” verin: gerçek hesaplar ve güvenilir ağ çağrıları. AI üretimli kod bu aşamada zaman kazandırabilir—eğer onu net kontratlarla yönlendirirseniz.
Basit ama sıkıcı bir backend yolu seçin
Çoğu MVP için şu seçeneklerden birini seçin:
- Firebase (hızlı kurulum, güçlü auth, gerçek zamanlı DB seçenekleri)
- Supabase (Postgres + auth + storage, daha geleneksel bir backend hissi)
- Kendi API’niz (zaten bir sunucunuz varsa veya özel iş mantığı gerekliyse)
Pratik kural: kullanıcılar, birkaç tablo ve dosya yüklemeleri gerekiyorsa Firebase/Supabase genellikle yeterlidir. Bağlamınıza göre kendi API’nizi tercih edin.
AI’den veri modeli ve auth akışını taslak olarak isteyin
Kısa bir “veri spesifikasyonu” verip şunu isteyin:
- Veritabanı tabloları/kolleksiyonları (alan tipleri ve kısıtlamalar)
- Kimlik doğrulama akışı (kayıt, giriş, şifre sıfırlama, çıkış)
- Temel güvenlik kuralları (kim hangi veriye erişebilir)
- İstemci tarafı API çağrı kodu ve veri eşleme
Örnek prompt:
We use Supabase.
Entities: UserProfile(id, name, email, created_at), Task(id, user_id, title, due_date, done).
Rules: users can only access their own tasks.
Generate: SQL tables, RLS policies, and client code for list/create/update tasks.
Üretileni gözden geçirin. Eksik indeksler, belirsiz alan adları veya “admin erişimi” gibi gönderilmemesi gereken kısaltmalar olup olmadığını kontrol edin.
Hataları gerçek bir uygulama gibi ele alın
Ağ çağrıları sıklıkla başarısız olur. AI’den uygulamasını isteyin:
- Girdi doğrulaması (zorunlu alanlar, e-posta formatı, uzunluk sınırları)
- Zaman aşımı ve yeniden deneme (net "Tekrar deneyin" mesajı ile)
- Boş durumlar ve hata durumları (izin reddi, kötü veri)
- Güvenli ayrıştırma (bir alan eksikse uygulamanın çökmesini engelleyin)
Küçük bir UX detayı: yükleniyor göstergesi gösterin ama aynı zamanda iptal/geri olanağı verin, böylece uygulama takılı hissetmez.
Sözleşmeleri kilitleyin ki uygulama stabil kalsın
Firebase, Supabase veya kendi API’niz olsun, "veri sözleşmesini" dokümente edin:
- Uç nokta isimleri (veya tablo isimleri), istek/yanıt örnekleri
- Zorunlu vs isteğe bağlı alanlar
- Beklenen hata kodları/mesajlar
Bunu repoda kısa bir README olarak saklayın. Sonra AI’ye özellik eklerken sözleşmeyi yapıştırın — yeni kod mevcut ekranları bozmadan uyumlu kalsın.
Önemli Olanı Test Edin: Kalite, Cihazlar ve Kenar Durumları
AI çok kod üretebilir — ama hız yalnızca uygulama gerçek telefonlarda, gerçek kullanıcılarla ve tuhaf girişlerle doğru davranıyorsa işe yarar. Amacınız her şeyi test etmek değil; güveni yıkabilecekleri test etmek: çökmeler, engellenen temel akışlar ve bariz UI hataları.
"Kırılmamalı" kontrol listesi ile başlayın
Kullanıcının tamamlaması gereken 3–5 temel eylemi seçin (ör. kayıt, giriş, öğe oluşturma, ödeme, mesaj gönderme). Bunları sürüm kapısı gibi düşünün. Bu akışlardan herhangi biri başarısızsa, yayınlamayın.
AI ile temel mantık için birim testleri oluşturun
AI’den şu tür mantık için birim testleri isteyin:
- Girdi doğrulamaları (e-posta, şifre kuralları, zorunlu alanlar)
- Fiyat hesaplamaları, toplamlar, vergiler, indirimler
- Tarih/saat mantığı (zaman dilimleri, “bugün teslim” kenar durumları)
Test başarısızsa, sadece kodu yeniden üretmeyin — AI’den nedenini açıklamasını ve en küçük güvenli düzeltmeyi önermesini isteyin.
Temel akışlar için entegrasyon testleri ekleyin
Birim testleri navigasyon veya API bağlantı hatalarını yakalamaz. Bazı entegrasyon testleri ekleyin:
- Giriş + çıkış
- Ödeme/checkout onayı (test ortamında olsa bile)
- Uygulamanın ana “mutlu yol”u: aç → işlem tamamla
Gerçek cihazlarda ve ekran boyutlarında test yapın
Emülatör yardımcıdır ama gerçek cihazlar şikayet edilen sorunları yakalar: yavaş başlatma, klavye örtüşmesi, kamera izinleri, kötü ağ. Minimum testler:
- Bir küçük ekran ve bir büyük ekran
- iOS ve Android (destekliyorsanız)
- Karanlık mod, zayıf bağlantı ve uçak modu kurtarma
Bir hata listesi tutun ve önceliğe göre düzeltin
Basit bir liste tutun: yeniden üretme adımları, beklenen vs gerçek sonuç, cihaz/OS ve ekran görüntüleri.
Düzeltme sıralaması:
- Çökmeler ve veri kaybı
- Kırık temel akışlar (giriş yapılamıyor, ödeme yapılamıyor)
- Kullanımı engelleyen görsel hatalar (düğmeler ekrandan taşmış)
- İyi-olur iyileştirmeleri (boşluk, küçük metin düzeltmeleri)
Bu disiplin AI üretimli kodu gönderilebilir bir uygulamaya dönüştürür.
Güvenlik, Gizlilik ve Uyumluluk Temelleri
AI daha hızlı göndermenize yardımcı olabilir, ama aynı zamanda güvenli olmayan varsayılanlar (hardcode anahtarlar, çok geniş izinler, ayrıntılı loglama veya güvensiz depolama) üretebilir. Güvenlik ve gizliliği yayın engeli olarak ele alın — küçük bir MVP için bile.
AI üretimli kodu temel açıdan gözden geçirin
Öncelikle kimlik doğrulama, veri depolama, ağ ve loglama ile ilgili her şeye hızlı bir göz atın.
- Auth: Kanıtlanmış sağlayıcıları tercih edin (Firebase Auth, Auth0, Apple/Google ile giriş). Kendi şifre sisteminizi kurmaktan kaçının. Token yenilemeyi düzgün yapın ve tokenları düz metin olarak saklamayın.
- Depolama: Sırları (API anahtarları, tokenlar) yerel tercihlere veya kaynak koda koymayın. Gerekirse platform güvenli depolamasını (Keychain/Keystore) kullanın.
- Loglar: E-posta, token, konum veya istek gövdeleri gibi hassas verileri içerebilecek debug loglarını kaldırın. Üretim loglarını minimal ve temiz tutun.
Daha az veri toplayın (en kolay kazanç)
Temel özelliğiniz için gerçekten ihtiyaç duyduğunuz kişisel verileri isteyin. Uygulamanız kişiler, kesin konum veya arka planda izleme olmadan çalışabiliyorsa—bunları istemeyin. Veri minimizasyonu riski azaltır, uyumluluk yükünü hafifletir ve mağaza incelemesini kolaylaştırır.
Gizlilik politikası ve uygulama içi açıklamalar
En azından ayarlar ekranında açık bir Gizlilik Politikası bağlantısı ve mağaza listesi için açıklama bulundurun. Kişisel veri (e-posta, analiz kimlikleri, çökme raporları) topluyorsanız veya uygulamalar arası izleme yapıyorsanız, gerektiğinde uygulama içinde açık bir açıklama ekleyin.
Basit bir desen:
- Ayarlar → Gizlilik Politikası
- Ayarlar → Hesabı Sil / Veriyi Sil (kullanıcı verisi saklıyorsa)
Bağımlılıklar, güncellemeler ve tarama
AI sıkça kütüphane çeker — bazen eski olanları. Bağımlılık taraması (örn. GitHub Dependabot) ekleyin ve düzenli güncellemeler planlayın. Yükseltme yaptığınızda temel akışları (giriş, ödeme, çevrimdışı, onboarding) yeniden çalıştırın.
Hızlı uyumluluk kontrolü
Düzenlenmiş bölgelerde kullanıcılarınız varsa, temel olarak gerekli olabilir: onay istemleri (gerekliyse), veri silme/aktarma yolları ve mağaza “veri güvenliği” formlarına uygun açıklamalar. Emin değilseniz, ne topladığınızı ve neden topladığınızı dokümante edin—sonra uygulamayı buna göre ayarlayın.
Eğer veri ikametgahı önemliyse (ör. belirli bir ülkede çalıştırma gerekliyse), bunu erken karar verin çünkü barındırma ve üçüncü taraf servis seçimlerini etkiler. Koder.ai gibi platformlar küresel AWS üzerinde çalışır ve farklı bölgelerde dağıtım yapabilir; bu da uluslararası lansmanlarda uyumluluk planlamasını kolaylaştırabilir.
Cilalama: Performans, Erişilebilirlik ve UX Detayları
İlk çalışan derleme bir kilometre taşıdır — ama cilalama kullanıcıların uygulamayı tutmasını sağlar. AI’yı kopya önerilerinde, kenar ekranlarında ve performans ipuçlarında hızlandırıcı olarak kullanın; sonra gerçek cihazlarda doğrulayın.
Performans: “hızlı” hissini belirgin kılın
Kullanıcıların fark ettiği anlara odaklanın: uygulama başlatma, ilk ekran renderı, kaydırma ve kaydetme eylemleri.
Başlatma süresini optimize etmek için kullanılmayan kütüphaneleri kaldırın, ilk ekrandan sonra yapılabilecek işleri erteleyin ve önbelleğe alınabilecekleri cacheleyin (ör. son görülen öğeler). Görselleri doğru boyutlarda dışa aktarın, modern formatları kullanın ve katmanın altındaki görselleri tembel yükleyin.
API kullanımınızı izleyin. Talepleri birleştirin, basit debouncing ekleyin ve yavaş çağrılar için ilerleme göstergeleri gösterin. AI üretimli kod kullanıyorsanız, pahalı UI yeniden çizimleri konusunda AI’den küçük refactor önerileri isteyin.
Erişilebilirlik: herkes için sürtünmeyi azaltın
Metinleri okunaklı yapın (sistem yazı boyutlarını destekleyin), iyi renk kontrastı sağlayın ve dokunma hedeflerini rahat büyüklükte tutun. İkonlar ve butonlar için erişilebilirlik etiketleri ekleyin ki ekran okuyucular eylemleri açıklayabilsin.
Pratik kural: bir eylem sadece ikonla gösteriliyorsa, bir metin etiketi veya erişilebilirlik açıklaması ekleyin.
UX detayları: hatalar, boş durumlar ve netlik
Net hata mesajları oluşturun: ne olduğunu ve ne yapılacağını söyleyin (“Kaydedilemedi. Bağlantınızı kontrol edip tekrar deneyin.”). Kullanıcıyı suçlayan ifadelerden kaçının.
Boş durumlar yardımcı olmalı: ekranın ne için olduğunu açıklayın ve sonraki adımı sunun (“Henüz proje yok—ilkini oluşturun”). AI mikro metin çevirileri için iyidir; tonu tutarlı tutun.
Analitik (rıza ile)
Ana eylemler için minimal etkinlik seti ekleyin (kayıt, ilk başarılı eylem, satın alma/yükseltme, paylaşım). Az tutun ve takip edilenleri dokümante edin. Gerekliyse opt-in yapın ve gizlilik bilgilerinde gösterin.
Daha iyi QA kontrol listesi isterseniz, bunu ekip dokümanlarınıza veya /blog/app-polish-checklist gibi basit bir dahili sayfaya ekleyin.
Mağaza Görselleri ve Mağaza Listeleme Metinleri (AI ile)
Uygulamanız mükemmel çalışsa bile mağaza listelemesi belirsizse zor bulunur. AI burada yararlı çünkü birkaç seçenek hızlıca üretebilir—sonra en iyi olanı seçip düzeltirsiniz.
Mağaza metinleri (çeşitler) oluşturun
AI’den farklı açılarda (problem-odaklı, fayda-odaklı, özellik-odaklı) birkaç alternatif isteyin. Tonu kitlenizle ve uygulamanın gerçek yetenekleriyle tutarlı tutun.
Create 5 app name ideas (max 30 chars), 5 subtitles (max 30 chars),
1 short description (80–100 chars), and 1 full description (up to 4,000 chars).
App: [what it does]
Audience: [who it’s for]
Top 3 benefits: [list]
Top 5 features: [list]
Avoid claims about medical/financial guarantees. Include a clear privacy note.
Also suggest 20 keywords (single words/short phrases).
Sonra: jargonları kaldırın, belirsiz vaatleri somut sonuçlarla değiştirin ve listede sözü edilen her özelliğin MVP’de gerçekten olduğundan emin olun.
Ekran görüntüleri, önizleme görselleri ve düzen
AI ekran görüntüsü hikâyesi planlamada yardımcı olabilir: ana akışı gösteren 5–8 ekran, her biri kısa bir başlıkla. Başlıkları küçük telefonlarda okunabilir tutun.
Platform kurallarını AI’ye bırakmayın—App Store Connect ve Google Play Console’daki boyut ve sayı kurallarını doğrulayın, sonra metni ona göre oluşturun.
İkonlar, açılış ekranları ve destek bilgileri
AI’dan ikon fikirleri ve renk yönleri beyin fırtınası isteyin, ama son ikonu küçük boyutlarda kolay tanınır ve basit tutun.
Son olarak, mağaza gereksinimleri için destek iletişim bilgilerini hazırlayın:
- Bir destek URL’si (basit bir /support sayfası bile olur)
- Bir iletişim e-postası (örn. [email protected])
- Uygulama içi davranışa uyan kısa bir gizlilik açıklaması (link /privacy)
AI çıktılarını taslak olarak değerlendirin; doğrulamak ve uyumluluk sağlamak sizin işiniz.
App Store ve Google Play’e Gönderme (Adım Adım)
Gönderme çoğunlukla evrak işi ve imzalama/inceleme kuralları etrafında birkaç tuzak içerir. Bunu kontrol listesiyle yönetin, son dakika telaşı gibi düşünmeyin.
1) Kimlikleri, imzalamayı ve sürüm derlemelerini kesinleştirin
Benzersiz tanımlayıcıları erken oluşturun veya doğrulayın:
- iOS: Bundle ID, App ID ve Apple Developer içindeki imzalama (Sertifikalar + Profiller).
- Android: Application ID (package name) ve sonsuza kadar saklayacağınız bir keystore.
Doğru derlemeleri oluşturun:
- iOS: TestFlight/App Store için release build (archive).
- Android: Play için AAB (Android App Bundle).
Yaygın hata: debug ayarlarını release’e karıştırmak (yanlış API uç noktaları, loglama veya izinler). Yüklemeden önce release yapılandırmanızı iki kez kontrol edin.
2) Önce test kanallarına yükleyin (atlamayın)
Cihaz-spesifik sorunları yakalamak için resmi ön sürüm kanallarını kullanın:
- TestFlight: önce dahili testçiler, sonra gerekirse harici testçiler.
- Play Console testing: internal/closed/open testing track’leri.
Gerçek cihazlarda en az bir tam “mutlu yol” ve hesap oluşturma/giriş, ödemeler (varsa) ve uç durumları test edin.
3) Sürümleme ve sürüm notlarını hazırlayın
Basit bir sürümleme stratejisi seçin ve ona sadık kalın:
- Sürüm (kullanıcıya görünen): örn. 1.0, 1.1
- Build numarası (yükleme sayacı): her yüklemede artırın
Değişiklikleri açıklayan sürüm notlarını yazın. AI ile taslak hazırladıysanız doğruluğunu kontrol edin—mağazalar belirsiz veya yanıltıcı notları sevmez.
4) Gönder ve yaygın reddedilme nedenlerinden kaçın
“İnceleğe Gönder”e basmadan önce Apple ve Google yönergelerindeki sık rastlanan hataları tarayın:
- Eksik gizlilik açıklamaları (veri toplama, izleme, SDK’lar)
- Yanıltıcı iddialar, eksik özellikler veya bozuk demo akışları
- Net bir kullanıcı yararı olmadan istenen izinler
- Giriş zorunlu ve gerekçesizse (Apple bazen temel özelliklere ulaşıma izin bekler)
- Çökme, yer tutucu içerik veya “şablon gibi” uygulamalar
İnceleme sorular sorarsa, test hesap detayları, yeniden üretme adımları ve bir sonraki derlemede neyi değiştirdiğinizi spesifik olarak yanıtlayın.
Yayından Sonra: İzleme, İterasyon ve Sürekli İyileştirme
Yayın noktası bitiş çizgisi değildir — gerçek dünya verisini aldığınız andır. Yayından sonra hedef basit: problemleri erken yakalayın, kullanıcıların gerçekten ne istediğini öğrenin ve küçük geliştirmeleri düzenli ritimde yayınlayın.
İzleme kurun (sürpriz olmasın)
İlk günden itibaren çökme raporu ve temel analitiği kurun. Çökme raporları ne kırıldı, hangi cihazda ve çoğu zaman neden kırıldığını söyler. Bunu anahtar olaylarla (kayıt tamamlandı, satın alma denendi, ana ekran görüntülendi) eşleştirin.
İlk 1–2 hafta boyunca mağaza yorumlarını ve destek e-postalarını günlük izleyin. Erken kullanıcılar fiilen QA ekibinizdir — dinleyin.
Geri bildirimi AI ile eyleme dönüştürün
Ham geri bildirim karışıktır: kısa yorumlar, duygusal ifadeler, tekrar eden şikâyetler. AI ile bunları özetleyip “giriş sorunları”, “kafa karıştıran onboarding” veya “özellik talebi: karanlık mod” gibi temalara ayırın.
Pratik iş akışı:
- Haftalık olarak yorumları ve destek mesajlarını dışa aktarın
- AI’ye bunları konulara ayırmasını ve sıklık + ciddiyet tahmini yapmasını isteyin
- En üst temaları net ticket’lara çevirin (“Düzelt: iOS 17 üzerinde giriş yükleniyor takılıyor”) ve kabul kriteri ekleyin
Daha iyi sonuç için bağlam (app versiyonu, cihaz, kullanıcı tarafından bahsedilen adımlar) ekleyin ve “muhtemel kök neden” isteyin, sadece özet değil.
Basit bir güncelleme döngüsü tutun
Büyük sürümlere yönelmekten kaçının. Güvenilir bir düzen güven oluşturur.
- Stabilize: çökme ve kırık akışlar için hızlı düzeltmeler
- İyileştir: sürtünceyi azaltan küçük özellik geliştirmeleri
- Genişlet: tutma (retention) sağlamlaştıktan sonra daha büyük özellikler
Sık gönderim yapıyorsanız, küçük değişiklikler tercih edin ki bir regresyon olursa kaynağını bulmak kolay olsun. Koder.ai gibi platformlardaki anlık görüntü ve geri alma özellikleri denemeyi ve hızlı geri almayı kolaylaştırır.
İleri adımlar
Araçlara ve iterasyonlara nasıl bütçe ayıracağınıza karar verirken, /pricing sayfasına bakın.
Daha iyi prompting örnekleri ve kod inceleme alışkanlıkları için /blog/ai-coding-guide ile devam edin.
SSS
Belirsiz bir fikir nasıl AI destekli, yapılabilir bir MVP'ye dönüşür?
Tek cümlelik bir problem ifadesi yazın: kimin için olduğu ve hangi sıkıntıyı giderdiği belli olsun; sonra bunu 3–5 kullanıcı hikâyesine (özellik değil eylem odaklı) dökün.
Her şeyden önce, özellikleri olmazsa olmaz ve iyi olur olarak ayırın ve bir başarı metriği seçin (ör. görev başına kazanılan süre) — bu, önceliklendirme için rehberiniz olur.
İlk sürüm için iOS, Android veya her ikisini mi seçmeliyim?
Kullanıcılarınızın bugün nerede olduğuna bakın:
- iOS-öncelikli: ücretli/profesyonel kitleler (genellikle ABD/Batı Avrupa) için yaygın.
- Android-öncelikli: daha geniş küresel erişim ve fiyat hassasiyeti olan pazarlar için.
- Her ikisi: pazar etkilerinin önemli olduğu (pazar yerleri, sosyal) veya ihtiyacın evrensel olduğu durumlarda.
Emin değilseniz, analytics, e-posta listesi, müşteri görüşmeleri veya kısa bir kayıt formu ile cihaz türü sinyali toplayın.
AI destekli bir MVP için native mi yoksa çapraz platform mu tercih etmeliyim?
Çoğu MVP için çapraz platform en hızlısıdır:
- Flutter: tutarlı UI, güçlü performans, tasarım sistemi yaklaşımını seviyorsanız.
- React Native: JavaScript/web bilgisi veya esneklik istiyorsanız.
Platforma özel (Swift/Kotlin) tercih edin: karmaşık kamera iş akışları, Bluetooth veya yüksek performanslı animasyonlar gibi platforma özgü özelliklere güçlü bağımlılık varsa ya da zaten yerel bir ekibiniz varsa.
Backend’e gerçekten ihtiyacım var mı? Ne kadar gerekli?
Veri ihtiyaçlarınıza göre backend seviyesini eşleştirin:
- Backend yok: hesap gerektirmeyen hesaplayıcılar veya çevrimdışı araçlar.
- Basit auth + veritabanı: kullanıcı hesapları, kaydedilen öğeler, temel senkronizasyon.
- Tam API: ödemeler, karmaşık iş mantığı, entegrasyonlar.
Pratik kural: kullanıcılar + birkaç tablo + dosya yüklemeleri gerektiren bir uygulama için Firebase veya Supabase çoğunlukla yeterlidir.
AI’nin yararlı, tutarlı kod üretmesi için prompt’ta neler olmalı?
AI’ye verilecek kısa ama eksiksiz bir spesifikasyon hazırlayın:
- Hedef ve birincil kullanıcı
- MVP özellikleri (3–6 madde)
- Her ekranın amacı ve ana UI öğeleri
- Veri modeli (nesneler + alanlar)
- Ana akışlar (giriş, oluştur/düzenle vb.)
- Kısıtlamalar (bütçe, zaman, cihazlar, çevrimdışı/çevrimiçi)
Tekrarlanabilir bir bağlam dokümanını her promptun başına yapıştırın, böylece çıktı tutarlı kalır.
AI’yi kullanırken “bir bütün büyük çıktı” yerine nasıl düzenli kalırım?
Teslimleri küçük parçalara bölün:
- Bir ekran + navigasyon + basit mock veri
- O ekran için loading/empty/error durumları
- Sonra yineleyin: UI iyileştir → gerçek veriye bağla → kenar durumları ekle
“Bütün uygulamayı oluştur” demekten kaçının; bu, hata ayıklaması ve değişiklik yönetimi zor, karışık kod üretir.
İlk çalışan uygulama kabuğunu (UI + navigasyon) en hızlı nasıl elde ederim?
Erken bir tıklanabilir kabuk çalıştırın:
- Tutarlı bir klasör yapısı oluşturun (screens, components, services, models).
- Her ekran oluşturulduğunda navigasyonu hemen bağlayın.
- Küçük, yeniden kullanılabilir bileşen seti (butonlar, girişler, satır/kart) oluşturun ve tekrar kullanın.
Her adımın ardından uygulamayı çalıştırın ve “mutlu yol”u tıklayarak ilerleyin.
AI tarafından üretilen mobil uygulamada API anahtarları ve gizli bilgileri nasıl yönetmeliyim?
Ana kurallar:
- API anahtarlarını asla uygulama içerisine gömmeyin.
- Hassas anahtarları sunucu tarafında tutun ve mobil uygulamaya yalnızca güvenli uç noktalar sunun.
- Kullanıcı tokenlarını güvenli depolamada (Keychain/Keystore) saklayın, düz tercih dosyalarına koymayın.
Eğer AI, kolaylık için kimlik bilgilerini “hardcode” önerecekse, bunu bir yayımlama engeli olarak ele alın.
AI ile üretilen kodu göndermeye elverişli hale getirmek için hangi testlere öncelik vermeliyim?
Güveni zedeleyecek şeyleri test edin:
- 3–5 maddelik “kırılmaması gereken” kontrol listesi oluşturun (örn. kayıt/giriş, öğe oluşturma, ödeme).
- Kırılgan mantık için birim testleri yazdırın (doğrulama, hesaplamalar, tarih/saat).
- Temel uçtan uca akışlar için birkaç entegrasyon testi ekleyin.
- Gerçek cihazlarda test edin (küçük + büyük ekran, karanlık mod, kötü bağlantı).
Test başarısız olursa, AI’ye nedenini açıklayıp en küçük güvenli düzeltmeyi önermesini isteyin.
Uygulama mağazasına gönderirken en yaygın püf noktalar nelerdir ve nasıl önlenir?
Sık reddedilme nedenleri ve çözümleri:
- Gizlilik eksiklikleri: Açık bir Gizlilik Politikası bağlantısı ekleyin ve veri açıklamalarını doğru yapın.
- İzin kötü kullanımı: Sadece gerektiğini isteyin ve açıkça gerekçelendirin.
- Bozuk veya yer tutucu akışlar: Mutlu yolun güvenilir çalıştığından emin olun.
- Giriş zorunluluğu mantıksızsa: Kullanıcıların temel değere erişmesini sağlayın.
Gönderme öncesi TestFlight/Play test kanallarına yükleyin ve gerçek cihazlarda tam mutlu yolu çalıştırın.