Reaksiyon Yerli Ekosisteminde Expo Anlamak

Reaksiyon Yerli uygulamaları JavaScript ile inşa edilir, ancak kamera, Bluetooth veya GPS gibi özellikler için yerel modüllere güvenir. Geleneksel olarak, bu yerel modüller gerekli Android Studio, Xcode, Gradle ve CocoaPods - yeni başlayanlar için dik bir öğrenme eğrisi.Expo KURAL[Dönetici yeteneklerin önceden yapılandırılmış olduğu bir iş akış sağlar)Expo[değiştir | kaynağı değiştir]

Anahtar ayrımı, Expo'nun ana yapılandırması ile ilgilidir.[Dönetici:0) ve [[Dönetici:2)bare[Dönetici: 3) Bu yol, Expo'nun içinde asla kilitli kalmamasını sağlarken, Expo'nun ana yapılandırmasını da halledebilirsiniz.

Neden Expo Matters başlayanlar için (ve Ötesi)

Expo'dan önce birçok geliştirici günlerini sadece bir Reaks Yerli ortamı derlemek için harcadı. Ortak ağrı noktaları Android SDK'ları arasındaki sürüm yanlış eşleştirmeleri içeriyordu, yerli kütüphaneleri manuel olarak bağlantı kurmak ve şifreli inşa hataları ortadan kaldırır. Expo bu engelleri ortadan kaldırır:

  • [FONT=0)Zero yerli kurulum[Dönetici: Android Studio veya Xcode'u başlangıç için yüklemeniz gerekmez. telefonunuzun Expo Go uygulamasını anında önizlemek için kullanın.
  • [FONT=0)Unified SDK[[[Dönemli 1)[[Dönemli)[[Dönemli))[[Dönemli)))[[Dönemli)))
  • [FONT:0)Over-the-air (OTA) güncellemeler): Uygulama mağazası incelemeleri olmadan doğrudan kullanıcılarına baskı yapılır.
  • [FONT:0)Instant paylaşımı[[[Dönem: 1 ): Uygulamanızı takım arkadaşları veya müşterilerle paylaşabilmek için bir QR kodu.
  • [FONT:0]Strong topluluğu ve dokümantasyon: Expo'nun resmi docsler, Reaktif Yerli ekosisteminde en iyi arasındadır.

Bu nedenlerden dolayı, Expo şimdi Reaks Yerli takımı tarafından önerilen başlangıç noktası.ETHFLT:0) Resmi Reaks Yerlileri) yeni mobil gelişim için kullanacakları Expo'yu kullanmak için yeni rehber.

Expo Çevrenizi Ayarlayın

Önlemler Önlemler

  • [FONT=0) Hayır, [Dönemli 16 veya daha sonra) – [[Şerefli 16 veya daha sonra indirilmiştir.
  • AAHART:0)code editörü[Dönemli:0)[Dönemli)
  • AŞFLT:0) Mobil cihaz[Dönetici:0) tarafından belirlenen Expo Go uygulaması ile ([Düzg:2) veya [[Dönetici|Dönetici|Dönetici|Dönetici|Dönetici|Dönetici|Dönetici/tr|)
  • (Okul) AAHFLT:0)Expo hesabı[Dönder:) Yayın ve paylaşım için).

Expo CLI'yı yükleme

Expo CLI, oluşturmak, çalıştırmak ve uygulamaları kurmak için kullandığınız komut satırı aracıdır. Bunu global olarak npm aracılığıyla yükleyin:

npm install -g expo-cli

Eğer radyatör kullanıyorsanız, varsayılan başlangıç olarak 2024'ün üzerinde yüklemeyi onaylayabilirsiniz.Fort.Note that as of 2024, Expo is changinging to the default starter. whileurFLT:4 hala işe yarıyor olsa da, yeni yöntemi kullanmayı tavsiye ederiz:

npx create-expo-app MyFirstApp --template blank

Bu, Expo SDK'nın en son sürümü ile minimum bir proje yaratır ve istenen TypeScript için kapsamlı bir destek oluşturur.

Proje Yapısını Gösterin

Once your project is created, open it in your editor. Key files and directories:

  • [FONT=0)App.js[[Dönetici: 1)) - Uygulamanızın giriş noktası. Burada başlayan her şey.
  • [FONT=0]package.json[[Dönetici: Listeler bağımlılıklar (react, tepki veren, expo ve yüklemeniz herhangi bir Expo modülleri).
  • [FONT=0]app.json[[Dönetici: 1) Expo projesi için yapılandırma dosyası (örneğin, ikon, üşü ekran, izinler vs.).
  • [FONT:0]node modules[[Dönler: 1 ) - tüm yüklü paketler içerir.
  • [FONT:0)[[Dönetici: 1) Expo için yerel devlet, sürüm kontrolüne taahhüt etme.

Expo güzelliği, daha sonra Expo SDK'sı ile yönetilmeyen android/ veya ios / klasörleri görmeyeceksiniz.

İlk Zaman için Uygulamanızı Koşun

Proje rehberinize Navigate:

cd MyFirstApp

Geliştirme sunucusuna başlayın:

npx expo start

Bir QR kodu terminalde görünür (veya bir web sayfası QR kodu ile açılır).ETHFLT:0)Important): iOS'ta varsayılan Kamera uygulamasını kullanın; Android'de, Expo Go uygulamasını cihazınıza yükleyecek ve kod editörünüzdeki herhangi bir değişiklik hemen yansıtacaktır (hot reloading)

Problem Çözme Ortak Başlangıç Konuları

  • [FONT:0)Bağlantı sorunları[[[Dönetici: Telefon ve bilgisayar aynı Wi-Fi ağı üzerindedir.Eğer bu başarısız olursa, [[ŞUygunT: 9) Expo CLI terminalinde bile çalışır.
  • [FONT=0)Expo Go uygulaması “Bir uygulama bulmak için kullanılabilir” [[Dönetici: Bu genellikle sunucunun tamamen başlamadığı anlamına gelir. “Metropackr hazır” demeye başlar.
  • [FONT:0)Bundler (Dönetici) sıkıştılar (Dönetici:)))) <>Katılım:Dönbellileri temizlemek için.

İlk Ekranınızı Yapın: Pratik Örnek

Bir uyarı gösteren bir düğme ile basit bir ekran yaratalım.: ile [[ŞUYGÜŞÜŞÜNÜŞÜŞÜŞÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜŞÜŞÜNÜŞÜŞÜŞÜŞÜŞÜŞÜNÜ

import React from 'react';
import { View, Text, Button, Alert, StyleSheet } from 'react-native';

export default function App() {
 const showAlert = () => {
 Alert.alert('Hello!', 'You clicked the button.');
 };

 return (
 <View style={styles.container}>
 <Text style={styles.title}>Welcome to Expo!</Text>
 <Button title="Click Me" onPress={showAlert} />
 </View>
 );
}

const styles = StyleSheet.create({
 container: {
 flex: 1,
 justifyContent: 'center',
 alignItems: 'center',
 backgroundColor: '#f0f0f0',
 },
 title: {
 fontSize: 24,
 marginBottom: 20,
 },
});

Dosyayı kurtar. Cihazınız anında ekran göstermelidir. Düğmeye basarak yerel uyarıları tetikler. herhangi bir Java /Kotlin veya Swift kodu yazmadınız -Expo bridging.

Expo Router ile birlikte navigasyon

Çoğu uygulama birden çok ekran vardır.Ücretsiz:0)ExpoVPN) önerilen navigasyon kütüphanesidir, çünkü dosya tabanlı routing (similar to Next.js).

Expo Router

npx expo install expo-router react-native-safe-area-context react-native-screens expo-linking expo-constants

Ardından, proje kökünüzdeki bir dizi sürüm için [[Dönetici:) ve [[Dönetici:)) bir sonraki ekran için [[Dönetici:)) · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

app/
 index.js
 about.js
 _layout.js (optional, for shared layout)

[Üye: 9/38]

import { Link } from 'expo-router';
import { View, Text } from 'react-native';

export default function Home() {
 return (
 <View>
 <Text>Home Screen</Text>
 <Link href="/about">Go to About</Link>
 </View>
 );
}

Kullanıcı bağlantıya dokunduğunda, uygulama herhangi bir yapılandırma olmadan silinir. Bu model yüzlerce ekrana ölçekler ve geleneksel Reaksatör kurulumlarından çok daha kolaydır.

Expo SDK ile Cihaz Özelliklerine Erişim

Expo, birkaç yaygın olarak kullanılan cihaz işlevselliği için 50 modülden fazlasını sağlar:

Kamera Kamera

npx expo install expo-camera

İzin talep edebilirsiniz, fotoğraf alabilir ve video kayıt edebilirsiniz. Örnek kullanım:

import { Camera } from 'expo-camera';
// ... request permission with Camera.requestCameraPermissionsAsync()

Konum Konum Location

npx expo install expo-location

Kullanıcının mevcut konumunu alın, konum değişiklikleri izleyin veya geocode adreslerini izleyin.

Bildirimler

npx expo install expo-notifications

Program ve yerel olarak hareket edin ve bildirimleri zorlamak. Expo bile bir push bildirim hizmeti sağlar, böylece jetonları göndermek için özel bir geri dönüşe ihtiyacınız yoktur.

Dosya Sistemi

npx expo install expo-file-system

Oku, yaz ve cihazdaki dosyaları yönetin. tarama görüntüleri için kullanışlı veya içerik indirme.

Bu modüller zaten Expo'nun yönetilen akışında bağlantılı olduğundan, npm paketini kurduktan hemen sonra bunları kullanmaya başlayabilirsiniz. Gerekli olan yerli bağlantı komutları yok.

Debugging ve Inspecting Your App

Debugging Expo'da açık.Eğer çalıştırdığınızda, Metro paketleyici bir geliştirici menüsü sunar. cihazınızda, onu (veya Android'de ekran görüntüsü menüsünü kullanabilirsiniz) erişim seçeneklerine erişmek için:

  • [FONT:0)Reload[Dönetici:0)[[Dönetici:0))
  • [FONT:0)Açık Inspector[[Dönetici: 1 ) – bileşen denetimci için bir tarayıcıda Reaktör DevTools açar.
  • [FONT:0)Toggle Distance JS Debugging[Dönetici] – Chrome DevTools'ta (Sağnızda kırılma noktaları ayarlayabilirsiniz).
  • [[Dönetici:0)Show Element Inspector[[Dönetici: 1 ) - Hedeflerini ve stillerini görmek için UI elementlerine tıklayın.

Ağ talepleri için, sunucuya başladığın terminalde, çöp izlerini ve konsolu gösteren Chrome DevTools'ta araç denetçisi veya ek olarak, Expo'nun logları sunucuya başladığınızda, çöp izlerini ve konsolunu gösteren terminalde kullanılmaktadır.

Flipper ile Expo ile Kullanımı

Facebook'un Flipper debugger'i tercih ederseniz, Expo'nun açık akışını desteklemek için yapılandırabilirsiniz, ancak yönetilen iş akışı için, yerleşik araçların% 90'ı genellikle yeterli.Birçok geliştiricinin kendine ait geliştirici loglarına güvenir.[FLT]React DevTools

Bir Expo App

Expo uygulamaları Reaksiyon Yerli uygulamalarıdır, bu yüzden devlet yönetimi tam olarak aynı şekilde çalışır: kullanabilirsiniz:

  • [FONT=0)React Context[[Dönetici:0) ve [[Dönetici[Dönetici:0) Basit karmaşık bir duruma basit olarak basit bir şekilde karmaşık bir durum için.
  • [FONT:0)Zustand[[[DÜT:1) veya [[Dönetici:2)Jotai[DÜDÜDÜ:3) hafif, sönüllüsiz bir devlet kütüphanesi için.
  • [FONT=0)Redux Toolkit[Döneticileri bir çok birbirine bağlı devlet dilimleri ile büyük ölçekli uygulamalar için).

Expo herhangi bir özel seçim yapmaz. Yeni başlayanlar için, Reaks'in yerleşik kancaları ile başlayan. Daha sonra her zaman daha sofistike bir çözüme geçebilirsiniz.

Reakt Context ile Örnek:

import { createContext, useContext, useState } from 'react';

const ThemeContext = createContext();

export function ThemeProvider({ children }) {
 const [theme, setTheme] = useState('light');
 return (
 <ThemeContext.Provider value={{ theme, setTheme }}>
 {children}
 </ThemeContext.Provider>
 );
}
export const useTheme = () => useContext(ThemeContext);

Uygulamanızı Test Etmek

Expo, Jest'i kutudan desteklemektedir. RunurFLT:33) ve Jest'i paket.json'u yapılandırın.[Döneticileri ve anlık testleri için birim testleri yazabilirsiniz.Son test için, [[Dönetici|Döneticileri ile çalışır.

Anahtarlama bileşeni için basit bir test örneği:

import React from 'react';
import { render, fireEvent } from '@testing-library/react-native';
import App from '../App';

test('button shows alert', () => {
 const { getByText } = render(<App />);
 fireEvent.press(getByText('Click Me'));
 // Assert that Alert was called (use jest.spyOn)
});

Yapı ve Yayınlama App Your App

Uygulamanız hazır olduğunda, App Store ve Google Play'e yayımlamak isteyeceksiniz. Expo bunu bulut inşa hizmetleri ile basitleştirir.

Expo Application Services (EAS)

EAS Build, Xcode veya Android Studio'yu kurmak zorunda kalmadan üretime hazır yerli binerler yaratır. Steps:

  1. [Üye: 34/36/36/2010)
  2. Giriş: (İngilizce).
  3. Form profilleri (geliş, önizleme, üretim) ile ilgili olarak yapılandırın.
  4. Run:FLT:39 veya [[DÜŞÜŞÜŞÜŞÜŞÜŞÜŞÜŞÜŞÜNÜŞÜŞÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞ

EAS, uygulamanızı bulutta inşa eder ve bir .ipa veya .apk dosyasını döndürür. Daha sonra mağazalardan alışabilirsiniz. ”

Over-the-Air Updates

[[Affin:)) JavaScript güncellemelerini doğrudan mağazalardan geri göndermeden kullanıcılara götürebilirsiniz. Uygulamada bir kanal yapılandırın ve çalıştırın.QPMAS: KAYNAK KİMY KİM KİM KİM KİM KİM KİM KİM KİM KİM KİM SİYONLAR ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

Örnek uygulama.json update configure:

{
 "expo": {
 "updates": {
 "url": "https://u.expo.dev/YOUR_PROJECT_ID",
 "enabled": true
 }
 }
}

Yönetilen İş Akışının Sınırları

Expo güçlü olsa da, çıplak bir iş için eject'e ihtiyaç duyabileceğiniz senaryolar var:

  • [FONT:0)Müşteri ana modüller[Döneticileri) Expo SDK'da mevcut değildir (örneğin, henüz kapatılmamış yeni bir Bluetooth kütüphanesi).
  • [FONT:0)Background görevleri[Dönetici:0) Son zamanlarda (Expo Go ve yönetilen uygulamalar arka yürütmede sınırlamaları vardır.
  • [FONT=0)Push bildirim özelleştirmesi[[Dönetici:0) Expo tekliflerinin (örneğin, özel bildirim sesleri veya zengin medya) ötesinde.
  • [FONT:0)Large dosya boyutları[Dönemli kütüphaneler ile[Döneticiler)[değiştir | kaynağı değiştirilen tüm Expo SDK’ları içerir, bu da ~20MB’yi içerir).
  • [FONT:0) Uygulama başlangıçlamadan önce kod koşmaya karar verdi). (yayılı uygulamalar sabit bir giriş noktası var).

Neyse ki, “eject” (gerçekten çalıştırılabilir) herhangi bir zamanda. Bu, MAC ile anlık önizlemenin rahatlığını sağlar.Bu, EAS Build ve OTA Updates'ı kullanabilirsiniz. klasörü özelleştirebilirsiniz, yerel kodu özelleştirmenize izin verin.

Expo Development için en iyi uygulamalar

Expo SDK'nızı Güncelleme Tarihinizi Takip Et

Expo her birkaç ay yeni bir SDK versiyonunu yayınlar. Updating nispeten acısız: runurFLT:48) ve herhangi bir kırılma değişikliğini düzeltin.Mevcut olarak en son API'ler ve güvenlik yamalarınız olduğundan emin olun.

Start'ten TipScript Kullanın

Expo ilk sınıf TypeScript'u destekler.Eğer TypeScript şablonu seçin. birçok böcek erken yakalar ve IDE otocomplete geliştirir.

Görüntü Varlıklarını Optimize Etmek

Uygulamanız için görüntü yüklemesi için görüntü yüklemesi için görüntü yüklemesi ve yer sahipleri ile yükleme için de kullanılabilir.

Expo Community'yi Çıkarmak

Discord sunucu, forumlar ve GitHub tartışmaları son derece aktif.Özel kod yazmaktan önce, [[Dönemli dokümanlar için arama)Expo belgeleri veya topluluk tarifleri).

App Store Gereksinimleri için Plan

Expo ile bile Apple ve Google politikalarına uymanız gerekir. Uygulamanızın gizlilik açık, uygun ikonları ve üşü ekranları olduğundan emin olun.UseENFLT:52). izinler ve uygulama metadata.

Ortak Pitfalls ve Them'dan Nasıl Kaçırmak

  • [FONT:0) Eşlik kurmak için yalvarmak[Döneticileri kullanmak için: Expo modülleri kullanırken bazen ilgili paketler (örneğin, navigasyon için) manuel olarak yüklemeniz gerekir.
  • [FONT:0) Üretimde Konsol.loga ek olarak : Tüm konsol açıklamalarını binadan önce çıkarın.UseurFLT:54) Bunu otomatikleştirmek için.
  • [[Düzücü Boyutlar[Döncükler: Kullanım: Kullanım: ADRS:0) Tabletler dahil olmak üzere farklı ekran boyutları desteklemek için Reaktif Yerli'den kanca.
  • [FONT:0)Son test için Expo Go'ya temel verildi[Dönetici: Expo Go gelişim için harika, ancak bazı API'ler bir standalone inşasında farklı davranabilir.Her zaman bir üretim inşasında (EAS Build) test etmek için.

Yeni başlayanlardan Üretime Geçiş

Expo sadece bir öğrenme aracı değil; büyük şirketler için uygulamalar da dahil olmak üzere birçok üretim uygulamaları tarafından kullanılır. yönetilen iş akışı, orta karmaşık karmaşıklığın uygulamalarını idare edebilir. Uygulamanızın ağır yerli entegrasyonlara ihtiyacı varsa, açık iş akışı her zaman mevcuttur. anahtar basit ve sadece gerekli olduğunda yerel kod eklemektir.

Expo'ya usta olarak, herhangi bir yerli projeye transfer edilen standart Reaktüel desenleri öğreniyorsunuz. - kazandığınız beceriler - sorumlu tasarım, devlet yönetimi, navigasyon ve API entegrasyonu - tam olarak profesyonel mobil gelişim için ihtiyacınız olan şey.

Sonraki Adımlar ve Kaynaklar

  • Read theFL:0) resmi Expo öğreticisi[[Dönemli bir adım yürüyüşe çıkıyor.
  • Expo Go uygulamasını keşfedin[[Döntgen:0) Mevcut olanı görmek için.
  • ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • Check outFLT:0)Expo Snack[[Dönetici: 1) doğrudan tarayıcınızda prototipe.

Expo ile mobil uygulamalar ilk engelleri kaldırır ve hangi konulara odaklanmanızı sağlar: uygulamanızın mantığı, tasarımı ve kullanıcı deneyimi. Bugün başlayın ve hızlı mobil gelişim nasıl olabileceğini deneyimleyin.