Schița de curs
Introducere
Săptămâna 1: Prezentare generală a dezvoltării mobile
- Ecosistemul și platformele mobile
- Prezentare generală a sistemelor de operare mobile (iOS și Android)
- Diferențe cheie între iOS, Android și dezvoltarea cross-platform
- Magazine de aplicații populare (Apple App Store, Google Play Store)
- Introducere în dezvoltarea nativă, hibridă și cross-platform
- Nativ vs Hibrid vs Cross-Platform
- Avantaje și provocări ale fiecărei metode de dezvoltare
- Prezentare generală a Swift (pentru iOS), Kotlin (pentru Android) și React Native (cross-platform)
- Cum se traduce codul în platforme mobile (JavaScript în cod nativ în React Native)
- Fundamentele programării
- Introducere în conceptele de programare (variabile, tipuri de date, funcții, flux de control)
- Comparație între sintaxa Swift, Kotlin și JavaScript
- Scrierea de programe simple folosind Swift, Kotlin și JavaScript
- Configurarea mediilor de dezvoltare
- Instalarea Xcode și Android Studio
- Configurarea React Native CLI și Expo
- Rularea aplicațiilor de bază "Hello World" pe simulatoare și emulatoare
Săptămâna 2: Introducere în Swift, Kotlin și JavaScript
- Programarea Swift pentru iOS
- Variabile, constante și tipuri de date în Swift
- Instrucțiuni de control al fluxului (
if,switch, bucle) - Funcții și parametri în Swift
- Introducere în interfața Xcode și Swift Playgrounds
- Programarea Kotlin pentru Android
- Variabile, tipuri de date și funcții în Kotlin
- Înțelegerea siguranței la null în Kotlin
- Structuri de control și bucle
- Introducere în interfața Android Studio și Kotlin Playground
- JavaScript pentru React Native
- Variabile, constante și control al fluxului în JavaScript
- Caracteristici ES6: funcții săgeți, șabloane literale și destructuring
- Scrierea și rularea de programe de bază în JavaScript folosind Expo în React Native
Săptămâna 3: Proiectarea interfeței de utilizator în iOS
- Elemente de interfață în iOS
- Introducere în UIKit și SwiftUI
- Adăugarea și personalizarea elementelor de interfață cum ar fi butoane, etichete și câmpuri de text
- Utilizarea Interface Builder pentru proiectarea interfeței
- Lucrul cu Storyboards și proiectarea interfețelor pe mai multe ecrane
- Auto Layout și constrângeri
- Înțelegerea sistemului Auto Layout
- Utilizarea constrângerilor pentru layouturi responsive pe diferite dimensiuni de ecran
- Crearea de stack views și ajustarea dinamică a elementelor de interfață
- Bazele SwiftUI
- Introducere în proiectarea declarativă a interfețelor în SwiftUI
- Construirea de componente de interfață simple folosind SwiftUI
Săptămâna 4: Proiectarea interfeței de utilizator în Android
- Layouturi XML în Android
- Introducere în proiectarea bazată pe XML
- Lucrul cu layouturi comune: LinearLayout, RelativeLayout, ConstraintLayout
- Adăugarea și personalizarea elementelor de interfață: butoane, text views, image views
- Utilizarea ConstraintLayout pentru layouturi responsive și dinamice
- Material Design
- Integrarea principiilor Material Design (culori, icoane, tipografie)
- Utilizarea componentelor Material (butoane, floating action buttons, carduri)
- Implementarea temelor și stilurilor pentru aplicațiile Android
Săptămâna 5: Proiectarea interfeței de utilizator în React Native
- Layout Flexbox în React Native
- Înțelegerea Flexbox pentru proiectarea layouturilor responsive
- Crearea de layouturi bazate pe coloane și rânduri
- Stilizarea componentelor de interfață cu proprietăți Flexbox (justifyContent, alignItems, etc.)
- Componente React Native
- Lucrul cu componente de bază cum ar fi
Text,View,TextInputșiButton - Crearea de elemente de interfață interactive cum ar fi formulare și butoane
- Utilizarea componentei
ScrollViewpentru conținut dinamic
- Lucrul cu componente de bază cum ar fi
Săptămâna 6: Gestionarea datelor în iOS și Android
- Gestionarea datelor în iOS
- Utilizarea UserDefaults pentru stocarea simplă a datelor
- Introducere în Core Data pentru stocarea locală a datelor complexe
- Preluarea datelor din API-uri folosind URLSession
- Parsarea datelor JSON și afișarea lor în interfață
- Gestionarea datelor în Android
- Utilizarea SharedPreferences pentru stocarea unor cantități mici de date
- Introducere în SQLite și Room Persistence Library pentru gestionarea bazelor de date
- Preluarea datelor din API-uri folosind Retrofit
- Parsarea JSON și gestionarea răspunsurilor API
Săptămâna 7: Gestionarea stării și API-uri în React Native
- Stare și props în React Native
- Gestionarea fluxului de date în componentele React Native
- Utilizarea hook-ului
useStatepentru gestionarea stării locale a componentelor - Transmiterea datelor între componente părinte și copil prin props
- Preluarea datelor în React Native
- Utilizarea Fetch API și Axios pentru a face cereri HTTP
- Afișarea datelor preluate în liste (folosind
FlatList,SectionList) - Stocarea locală a datelor folosind AsyncStorage în React Native
Săptămâna 8: Navigarea în iOS și Android
- Navigarea în iOS
- Introducere în controlerele de navigare și gestionarea mai multor ecrane
- Utilizarea segues pentru tranziții între controlere de vizualizare
- Transmiterea datelor între controlere de vizualizare
- Implementarea TabBar și NavigationBar pentru navigare structurată
- Navigarea în Android
- Lucrul cu Activități și Intenții pentru aplicații cu mai multe ecrane
- Transmiterea datelor între Activități folosind Bundles
- Crearea unui Navigation Drawer și BottomNavigationView
- Implementarea fragmentelor pentru navigare flexibilă a interfeței
Săptămâna 9: Navigarea în React Native
- Bazele React Navigation
- Instalarea și configurarea React Navigation
- Utilizarea Stack Navigator pentru tranziții între ecrane
- Implementarea Tab Navigator și Drawer Navigator pentru navigare complexă
- Transmiterea parametrilor între ecrane și gestionarea stării de navigare
Săptămâna 10: Funcționalități avansate
- Funcționalități avansate în iOS:
- Locație și hărți
- Accesarea locației dispozitivului cu Core Location
- Afișarea hărților folosind MapKit
- Gestionarea geolocației și urmărirea locației utilizatorului
- Camera și media
- Accesarea camerei dispozitivului și a bibliotecii de fotografii
- Capturarea și afișarea imaginilor cu UIImagePickerController
- Stocarea și preluarea fișierelor media
- Locație și hărți
- Funcționalități avansate în Android
- Locație și hărți
- Utilizarea Google Maps API pentru afișarea hărților și locației utilizatorului
- Accesarea datelor GPS și gestionarea geolocației
- Camera și media
- Utilizarea CameraX pentru a captura fotografii și a gestiona permisiunile camerei
- Afișarea imaginilor și gestionarea stocării media
- Locație și hărți
- Funcționalități avansate în React Native
- Hărți în React Native
- Integrarea hărților folosind
react-native-maps - Gestionarea serviciilor bazate pe locație (geolocație, trasarea rutelor)
- Integrarea hărților folosind
- Accesul la cameră și media
- Utilizarea bibliotecii React Native Camera pentru a captura fotografii
- Accesarea stocării media a dispozitivului și gestionarea fișierelor
- Hărți în React Native
Săptămâna 11: Depanare și testare
- Depanare și testare în iOS
- Utilizarea debugger-ului Xcode
- Setarea de breakpoints și inspectarea variabilelor în Xcode
- Utilizarea consolei pentru depanare în timp real
- Probleme comune de depanare și cum să le rezolvi
- Testarea unitară în iOS
- Scrierea și rularea testelor unitare folosind framework-ul XCTest
- Mocking obiectelor și testarea componentelor de interfață
- Utilizarea debugger-ului Xcode
- Depanare și testare în Android
- Utilizarea Logcat în Android Studio
- Înregistrarea și analizarea erorilor folosind Logcat
- Depanarea aplicațiilor Android cu breakpoints
- Testarea unitară în Android
- Scrierea testelor unitare folosind JUnit
- Testarea componentelor de interfață Android cu Espresso
- Utilizarea Logcat în Android Studio
- Depanare și testare în React Native
- Instrumente de depanare în React Native
- Utilizarea Chrome DevTools și React Native Debugger pentru depanare în timp real
- Console logs și inspectarea cererilor de rețea
- Testarea unitară în React Native
- Scrierea testelor unitare folosind Jest și Enzyme
- Testarea componentelor React Native și gestionarea cazurilor de test
- Instrumente de depanare în React Native
Săptămâna 12: Lansarea aplicațiilor și proiectul Capstone
- Lansare și distribuție
- Înregistrarea pe App Store pentru iOS
- Pregătirea aplicației pentru distribuție (icoane, certificate, profile de provisioning)
- Utilizarea App Store Connect pentru a trimite aplicația pentru revizuire
- Utilizarea TestFlight pentru testarea beta
- Înregistrarea pe Play Store pentru Android
- Pregătirea APK și semnarea aplicației pentru distribuție
- Utilizarea Google Play Console pentru trimiterea și urmărirea aplicației
- Înțelegerea politicilor și ghidurilor Play Store
- Înregistrarea pe App Store pentru iOS
- Dezvoltarea proiectului Capstone
- Dezvoltarea finală a proiectului
- Construirea unei aplicații complet funcționale la alegerea ta
- Încorporarea funcționalităților avansate cum ar fi apeluri API, navigare, media și locație
- Prezentarea și demo-ul aplicației finale colegilor și instructorilor
- Dezvoltarea finală a proiectului
Rezumat și următorii pași
Cerințe
- Înțelegere de bază a conceptelor de programare
- Cunoștințe de bază despre JavaScript
Publicul țintă
- Dezvoltatori mobili
- Programatori
Mărturii (4)
Totul este în regulă.
Adrian Rybka - SEOyon
Curs - Flutter Development Bootcamp with Dart
Tradus de catre o masina
Informații suplimentare foarte utile
Grzegorz - Comp S.A.
Curs - BLoC Pattern
Tradus de catre o masina
Dezvoltarea aplicației de autentificare a utilizatorului și a activității kahoot (m-am asigurat personal că absorb lecțiile de instruire :) și e distractiv!)
Jhoanne - Pag-IBIG Fund
Curs - .NET MAUI Fundamentals
Tradus de catre o masina
Cunoașterea și răbdarea sa.
Chrisna - Agricatural Research Council
Curs - Ionic 4 and Angular for Developers
Tradus de catre o masina