Expo bilan o'rnatish — Node.js, create-expo-app, Expo Go
Muammodan boshlaylik
An'anaviy mobil dasturlashni boshlash uchun: Android Studio (bir necha GB), Android SDK, emulyator sozlash, iOS uchun esa Mac va Xcode (yana 10+ GB). Birinchi "Salom" ni ko'rguncha bir kun o'tadi.
Expo bilan: Node.js, bitta buyruq va telefondagi bepul ilova. 10 daqiqada kodingiz telefonda ishlaydi.
1. Node.js
Expo uchun Node.js LTS versiyasi kerak:
node -v # v20 yoki undan yangi bo'lishi kerak
npm -v
O'rnatilmagan bo'lsa — https://nodejs.org dan LTS versiyani yuklab oling.
2. Yangi loyiha
npx create-expo-app@latest mening-ilovam
cd mening-ilovam
create-expo-app tayyor shablon yaratadi: TypeScript, Expo Router (navigatsiya), bir nechta namuna ekranlar bilan.
[!TIP] Bo'sh shablon kerak bo'lsa:
npx create-expo-app@latest mening-ilovam --template blank-typescript. Bu kursda standart shablon bilan boshlaymiz, keyin ortiqcha fayllarni tozalaymiz.
3. Telefonga Expo Go
Telefoningizga Expo Go ilovasini o'rnating:
- Android — Google Play
- iPhone — App Store
Expo Go — sizning kodingizni yuklab, ishga tushiradigan "konteyner". Har bir o'zgarishda ilovani qayta yasash shart emas.
4. Ishga tushirish
npx expo start
Terminalda QR kod chiqadi:
› Metro waiting on exp://192.168.1.10:8081
› Scan the QR code above with Expo Go (Android) or the Camera app (iOS)
› Press a │ open Android
› Press i │ open iOS simulator
› Press w │ open web
› Press r │ reload app
› Press j │ open debugger
- Android: Expo Go ichidagi "Scan QR code"
- iPhone: oddiy Kamera ilovasi bilan QR ni skanerlang
Bir necha soniyada ilova telefoningizda ochiladi.
Telefon ulanmasa
Kompyuter va telefon bir xil Wi-Fi da bo'lishi kerak. Ofis yoki universitet tarmog'i qurilmalarni bir-biridan ajratib qo'yishi mumkin. Unda:
npx expo start --tunnel
--tunnel — internet orqali ulanish. Sekinroq, lekin istalgan tarmoqda ishlaydi.
Windows Firewall so'rasa — Node.js ga ruxsat bering.
5. Emulyator (ixtiyoriy)
Telefon bo'lmasa yoki tez sinash uchun:
Android Emulator (Windows, macOS, Linux):
- Android Studio ni o'rnating
- Device Manager → yangi virtual qurilma yarating
- Emulyatorni ishga tushirib, terminalda
ani bosing
iOS Simulator — faqat macOS da, Xcode orqali. Terminalda i.
Veb — w ni bosing. Tez tekshirish uchun qulay, lekin barcha mobil imkoniyatlar ishlamaydi.
6. Muharrir
VS Code + kengaytmalar:
- Expo Tools —
app.jsonuchun avtoto'ldirish - ES7+ React/Redux/React-Native snippets —
rnfe+ Tab → tayyor komponent shabloni - Prettier — avtomatik formatlash
Expo Go cheklovi
Expo Go — faqat Expo SDK dagi kutubxonalarni o'z ichiga oladi. Agar keyinchalik o'z native kodi bor kutubxona kerak bo'lsa (masalan, ba'zi to'lov SDK lari) — development build yasaladi (48-dars). O'rganish va ko'pchilik ilovalar uchun Expo Go yetarli.
Nima uchun shunday?
Nima uchun telefon kompyuterdagi kodni ko'ra oladi — ilova o'rnatilmagan-ku?
npx expo start kompyuteringizda Metro degan server ishga tushiradi. U TypeScript kodingizni bitta JavaScript "bundle" ga yig'adi. Expo Go esa QR koddagi manzilga ulanib, shu bundle ni yuklab oladi va o'zining ichidagi native qatlamda ishga tushiradi. Faylni saqlaganingizda Metro o'zgargan qismni qayta yig'adi va telefonga yuboradi — shuning uchun o'zgarishlar bir soniyada ko'rinadi.
Xulosa
Eslab qoling:
- Node.js LTS kerak
npx create-expo-app@latest nom— yangi loyiha- Telefonga Expo Go;
npx expo start→ QR kodni skanerlash - Bir xil Wi-Fi; ulanmasa —
--tunnel a— Android emulyator,i— iOS simulator (macOS),w— veb- Expo Go — o'rganish uchun yetarli; maxsus native kutubxonalar uchun — development build
Keyingi dars
3-dars: Birinchi ilova — telefonda ishga tushirish, hot reload