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 dezvoltarea iOS, Android și 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 a sintaxei Swift, Kotlin și JavaScript
- Scrierea unor programe simple folosind Swift, Kotlin și JavaScript
- Configurarea mediilor de dezvoltare
- Instalarea Xcode și Android Studio
- Configurarea React Native CLI și Expo
- Rularea unor aplicații de bază "Hello World" pe simulatoare și emulatoare
Săptămâna 2: Introducere în Swift, Kotlin și JavaScript
- Programare Swift pentru iOS
- Variabile, constante și tipuri de date în Swift
- Instrucțiuni de control (
if,switch, bucle) - Funcții și parametri în Swift
- Introducere în interfața Xcode și Swift Playgrounds
- Programare Kotlin pentru Android
- Variabile, tipuri de date și funcții în Kotlin
- Înțelegerea siguranței nulului în Kotlin
- Structuri de control și bucle
- Introducere în interfața Android Studio și Kotlin Playground
- JavaScript pentru React Native
- Variabile, constante și controlul fluxului în JavaScript
- Caracteristici ES6: funcții săgeți, șabloane literale și destructuring
- Scrierea și rularea unor programe de bază în JavaScript în React Native folosind Expo
Săptămâna 3: Proiectarea interfeței utilizator în iOS
- Elemente de interfață în iOS
- Introducere în UIKit și SwiftUI
- Adăugarea și personalizarea elementelor de interfață precum butoane, etichete și câmpuri de text
- Utilizarea Interface Builder pentru proiectarea interfețelor
- 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 unor componente de interfață simple folosind SwiftUI
Săptămâna 4: Proiectarea interfeței 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, butoane de acțiune plutitoare, carduri)
- Implementarea temelor și stilurilor pentru aplicații Android
Săptămâna 5: Proiectarea interfeței utilizator în React Native
- Layout Flexbox în React Native
- Înțelegerea Flexbox pentru proiectarea de layouturi 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ă precum
Text,View,TextInputșiButton - Crearea de elemente de interfață interactive precum formulare și butoane
- Utilizarea componentei
ScrollViewpentru conținut dinamic
- Lucrul cu componente de bază precum
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
- Extragerea 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
- Extragerea 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
- Extragerea datelor în React Native
- Utilizarea Fetch API și Axios pentru a face cereri HTTP
- Afișarea datelor extrase în liste (folosind
FlatList,SectionList) - Stocarea locală a datelor folosind AsyncStorage în React Native
Săptămâna 8: Navigare în iOS și Android
- Navigare în iOS
- Introducere în controlerele de navigare și gestionarea mai multor ecrane
- Utilizarea segues pentru tranziția între controlere de vizualizare
- Transmiterea datelor între controlere de vizualizare
- Implementarea TabBar și NavigationBar pentru navigare structurată
- Navigare în Android
- Lucrul cu Activități și Intenții pentru aplicații pe mai multe ecrane
- Transmiterea datelor între Activități folosind Bundle-uri
- Crearea unui Navigation Drawer și BottomNavigationView
- Implementarea fragmentelor pentru navigare flexibilă a interfeței
Săptămâna 9: Navigare î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:
- Core location și hărți
- Accesarea locației dispozitivului cu Core Location
- Afisarea 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 recuperarea fișierelor media
- Core location și hărți
- Funcționalități avansate în Android
- Locație și hărți
- Utilizarea API-ului Google Maps 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
- Afisarea 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, mapare rutieră)
- 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 rezolvați
- Testare 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
- Testare 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 React Native
- Utilizarea Chrome DevTools și React Native Debugger pentru depanare în timp real
- Console logs și inspectarea cererilor de rețea
- Testare unitară în React Native
- Scrierea testelor unitare folosind Jest și Enzyme
- Testarea componentelor React Native și gestionarea cazurilor de testare
- Instrumente de depanare React Native
Săptămâna 12: Implementarea aplicațiilor și proiectul capstone
- Implementare și distribuție
- Trimiterea aplicațiilor pe App Store
- Pregătirea aplicației pentru distribuție (icoane, certificate, profile de provisioning)
- Utilizarea App Store Connect pentru trimiterea aplicației pentru revizuire
- Utilizarea TestFlight pentru testarea beta
- Trimiterea aplicațiilor pe Play Store
- 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
- Trimiterea aplicațiilor pe App Store
- Dezvoltarea proiectului capstone
- Dezvoltarea finală a proiectului
- Construirea unei aplicații complet funcționale la alegere
- Încorporarea funcționalităților avansate precum apeluri API, navigare, media și locație
- Prezentarea și demonstrarea 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 mobile
- Programatori
Mărturii (5)
Informații suplimentare foarte utile
Grzegorz - Comp S.A.
Curs - BLoC Pattern
Tradus de catre o masina
Edward este un facilitator fantastic
Zibusiso Ncube - Agricatural Research Council
Curs - Ionic 4 and Angular for Developers
Tradus de catre o masina
Poate că mai multe exerciții ar fi fost mai bune pentru învățare, dar timpul a fost prea scurt.
Gianpiero Arico' - Urmet Spa
Curs - Embedded Linux Systems Architecture
Tradus de catre o masina
Cunoștințele lui Miguel despre subiect erau extinse. El a făcut instruirea ușor de înțeles și fluxul a fost echilibrat, adăugând la fiecare secțiune noile caracteristici după cum era necesar. El a acoperit tot ce a fost solicitat și a răspuns cu atenție la fiecare întrebare. A fost o experiență foarte plăcută.
Paul Coaton - SEMPCheck Services
Curs - Flutter Development Bootcamp with Dart
Tradus de catre o masina
Instrucționistul a fost entuziast, amabil și i-a plăcut subiectul.
Isaac Murphy - Royal New Zealand Airforce
Curs - Build Native iOS and Android Apps with Flutter
Tradus de catre o masina