Schița de curs
Introducere
Săptămâna 1: Concepte Avansate Swift, Kotlin și JavaScript
- Swift (iOS)
- Funcții avansate: Closures, capturarea valorilor, funcții de ordin superior
- Programare orientată pe protocoale și generice
- Gestionarea memoriei cu ARC (Automatic Reference Counting)
- Kotlin (Android)
- Funcții de extensie și Kotlin Standard Library
- Corutine pentru programare asincronă
- Clase sigilate, enumerări și gestionare avansată a erorilor
- JavaScript (React Native)
- Funcționalități avansate ES6+: Destructurare, async/await, promisiuni
- Concepte de programare funcțională în JavaScript
- Lucrul cu biblioteci terțe în React Native
Săptămâna 2: Arhitectura și Modele de Design pentru Aplicații Mobile
- MVVM (Model-View-ViewModel) pentru iOS și Android
- Înțelegerea arhitecturii MVVM pentru iOS (Swift) și Android (Kotlin)
- Implementarea ViewModels și observarea datelor cu LiveData (Android) și Combine (iOS)
- Programare reactivă cu RxSwift și RxKotlin
- Arhitectura Bazată pe Componente în React Native
- Înțelegerea ciclurilor de viață ale componentelor și a hook-urilor
- Bune practici pentru gestionarea stării și a proprietăților la scară mare
- Utilizarea React Context API pentru gestionarea stării globale
Săptămâna 3: Concepte Avansate de Rețea
- Rețea în iOS (Swift)
- Lucrul cu URLSession pentru cereri de rețea personalizate
- Apeluri avansate la API REST și gestionarea erorilor
- Lucrul cu Codable și parsarea JSON
- Bune practici pentru comunicarea sigură a API-urilor (SSL pinning, OAuth)
- Rețea în Android (Kotlin)
- Retrofit pentru realizarea apelurilor API și gestionarea răspunsurilor
- Gestionare avansată a erorilor API și mecanisme de reîncercare
- Utilizarea Gson sau Moshi pentru parsarea JSON
- Comunicare sigură folosind HTTPS și autentificare OAuth
Săptămâna 4: Rețea în React Native
- Integrare API cu Axios și Fetch
- Integrare avansată a API-urilor cu Axios și Fetch
- Strategii de gestionare a erorilor și reîncercări în cererile de rețea
- Lucrul cu autentificare (JWT, OAuth)
- WebSockets și Comunicare în Timp Real
- Introducere în WebSockets în React Native
- Construirea de funcționalități de chat sau notificări în timp real cu conexiuni WebSocket
- Gestionarea conexiunilor persistente și actualizări de date
Săptămâna 5: Tehnici Avansate de Persistență a Datelor
- Core Data și SQLite (iOS)
- Relații avansate în Core Data, interogări și extragere de date
- Utilizarea directă a SQLite pentru aplicații iOS și gestionarea conexiunilor la baza de date
- Gestionare eficientă a datelor și optimizare
- Room Persistence și SQLite (Android)
- Relații avansate în baze de date Room și interogări
- Gestionarea seturilor mari de date și optimizarea performanței bazei de date
- Utilizarea ProGuard pentru securizarea structurilor bazei de date
- Firebase pentru Stocare în Cloud (iOS și Android)
- Integrare cu Firebase pentru gestionarea bazei de date în timp real
- Bune practici pentru sincronizarea datelor locale și în cloud
Săptămâna 6: Gestionarea Avansată a Stării în React Native
- Redux pentru Gestionarea Stării
- Concepte avansate Redux: Middleware-uri, Thunks și Sagas
- Optimizarea Redux pentru performanță și scalabilitate
- Recoil pentru Gestionarea Stării
- Introducere în Recoil: O alternativă mai flexibilă la Redux
- Gestionarea stării la scară mare între componente
- Actualizări eficiente ale stării și gestionare atomică a stării
Săptămâna 7: Animații Avansate în iOS și Android
- iOS (Swift)
- Core Animation: Animații pentru view-uri, straturi și tranziții
- UIKit Dynamics: Crearea de animații bazate pe fizică
- Tranziții și animații personalizate între view controllers
- Android (Kotlin)
- MotionLayout pentru crearea de animații complexe
- TransitionManager și tranziții de elemente partajate
- Animații de proprietate pentru scalare, rotație și modificări de opacitate
Săptămâna 8: Animații și UI/UX în React Native
- Animații în React Native
- Utilizarea Animated API și Reanimated pentru animații complexe
- Implementarea gesturilor și interacțiunilor folosind React Native Gesture Handler
- Bune practici pentru animații performante în React Native
- Crearea de Componente UI Personalizate
- Construirea de componente reutilizabile și personalizabile în React Native
- Implementarea de designuri responsive cu media queries și flexbox
Săptămâna 9: Integrarea Modulelor Native și Funcționalitățile Dispozitivului
- Accesarea Funcționalităților Native ale Dispozitivului
- Utilizare avansată a camerei, geolocalizării, Bluetooth și senzorilor
- Crearea de module native în Swift și Kotlin pentru integrare în React Native
- Integrarea ARKit pentru realitate augmentată în iOS
- Integrarea CameraX și ARCore pentru realitate augmentată în Android
- React Native Bridge și Module Native
- Construirea de module native personalizate pentru integrarea cu funcționalități specifice platformei
- Crearea de poduri Java și Swift pentru aplicații React Native
- Bune practici pentru gestionarea codului native într-un mediu cross-platform
Săptămâna 10: Testarea și Depanarea Aplicațiilor Avansate
- Testare în iOS (Swift)
- Scrierea de teste unitare cu XCTest și teste UI pentru iOS
- Utilizarea Xcode Instruments pentru profilarea performanței și scurgerile de memorie
- Integrare continuă și fluxuri de lucru de testare cu Jenkins și CircleCI
- Testare în Android (Kotlin)
- Testare avansată JUnit și Espresso pentru aplicații Android
- Profilarea performanței și identificarea punctelor de blocaj folosind Android Profiler
- Utilizarea Firebase Test Lab pentru testare automată pe mai multe dispozitive
- Testare în React Native
- Testare unitară cu Jest și testare de componente cu Enzyme
- Testare end-to-end folosind Detox și setări de teste automate
- Profilarea performanței folosind React Native Debugger și Flipper
Săptămâna 11: Implementarea Aplicațiilor și Integrare Continuă
- Implementare pe App Store (iOS)
- Pregătirea aplicației pentru trimitere: certificate App Store, profile de provisioning și testare beta cu TestFlight
- Utilizarea Fastlane pentru automatizarea implementării aplicațiilor iOS
- Gestionarea App Store Connect și setarea proceselor de revizuire a aplicațiilor
- Implementare pe Google Play (Android)
- Pregătirea APK-ului și semnarea acestuia pentru trimiterea pe Google Play
- Automatizarea implementării aplicațiilor Android cu Fastlane și Gradle
- Utilizarea Google Play Console pentru revizuirea aplicațiilor și testare beta
- Configurarea Pipeline-urilor CI/CD
- Configurarea Jenkins, GitHub Actions sau CircleCI pentru pipeline-uri automate de build și implementare
- Utilizarea Fastlane atât pentru iOS, cât și pentru fluxuri de lucru CI/CD Android
- Bune practici pentru gestionarea versiunilor, numerelor de build și canalelor de lansare
Săptămâna 12: Proiect Capstone
- Dezvoltarea Proiectului Final
- Proiectarea și dezvoltarea unei aplicații complet funcționale care să încorporeze funcționalități avansate învățate pe parcursul cursului.
- Implementarea de interfețe UI/UX personalizate, animații avansate, gestionare a stării, integrare de module native și comunicare în timp real cu API-uri.
- Optimizarea aplicației pentru performanță și implementarea acesteia pe App Store și Google Play.
Rezumat și Pași Următori
Cerințe
- Înțelegere solidă a conceptelor de programare, în special în Swift, Kotlin și JavaScript
- Experiență anterioară în construirea de aplicații de bază iOS, Android sau React Native
- Cunoașterea modelelor de design precum MVC sau MVVM și experiență cu gestionarea de bază a stării
Publicul țintă
- Dezvoltatori de aplicații 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