Section 1: React บนเว็บกับ React Native ต่างกันอย่างไร
- สิ่งที่ใช้ต่อได้ทันที: Component, Props, State, Hooks และ Context
- สิ่งที่ต่างไป: ไม่มี DOM ไม่มี CSS Cascade และแสดงผลเป็นคอมโพเนนต์เนทีฟ
- New Architecture: Fabric, Turbo Native Modules และ JSI และ Hermes V1
- เลือกระหว่าง Community CLI กับ Framework อย่าง Expo
Section 2: Lab: เตรียมเครื่องมือเนทีฟบน Windows และ macOS
- ติดตั้ง Node.js รุ่น LTS, JDK 17 และ VS Code
- Android Studio, Android SDK, ตัวแปร ANDROID_HOME และสร้าง Emulator
- Xcode, iOS Simulator, CocoaPods และ Watchman บน macOS
- Lab: ตรวจความพร้อมของเครื่องก่อนเริ่มโปรเจกต์
Section 3: Lab: สร้างโปรเจกต์ด้วย React Native Community CLI
- สร้างโปรเจกต์ด้วย npx @react-native-community/cli@latest init
- โครงสร้างโปรเจกต์: App.tsx, โฟลเดอร์ android และ ios, package.json
- Metro Bundler, Fast Refresh และ React Native DevTools
- Lab: รันแอปแรกบน Android Emulator และ iOS Simulator
Section 4: Lab: Core Components แทนแท็ก HTML
- View, Text และ Image เทียบกับ div, span และ img
- TextInput, Switch และ Pressable แทน input และ button
- ScrollView, Modal และ Alert สำหรับเนื้อหายาวและ Popup
- Lab: ย้าย Component การ์ดสินค้าจากเว็บมาเป็น React Native
Section 5: Lab: Styling ด้วย StyleSheet และ Flexbox
- StyleSheet, หน่วยแบบไม่มี px และสไตล์ที่ไม่สืบทอดเหมือน CSS
- Flexbox บนมือถือ: flexDirection เริ่มต้นเป็น column
- useWindowDimensions, Platform.select และหน้าจอหลายขนาด
- Safe Area และ Edge-to-edge บน Android รุ่นใหม่
- Lab: จัดหน้า Profile ให้แสดงผลดีทั้งมือถือและแท็บเล็ต
Section 6: Lab: State, Hooks และฟอร์มบนมือถือ
- useState และ useEffect ในบริบทของแอปมือถือ
- Controlled TextInput, ประเภทแป้นพิมพ์ และการซ่อนแป้นพิมพ์
- KeyboardAvoidingView เพื่อไม่ให้แป้นพิมพ์บังฟอร์ม
- Lab: ฟอร์มสมัครสมาชิกพร้อมตรวจข้อมูล