React Native uygulaması geliştirmek eskiden ciddi miktarda native kurulum gerektirirdi — Xcode projeleri, Gradle yapılandırması ve platforma özgü araçlar. Günümüzde Expo bu karmaşıklığın büyük bölümünü ortadan kaldırarak hem Android hem iOS için sade bir geliştirme deneyimi sunuyor.
Expo artık yalnızca bir prototip aracı değil. EAS Build, Development Builds ve Expo Modules ile ölçekli gerçek uygulamalar yayınlayan ekiplerin kullandığı, production’a hazır bir platform.
Dakikalar içinde proje oluşturun
Modern bir Expo projesi tek komutla başlar:
npx create-expo-app@latest my-app
cd my-app
npx expo start
Bu komut, dosya tabanlı yönlendirmesi hazır, TypeScript destekli bir proje verir. Simülatörde, Expo Go uygulamasıyla gerçek cihazda veya bir Development Build üzerinde anında çalıştırabilirsiniz.
İhtiyaç olduğunda native
Expo ile ilgili eski korku, bir noktada duvara çarpıp “eject” etmek zorunda kalmaktı. O dönem bitti. Development Builds, Expo akışını korurken herhangi bir native bağımlılığı eklemenizi sağlar:
npx expo install expo-dev-client
eas build --profile development --platform ios
Özel native kod için Expo Modules, ayrı bir native proje sürdürmeden Swift veya Kotlin yazıp bunu JavaScript’e açmanızı sağlar. Çoğu ekibin ekosistemden çıkmasına hiç gerek kalmaz.
Daha ilk günden production’ı planlayın
Üç konu ilk yayından sonra değil, önce kararlaştırılmalı:
- Build — yerel Xcode/Gradle kurulumları yerine tekrarlanabilir, bulut tabanlı binary’ler için EAS Build kullanın.
- Güncellemeler — JavaScript düzeltmelerini mağaza incelemesi olmadan yayınlayabilmek için
expo-updateskurun. - İzleme — production çökmelerini görebilmek için hata raporlamayı (örn. Sentry) baştan bağlayın.
// app.json — production farkındalıklı minimal yapılandırma
{
"expo": {
"runtimeVersion": { "policy": "appVersion" },
"updates": { "url": "https://u.expo.dev/your-project-id" }
}
}
Sonuç
Expo, React Native geliştirme için eksiksiz bir platforma dönüştü. Native esneklik için Development Builds, build ve güncelleme için EAS ve baştan mantıklı bir proje yapısıyla ekipler; geliştirmeyi hızlı ve sürdürülebilir tutarken yüksek kaliteli mobil uygulamalar teslim edebilir.
İşin püf noktası, onu ilk commit’ten itibaren bir production platformu olarak ele almak — sonradan kaçmak zorunda kalacağınız bir prototip olarak değil.