Depoda internet yok: sayım uygulamamıza çevrimdışı modu sonradan eklemenin bedeli
Dropshipping döneminden sonra küçük bir e-ticaret deposu işletmeye başladım ve iki yıl önce depo için basit bir stok sayım uygulaması yaptırdık. React Native, arkada sade bir REST servisi. Barkodu okut, adet gir, kaydet. Ofiste test ettik, kusursuzdu.
Depoya geçince sorun başl…
Android'de geliştirici doğrulaması dört ülkede başladı: sıradaki durak 2027
Google'ın Android geliştirici doğrulaması 30 Eylül'de ilk kez gerçek kullanıcılara dokundu. Brezilya, Endonezya, Singapur ve Tayland'da, Android 7 ve üstü sertifikalı cihazlarda, katılımcı mağazalardan yapılan kurulumlarda kimliği doğrulanmış geliştirici şartı devreye girdi. Sayf…
Firebase CocoaPods'a yeni sürüm yayınlamayı bu ay bırakıyor: Podfile'ı olan herkes için not
Firebase'in iOS tarafında CocoaPods desteğini bitirme takvimi artık netleşti, belge 8 Ekim'de bir kez daha güncellenmiş. Ekim 2026 itibarıyla CocoaPods'a yeni Firebase sürümü gelmeyecek, Firebase 12 CocoaPods'ta yayımlanan son ana sürüm olarak kalıyor. Bir de CocoaPods'un kendisi…
Kotlin biliyorum, iOS'u da istiyorum: Kotlin Multiplatform yeni başlayana erken mi?
İki dönemdir üniversitede Android dersi alıyorum, Kotlin ve Compose ile iki küçük uygulama yazdım. Biri yurt yemekhanesinin haftalık menüsünü gösteriyor, öbürü ders notu paylaşma denemesi. Menü uygulamasını 300 kadar arkadaşım kullanıyor ve en çok gelen istek şu: iPhone'u olanlar…
Klinik randevu uygulamam dikey kilitli: Android 17'nin büyük ekran kuralına nasıl hazırlanırım?
Birkaç klinik için yazdığım randevu ve hasta takip uygulaması üç yıldır manifestte dikey yöne kilitli duruyor. Bilinçli bir tercihti; sekreterler telefonda kullanıyordu, tablet kimsenin aklında yoktu. Şimdi iki klinik resepsiyona tablet koydu ve uygulamayı orada yatay kullanmak i…
telefonumda yazı boyutunu en büyüğe aldım ve kendi uygulamamı kullanamadım
Etsy'de sattığım şablonların yanına küçük bir uygulama yaptım: renk paletlerini kaydedip düzenleyebildiğin, tasarımcılar için basit bir araç. Flutter ile yazdım, tasarımı da tabii ki kendim yaptım ve epey gurur duyuyordum. Geçen ay bir kullanıcıdan gelen e-posta beni yere indirdi…
Mağaza yorumlarını yönetmek: Puanı yükseltmenin dürüst yolları
Mağaza puanı hem kullanıcının indirme kararını hem de sıralamayı etkiliyor. Puanı yükseltmenin kalıcı tek yolu var: doğru kullanıcıya doğru anda sormak.
İlk kural, sistem tarafından sunulan puan isteme mekanizmasını kullanmak. Kullanıcıyı mağazaya yönlendiren kendi yazdığınız …
Android mimari rehberi: Katmanların nasıl ayrılacağı ve hangi kararın nerede verileceği
Uygulama büyüdükçe ortaya çıkan karmaşayı baştan önlemek için yazılmış resmi rehber. Kullanıcı arayüzü katmanı, alan katmanı ve veri katmanı ayrımını örneklerle anlatıyor.
En çok işe yarayan kısmı durum yönetimi bölümü. Ekranın neyi gösterdiğini tek bir durum nesnesinde toplam…
Onboarding ekranları gerçekten gerekli mi: İlk açılışta kullanıcıyı kaybetmemek
Uygulamayı indiren kullanıcıların önemli bir kısmı ilk oturumda ayrılıyor. Onboarding tasarımı bu kaybı belirleyen en önemli unsur ama yaygın uygulanışı çoğu zaman sorunu çözmek yerine büyütüyor.
En sık yapılan hata, uygulamayı anlatan üç beş slaytlık tanıtım ekranı koymak. Ku…
App Store ürün sayfası: İndirmeyi belirleyen alanların Apple tarafından anlatımı
Mağaza sayfasının hangi bölümünün ne işe yaradığını ve nasıl optimize edileceğini anlatan resmi sayfa. Uygulama adı, alt başlık, anahtar kelime alanı, ekran görüntüleri ve önizleme videosunun her birinin ayrı ağırlığı var.
En çok yanlış kullanılan alan alt başlık. Otuz karakte…
Uygulama reddedildi ne yapmalı: En sık karşılaşılan mağaza inceleme gerekçeleri
İlk gönderimde red almak normal, sektörde bunu tecrübe etmemiş geliştirici az. Önemli olan gerekçeyi doğru okumak ve doğru cevap vermek.
En sık gerekçeler şunlar:
Tamamlanmamış işlevsellik. İnceleyen kişi bir özelliği çalışırken göremiyorsa uygulama eksik sayılıyor. Giriş g…
Uygulamanın ilk sürümünde ne olmalı: Kapsamı doğru daraltmak
İlk sürümü planlarken en sık yapılan hata, rakiplerde gördüğünüz her özelliği listeye koymak. Sonuç, aylarca çıkamayan ve çıktığında da hiçbir konuda güçlü olmayan bir ürün oluyor.
Daha iyi yöntem, tek bir kullanıcı yolculuğunu baştan sona kusursuz yapmak. Kullanıcı uygulamayı…
Uygulamaya yapay zekâ özelliği eklemek: Cihaz üstünde mi, sunucuda mı
Uygulamalara akıllı özellik eklemek artık ayrı bir uzmanlık gerektirmiyor ama mimari karar önemli ve geri dönüşü zor.
İki yol var. Modeli cihaz üzerinde çalıştırmak veya isteği sunucuya gönderip orada işlemek.
Cihaz üstünde çalıştırmanın avantajları: internet gerekmiyor, ge…
Mağaza optimizasyonunda anahtar kelime seçimi: Türkçe uygulamalar için pratik yöntem
Mağaza optimizasyonu denince akla ilk gelen anahtar kelime seçimi ama çoğu kişi bunu tahminle yapıyor. Daha sistemli bir yol var.
İlk adım aday kelime listesi çıkarmak. Kaynaklar şunlar: mağaza arama çubuğuna konunuzla ilgili kelimeleri yazınca çıkan otomatik tamamlama önerile…
Uygulamayı çok dilli yapmak: Çeviriden fazlası olan lokalizasyon işi
Uygulamayı başka pazarlara açmak deyince akla çeviri geliyor ama iş orada bitmiyor. Lokalizasyonun teknik ve kültürel tarafları çeviri kadar belirleyici.
Teknik tarafta ilk kural, metinleri koda gömmemek. Bütün kullanıcıya görünen metinler kaynak dosyalarında olmalı. Sonradan …
Abonelik ekranı tasarımı: Kullanıcının ödeme kararını verdiği yer
Abonelik modeliyle çalışan uygulamalarda gelirin tamamı tek bir ekranda belirleniyor. O ekranın tasarımı, uygulamanın geri kalanından daha çok gelir etkisi yaratıyor.
İyi çalışan yapı genelde şu sırayı izliyor: önce ne kazanacağı, sonra ne kadar ödeyeceği, en son nasıl iptal e…
Uygulama boyutunu küçültmek: İndirme oranını doğrudan etkileyen teknik borç
Uygulama boyutu çoğu ekipte sonradan akla gelen bir konu ama indirme oranını ölçülebilir şekilde etkiliyor. Özellikle mobil veriyle indirme yapan kullanıcılarda ve düşük depolamalı cihazlarda etkisi belirgin.
Boyutu büyüten ana kalemler şunlar:
Görseller. Çoğu projede en bü…
Uygulamanın ilk bin indirmesi nasıl alınır: Reklam bütçesi olmadan işe yarayan yollar
Uygulama yayınlandıktan sonra en zor kısım başlıyor, kimse bilmiyor. Reklam bütçesi olmadan ilk kullanıcıları bulmak mümkün ama yöntemleri sıradan pazarlama tavsiyelerinden farklı.
Mağaza aramasından gelen organik trafik en değerli kanal çünkü ücretsiz ve niyeti yüksek. Bunun …
Kotlin Multiplatform: Arayüzü ayrı, iş mantığını ortak yazma yaklaşımı
Çapraz platform tartışmasında farklı bir konumda duran yaklaşım. Flutter ve React Native arayüzü de ortaklaştırmayı öneriyor, Kotlin Multiplatform ise sadece iş mantığını paylaşıp arayüzü her platformda yerli bırakmayı öneriyor.
Pratikte paylaşılan kısım şunlar oluyor: ağ katm…
Mobil uygulama yaptırmak ne kadar tutar: Fiyat aralıklarını belirleyen şeyler
Bu sorunun tek bir cevabı yok ama fiyatı neyin belirlediğini bilmek, alınan teklifleri değerlendirmeyi mümkün kılıyor.
Maliyeti belirleyen ana kalemler şunlar:
Ekran sayısı ve karmaşıklığı. Beş ekranlı bir katalog uygulaması ile kırk ekranlı bir pazaryeri uygulaması aynı iş…
Türkiye'de mobil kullanıcı davranışı: Ürün kararlarını etkileyen yerel gerçekler
Yurt dışı kaynaklı ürün tavsiyelerinin bir kısmı Türkiye pazarında farklı sonuç veriyor. Yerel gerçekleri bilmek ürün kararlarını değiştiriyor.
Cihaz dağılımı. Android payı yüksek ve cihazların önemli bir kısmı orta ve alt segment. Bu, performans ve uygulama boyutu kararlarını…
Yıllık 270 milyon dolar gelir elde eden Türk App Stüdyosu
App Store abonelik sistemi: Deneme süresi, yükseltme ve iptal akışlarının resmi anlatımı
Abonelik modeline geçecek ekiplerin baştan okuması gereken sayfa. Tanıtım fiyatları, ücretsiz deneme, abonelik grupları ve yükseltme düşürme kuralları burada tanımlı.
En çok karıştırılan konu abonelik grubu. Aynı gruptaki ürünler arasında kullanıcı geçiş yapabiliyor ve fiyat f…
App Store küçük işletme programı: Komisyonu yüzde 15'e düşüren başvuru
Yıllık geliri belirli eşiğin altında olan geliştiriciler için komisyon oranını düşüren program. Başvuru gerektiriyor ve otomatik uygulanmıyor, bu yüzden hak ettiği halde başvurmayan çok geliştirici var.
Program kapsamında komisyon standart orandan düşüyor ve bu fark özellikle …
React Native yeni mimari: Köprü kalktı, bu pratikte ne değiştiriyor
React Native'in uzun süredir üzerinde çalışılan mimari değişikliği artık varsayılan hale geldi. Bu sayfa neyin neden değiştiğini geliştirici gözünden anlatıyor.
Eski yapıda JavaScript tarafı ile yerli taraf arasındaki iletişim asenkron bir köprüden geçiyordu ve bu, karmaşık an…
Abonelik uygulamaları raporu: Deneme dönüşümü, iptal oranları ve fiyat aralıkları kategori kategori verilmiş
Abonelik modeliyle çalışan on binlerce uygulamanın anonim verisinden derlenen yıllık rapor. Kendi sayılarınızı bir yere oturtmak için sektörde en çok kullanılan referans.
En faydalı bölümler şunlar: ücretsiz denemeden ödemeye geçiş oranının kategoriye göre nasıl değiştiği, ayl…
TestFlight: Yayına çıkmadan önce gerçek kullanıcıyla test etmenin resmi yolu
iOS tarafında beta dağıtımının standart yöntemi. İç ekip için anında, dış test kullanıcıları için kısa bir inceleme sonrası dağıtım yapılabiliyor.
En faydalı özelliği geri bildirim toplama. Test kullanıcıları ekran görüntüsü alıp doğrudan not gönderebiliyor ve bu notlar cihaz …
Mobil kullanılabilirlik araştırmaları: Kullanıcıların gerçekte nasıl davrandığına dair veri
Kullanılabilirlik alanında uzun yıllardır saha araştırması yapan bir grubun mobil konulu yazı arşivi. Tasarım tercihlerini görüşe değil gözleme dayandırmak isteyenler için değerli kaynak.
En çok işe yarayan bulgular şunlar: kullanıcıların telefonu nasıl tuttuğu ve başparmakla …
Uygulama izleme şeffaflığı: İzin isteme zamanlaması reklam gelirini doğrudan etkiliyor
Reklam kimliğine erişmek için kullanıcıdan izin isteme zorunluluğunu getiren çerçevenin belgeleri. Teknik olarak tek bir çağrı ama ticari sonucu büyük.
Kritik nokta izin isteme anı. Uygulama ilk açıldığında hiçbir bağlam vermeden soran uygulamalarda onay oranı çok düşük kalıyo…
Material 3 tasarım sistemi: Android tarafında renk, tipografi ve bileşen kararlarının kaynağı
Android uygulamasının görsel dilini kurarken en pratik başlangıç. Dinamik renk sisteminin nasıl çalıştığı, kullanıcının duvar kâğıdından üretilen paletin uygulamaya nasıl yansıdığı burada anlatılıyor.
En faydalı bölümler bileşen sayfaları. Her bileşenin hangi durumda kullanıla…
Google Play'de yeni geliştirici hesabı: Kapalı test şartı ve yayına çıkma süreci
Kişisel geliştirici hesabı açanlar için getirilen kapalı test şartı, ilk uygulamasını yayınlamak isteyenlerin en çok takıldığı konu haline geldi.
Kural özetle şöyle işliyor: yeni açılan kişisel hesapların üretim ortamına çıkabilmesi için önce belirli sayıda test kullanıcısıyla…
Push bildirimi göndermek: Kullanıcıyı geri getiren ile uygulamayı sildiren arasındaki ince çizgi
Bildirim en güçlü geri getirme aracı ama yanlış kullanıldığında en hızlı silinme sebebi. Fark, içerik ve zamanlamada.
Temel ayrım şu: kullanıcıya bir şey hatırlatan bildirim ile pazarlama bildirimi. Birincisi beklenen ve hoş karşılanan, ikincisi tolerans sınırı düşük olan tür.…
Fastlane: Ekran görüntüsünden mağaza yüklemesine kadar yayın sürecini otomatikleştiren araç
Her sürümde tekrarlanan işleri komut haline getiren açık kaynaklı araç seti. Sürüm numarası artırma, sertifika yönetimi, derleme, test çalıştırma, ekran görüntüsü üretme ve mağazaya yükleme adımlarının hepsi otomatikleştirilebiliyor.
En çok zaman kazandıran iki özellik şunlar:…
Uygulama analitiğini doğru kurmak: Hangi olayı nasıl adlandırmalı
Analitik kurulumu çoğu projede acele yapılıyor ve altı ay sonra veriler kullanılamaz hale geliyor. Baştan bir düzen kurmak, sonradan temizlemekten çok daha ucuz.
İlk karar hangi olayların izleneceği. Her butona tıklamayı kaydetmek işe yaramıyor, gürültü yaratıyor. Bunun yerine…
Flutter performans rehberi: Takılan arayüzün sebebini bulmak için sırayla bakılacak yerler
Flutter ile yazılan uygulamalarda en sık duyulan şikâyet kaydırma sırasında takılma. Bu sayfa sorunun nereden geldiğini bulmak için sıralı bir yöntem sunuyor.
En önemli başlık gereksiz yeniden çizimleri azaltmak. Değişmeyen bileşenleri sabit olarak işaretlemek ve durum değişik…
uygulama fikrim var yazılım bilmiyorum: kod yazmadan nereye kadar gidilir
Bu cümleyle bana gelen o kadar çok insan oldu ki cevabımı yazıya dökeyim, çünkü cevap kişiye göre değil fikrin aşamasına göre değişiyor. İlk aşamada kod gerekmiyor, fikrin doğrulanması tasarım aracıyla çizilmiş tıklanabilir bir prototiple yapılabilir, bu prototipi on potansiyel k…
Google Play faturalandırma: Uygulama içi satın alma kurulumunun resmi belgeleri
Android tarafında satın alma akışını kurarken en çok hata yapılan yer, satın almanın doğrulanması ve onaylanması aşaması. Belgelerde bu adım açıkça anlatılıyor ama pratikte sık atlanıyor.
Önemli kural şu: satın alma tamamlandıktan sonra belirli bir süre içinde onaylanmazsa, si…
Uygulama içi satın almada vergi ve fatura: Türkiye'den yayın yapanların bilmesi gerekenler
Uygulamadan gelir elde etmeye başladığınızda teknik konular biter, mali konular başlar. Bu tarafı baştan kurmak sonradan düzeltmekten çok daha kolay.
Temel işleyiş şöyle: mağaza sizin adınıza satışı gerçekleştiriyor, komisyonunu düşüyor ve kalanı belirli aralıklarla hesabınıza…
Derin bağlantılar: Reklamdan gelen kullanıcıyı doğru ekrana düşürmek
Uygulama içindeki belirli bir sayfaya doğrudan gidebilen bağlantılar, hem pazarlama hem kullanıcı deneyimi açısından temel bir altyapı. Kurulmadığında her kampanya değer kaybediyor.
Sorun şu: bir ürün için reklam verdiniz, kullanıcı tıkladı, uygulama açıldı ve ana sayfaya düşt…
uygulama çöküyor yorumları yağıyor: kriz gününde geliştirici ne yapmalı
Güncelleme yayınladık, üç saat sonra puanımız düşmeye, yorumlar yağmaya başladı, açılışta çökme, en kritik akışta kilitlenme, o gece uyumadık ve o geceden bir kriz protokolü çıkardık, her uygulama geliştiricisinin başına gelecek bu senaryonun el kitabını yazayım. İlk saat teşhis …
Expo derleme ve gönderim servisi: React Native tarafında yerel kurulum derdini bitiren yol
React Native projelerinde en çok vakit kaybettiren konulardan biri yerel geliştirme ortamı kurulumu. Bu servis derlemeyi bulutta yapıp imzalama ve mağaza gönderimini de üstleniyor.
En değerli özelliği, macOS makinesi olmadan iOS derlemesi alabilmek. Windows veya Linux kullanan…
oyunlaştırma her ürüne iyi gelmiyor: rozet ve seri sayacı eklemeden önce okuyun
Ürün toplantısında birisi mutlaka söylüyor, oyunlaştırma ekleyelim, rozetler, seviyeler, seri sayaçları, kullanıcı bağlılığı hazır formül gibi sunuluyor, iki üründe bu formülü uygulamış ve birinde pişman olmuş biri olarak oyunlaştırmanın ne zaman ilaç ne zaman zehir olduğunu yaza…
Uygulama tanıtım videosu indirmeyi gerçekten artırıyor mu?
Mağaza sayfasındaki videonun dönüşüme etkisi kategoriye göre değişiyor, oyunlarda belirgin artış var ama araç uygulamalarında video izlenmeden ekran görüntülerine geçiliyor. İlk iki ekran görüntüsü hâlâ en kritik varlık. Video yapılacaksa ilk üç saniyede uygulamanın ne yaptığı gö…
Uygulama fikri doğrulama: mağazaya çıkmadan talep ölçülür mü?
Uygulamayı yazmadan önce tanıtım sayfası ve ön kayıt listesiyle talep ölçmek web tarafında standart ama mobilde daha az yapılıyor. Anahtar kelime hacimlerine bakmak, rakip uygulamaların yorumlarını okumak ve eksik özellik şikayetlerini toplamak da ücretsiz doğrulama. Yorumlardaki…
İlk uygulamanızı göndermeden önce: mağaza inceleme kuralları
Reddedilme sebeplerinin neredeyse tamamı burada yazıyor. App Store'a ilk kez uygulama gönderecek olan baştan sona bir kez okusun; iki haftalık ret-düzelt döngüsünden kurtarır.
Mobil pazar verisi ve kategori analizleri: Hangi uygulama ne kadar indirilmiş, ne kadar kazanmış
Uygulama pazarını dışarıdan gözlemleyen en bilinen veri sağlayıcılarından birinin blogu. Ücretli ürünlerinin tamamına erişim olmasa bile yayımlanan analizler pazar hakkında iyi fikir veriyor.
Özellikle kategori raporları işe yarıyor. Yeni bir uygulama fikri üzerinde çalışırken…
Uygulama gelir modelleri: abonelik yorgunluğuna karşı ne çalışıyor?
Kullanıcılar abonelikten yorulmuş durumda, tek seferlik satın alma yeniden itibar kazanıyor. Karma model öne çıkıyor: temel özellikler tek seferlik, sürekli maliyet üreten özellikler abonelik. Fiyat testi yapmadan modele karar vermek en pahalı hata, aynı uygulama farklı modelle ü…
Karanlık mod ve erişilebilirlik: Sonradan eklemesi en zor iki özellik
Bu iki konu genelde yol haritasının sonuna atılıyor ama ikisi de sonradan eklendiğinde çok daha pahalıya mal oluyor.
Karanlık mod için temel kural, renkleri koda doğrudan yazmamak. Renkleri anlamlarına göre tanımlamak gerekiyor: ana metin rengi, ikincil metin rengi, yüzey reng…
Jetpack Compose belgeleri: XML düzenlerinden geçiş yapanların en çok takıldığı noktalar
Android arayüzünü bildirimsel yazmaya geçerken en çok zorlanılan konu, ekranın ne zaman yeniden çizileceğini anlamak. Belgelerdeki yeniden birleştirme bölümü tam olarak bunu anlatıyor ve bir kez oturunca gerisi rahatlıyor.
Durum yükseltme konusu da kritik. Bileşenin kendi duru…
Tutundurma metrikleri: D1, D7 ve D30 sayıları ne anlatıyor, hangi seviye normal
Uygulama sağlığını tek bir sayıyla ölçmek gerekseydi o sayı tutundurma olurdu. İndirme sayısı gösterişli ama tek başına hiçbir şey anlatmıyor.
Temel tanım: belirli bir gün uygulamayı ilk kez açan kullanıcıların, kaç gün sonra hâlâ açmaya devam ettiği. Birinci gün, yedinci gün …