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
 420 Ore

Numărul de participanți


Pret per participant

Mărturii (5)

Cursuri viitoare

Categorii înrudite