For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /tr/docs/mobile/tech-stack.md (or send Accept: text/markdown).
Mobile teknoloji yığını
Expo uygulamasının içindeki teknolojiler ve her birinin oynadığı rol.
Başlamadan önce
Mobile uygulaması küçük bir yerel yüzeydir: aşağıdaki her kitaplık zaten apps/mobile/package.json'da sabitlenmiştir, bu nedenle bu sayfadaki hiçbir şey ayrı kurulum gerektirmez. Bu sayfa, sonraki kılavuzların anlamlı olması için her parçanın ne yaptığını açıklar.
Arka uç, Web deposunda kendi yığınını — Next.js, Postgres ve sağlayıcı bağdaştırıcılarını — tutar. Uygulama, onu EXPO_PUBLIC_API_URL aracılığıyla ulaşır ve hiçbir parçasını gömmeyerek yalnızca Mobile checkout'un küçük kalmasını sağlar.
Expo + React Native
Expo, uygulamayı çalıştıran, paketleyen ve derleyen araç zinciridir; React Native, bir webview yerine gerçek yerel arabirim öğeleri oluşturur. Expo Router, dosya tabanlı gezinme sağlar: apps/mobile/app/ altındaki her dosya bir ekrana dönüşür ve oturum açmış yığın app/(app)/ altında gruplandırılır.
Expo Go, telefonunuzda paylaşılan geliştirme önizlemesini açarken, bir development build kendi kurulabilir uygulamanızdır — satın almalar veya biyometrik kilit gibi bir yerel modülün çalışması gerektiğinde zorunludur.
TypeScript
Tüm uygulama kodu TypeScript'tir ve paket sıkı bir tür denetimiyle birlikte gelir. Bir cihaz veya çalışan bir arka uç olmadan her dosyayı kontrol edebilirsiniz.
Better Auth Expo + güvenli depolama
Oturum açma, sistem tarayıcısı aracılığıyla Better Auth Expo istemcisiyle gerçekleşir: uygulama arka ucun kimlik doğrulama sayfasını açar, arka uç uygulamanın derin bağlantı şemasına döner ve oturum belirteci expo-secure-store'da tutulur — iOS'ta Keychain ve Android'de Keystore — asla düz depolamada veya paketlenmiş yapılandırmada değil.
Aynı modüller, passkey'leri, expo-local-authentication aracılığıyla isteğe bağlı bir biyometrik uygulama kilidini ve workspace kapsamlı çevrimdışı önbelleği temizleyen bir oturum kapatmayı kapsar.
RevenueCat satın alımları
react-native-purchases, StoreKit ve Play Billing'i kitin yetki senkronizasyonuna bağlar: uygulama mağaza satın alımını başlatır, arka uç RevenueCat webhook'u aracılığıyla doğrular ve sunucu workspace'in ne kullanabileceğine karar verir.
İlk önizlemede satın alımlar kapalı kalır (EXPO_PUBLIC_MOBILE_PURCHASES_PROVIDER=off). Gerçek satın alma ve geri yükleme testleri bir EAS geliştirme derlemesi gerektirir çünkü Expo Go yerel satın alma modülünü çalıştıramaz.
EAS Build + Submit
eas.json üç profil içerir: development, iOS simülatörü için bir dev client derler, preview, testçiler için dahili bir Android APK'sı derler ve production, otomatik artan sürümler ve bir Play dahili kanal gönderim adımıyla mağaza ikililerini derler.
Derlemeler Expo'nun bulutunda çalışır, bu nedenle ikililer üretmek için yerel bir Xcode veya Android Studio'ya ihtiyacınız yoktur — yalnızca kendi bilgisayarınızda simülatörleri çalıştırmak için.
Doğrulama araçları
Deterministik Vitest paketleri, oturum depolamayı, derin bağlantıları, sohbet akışını ve iptalini, yetkileri, satın alımları, çevrimdışı önbelleği ve bildirim yönlendirmesini kapsar — cihaz olmadan bilgisayarınızda çalışırlar. Uygulama kilidi, push teslimatı ve mağaza satın alımları gibi yalnızca yerel davranışlar bunun yerine bir EAS geliştirme derlemesinde doğrulanır.
corepack pnpm --filter @supastack/mobile test
corepack pnpm --filter @supastack/mobile typecheck