# Expo ile Mobil Uygulama Nasıl Yapılır?

> Expo, React Native ile iOS ve Android uygulaması geliştirmenin operasyonel yükünü azaltır. İlk projeden production build'e kadar temel akışı ele alıyoruz.

Yayıncı: FaturaTik
Son gözden geçirme: 2026-09-05
Kanonik HTML: https://www.faturatik.net/tr/blog/expo-ile-mobil-uygulama-yapma

Expo, React Native projelerinde başlangıç, geliştirme, native servisler ve build süreçlerini daha yönetilebilir hale getiren araç setidir.

Sıfırdan bir ürün geliştiriyorsanız özellikle küçük ekipler için native proje ayarlarıyla erken aşamada uğraşma ihtiyacını azaltabilir.

## Yeni Expo projesi oluşturma

Temel başlangıç:

```bash
npx create-expo-app@latest my-app
cd my-app
npm start
```

Expo dokümantasyonu yeni proje oluşturmak için `create-expo-app` akışını kullanır.

## Projeyi telefonda çalıştırma

Development sırasında Expo Go veya development build kullanılabilir. Basit UI ve JavaScript ağırlıklı özelliklerde Expo Go hızlı başlangıç sağlar.

Native dependency gerektiren daha gerçekçi ürünlerde development build'e geçmek gerekir.

## Proje yapısı nasıl olmalı?

İlk günden karmaşık mimari kurmak gerekmez.

Örnek:

```text
app/
components/
features/
lib/
hooks/
types/
assets/
```

Özellik büyüdükçe feature bazlı klasörleme kullanılabilir.

## TypeScript kullanmalı mısınız?

Yeni projede TypeScript kullanmak çoğu durumda mantıklıdır.

Özellikle AI kod editörleriyle çalışırken tip hatalarının build öncesinde görünmesi ciddi avantajdır.

Örneğin API response:

```ts
type RevenueSummary = {
  currency: string;
  gross: number;
  refunds: number;
  net: number;
};
```

gibi açık tanımlandığında yanlış veri kullanımı daha erken yakalanır.

## Backend ne zaman gerekir?

Uygulamanız yalnız cihaz üzerinde çalışan basit utility ise backend gerekmeyebilir.

Şu ihtiyaçlar varsa backend büyük olasılıkla gerekir:

- kullanıcı hesabı,
- cihazlar arası sync,
- ödeme geçmişi,
- merkezi veri,
- dosya yükleme,
- server-side API secret.

## Production build

Uygulama mağazaya gönderileceği zaman development build yerine production binary gerekir.

Expo tarafında EAS Build kullanılabilir.

```bash
eas build --platform ios --profile production
```

ve Android için:

```bash
eas build --platform android --profile production
```

## Expo kullanmak native kod yazmayı tamamen kaldırır mı?

Hayır. Çoğu standart özellik Expo modülleriyle çözülebilir; ancak ürünün ihtiyacına göre custom native code veya config plugin gerekebilir.

Doğru beklenti şudur: Expo native geliştirmeyi yok etmez, **gerektiği zamana kadar erteler ve birçok standart işi kolaylaştırır.**

## İlk uygulamada hangi feature'lar yapılmalı?

İlk sürüm için:

```text
ana kullanıcı değeri
authentication gerekiyorsa login
kritik data flow
error/loading state
analytics
```

yeterli olabilir.

Push, referral, tema mağazası veya gelişmiş gamification gibi alanları kullanıcı davranışı oluşmadan eklemek çoğu üründe gereksizdir.

## Sonuç

Expo, küçük ekiplerin fikirden mağazaya daha hızlı gitmesi için güçlü bir varsayılandır.

Önce basit proje kurun, gerçek kullanıcı akışını çalıştırın ve native karmaşıklığı yalnız gerçekten ihtiyaç olduğunda ekleyin.


## Bilgilendirme

Bu içerik genel bilgilendirme amaçlıdır. Üçüncü taraf ürünlerin özellikleri, fiyatları ve mağaza kuralları zaman içinde değişebilir; üretime geçmeden önce resmi dokümantasyonu kontrol edin.

## Sıkça sorulan sorular

### Expo nedir?

React Native uygulamalarını geliştirme, çalıştırma, build etme ve dağıtma süreçlerini kolaylaştıran araç ve servisler bütünüdür.

### Expo ile iOS ve Android aynı projeden yapılabilir mi?

Evet. React Native tabanlı aynı kod tabanı üzerinden iki platform hedeflenebilir; platforma özel kod gerektiğinde ayrı dallar eklenebilir.

### Expo production uygulama için uygun mu?

Evet. EAS Build ve ilgili Expo araçları production binary üretme ve mağaza dağıtım süreçlerini destekler.

## Kaynaklar

- [Expo — Create your first app](https://docs.expo.dev/tutorial/create-your-first-app/)
- [Expo — Submit to the Apple App Store with EAS Submit](https://docs.expo.dev/submit/ios/)

## İlgili rehberler

- [nativewind-expo-kurulumu](https://www.faturatik.net/tr/blog/nativewind-expo-kurulumu/index.md)
- [supabase-react-native-kurulumu](https://www.faturatik.net/tr/blog/supabase-react-native-kurulumu/index.md)
- [expo-app-store-yayinlama](https://www.faturatik.net/tr/blog/expo-app-store-yayinlama/index.md)
