Schița de curs
Introducere
Săptămâna 1: Concepte Avansate Swift, Kotlin și JavaScript
- Swift (iOS)
- Funcții avansate: Închideri, capturare de valori, funcții de ordin înalt
- 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 Aplicațiilor Mobile și Modele de Design
- 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 props-urilor la scară mare
- Folosirea React Context API pentru gestionarea globală a stării
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-uri 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 efectuarea de apeluri API și gestionarea răspunsurilor
- Gestionare avansată a erorilor API și mecanisme de reîncercare
- Folosirea 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ții 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 preluări
- Folosirea directă a SQLite pentru aplicații iOS și gestionarea conexiunilor la baze de date
- Gestionarea 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
- Folosirea ProGuard pentru securizarea structurilor de date
- Firebase pentru Stocare în Cloud (iOS și Android)
- Integrare cu Firebase pentru gestionarea bazelor de date în timp real
- Bune practici pentru sincronizarea datelor locale și din cloud
Săptămâna 6: Gestionare Avansată a Stării în React Native
- Redux pentru Gestionarea Stării
- Concepte avansate Redux: Middlewares, 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 pe 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 vizualizări, straturi și tranziții
- UIKit Dynamics: Crearea de animații bazate pe fizică
- Tranziții și animații personalizate între controlere de vizualizare
- 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 transparență
Săptămâna 8: Animații și UI/UX în React Native
- Animații în React Native
- Folosirea 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ăților Dispozitivelor
- Accesarea Funcționalităților Native ale Dispozitivelor
- Folosirea avansată a camerei, geolocației, 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 punți 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
- Testarea în iOS (Swift)
- Scrierea de teste unitare cu XCTest și teste UI pentru iOS
- Folosirea Xcode Instruments pentru profilarea performanței și detectarea scurgerilor de memorie
- Integrare continuă și fluxuri de testare cu Jenkins și CircleCI
- Testarea în Android (Kotlin)
- Teste JUnit și Espresso avansate pentru aplicații Android
- Profilarea performanței și identificarea punctelor de blocare folosind Android Profiler
- Folosirea Firebase Test Lab pentru testarea automată pe mai multe dispozitive
- Testarea React Native
- Teste unitare cu Jest și teste de componente cu Enzyme
- Testare end-to-end folosind Detox și setări automate de teste
- Profilarea performanței folosind React Native Debugger și Flipper
Săptămâna 11: Lansarea Aplicațiilor și Integrare Continuă
- Lansare pe App Store (iOS)
- Pregătirea aplicației pentru trimitere: certificate App Store, profile de provisioning și testare beta cu TestFlight
- Folosirea Fastlane pentru automatizarea lansării aplicațiilor iOS
- Gestionarea App Store Connect și setarea proceselor de revizuire a aplicațiilor
- Lansare pe Google Play (Android)
- Pregătirea APK-ului și semnarea acestuia pentru trimiterea pe Google Play
- Automatizarea lansării aplicațiilor Android cu Fastlane și Gradle
- Folosirea Google Play Console pentru revizuirea aplicațiilor și testarea beta
- Setarea Pipeline-urilor CI/CD
- Configurarea Jenkins, GitHub Actions sau CircleCI pentru fluxuri automate de construcție și lansare
- Folosirea Fastlane pentru fluxuri de lucru CI/CD atât pentru iOS cât și pentru Android
- Bune practici pentru gestionarea versiunilor, numerelor de build și canalelor de lansare
Săptămâna 12: Proiect Capstone
- Dezvoltarea Proiectului Final
- Proiectează și dezvoltă o aplicație complet funcțională care să includă funcționalități avansate învățate pe parcursul cursului.
- Implementează interfețe UI/UX personalizate, animații avansate, gestionarea stării, integrarea modulelor native și comunicare API în timp real.
- Optimizează aplicația pentru performanță și lansează-o 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
- Cunoștințe despre modele 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 (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