Schița de curs

Introducere

Săptămâna 1: Concepte avansate de script Swift, Kotlin și Java

  • Swift (iOS)
    • Funcții avansate: Închideri, captarea valorilor, funcții de ordin superior
    • Programare orientată pe protocol și generice
    • Gestionarea memoriei cu ARC (Automatic Reference Counting)
  • Kotlin (Android)
    • Funcții de extensie și Kotlin Biblioteca standard
    • Coroutine pentru programare asincronă
    • Clase sigilate, enum-uri și gestionarea avansată a erorilor
  • Java Script (React Nativ)
    • Caracteristici 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 Design Patterns

  • 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)
    • Programarea Reactive cu RxSwift și RxKotlin
  • Arhitectura bazată pe componente în React Native
    • Înțelegerea ciclurilor de viață ale componentelor și a cârligelor
    • Cele mai bune practici pentru gestionarea stării și props-urilor la scară largă
    • Utilizarea React Context API pentru gestionarea globală a stării

Săptămâna 3: Concepte Networking avansate

  • Networking în iOS (Swift)
    • Lucrul cu URLSession pentru cereri de rețea personalizate
    • Apeluri API REST avansate și gestionarea erorilor
    • Lucrul cu Codable și analiza JSON
    • Cele mai bune practici pentru comunicarea API securizată (SSL pinning, OAuth)
  • Networking în Android (Kotlin)
    • Retrofit pentru efectuarea apelurilor API și gestionarea răspunsurilor
    • Mecanisme avansate de gestionare a erorilor API și de reintroducere
    • Utilizarea Gson sau Moshi pentru analiza JSON
    • Comunicarea securizată utilizând HTTPS și autentificarea OAuth

Săptămâna 4: Networking în React Nativ

  • Integrarea API cu Axios și Fetch
    • Integrarea avansată a API cu Axios și Fetch
    • Strategii de gestionare a erorilor și reintrări în solicitările de rețea
    • Lucrul cu autentificarea (JWT, OAuth)
  • WebSockets și Real-Time Communication
    • Introducere în WebSockets în React Native
    • Crearea de funcții de chat sau notificare în timp real cu conexiuni WebSocket
    • Gestionarea conexiunilor persistente și a actualizărilor de date

Săptămâna 5: Tehnici avansate de persistență a datelor

  • Core Data și SQLite (iOS)
    • Relații, preluare și interogări avansate Core Data
    • Utilizarea SQLite direct pentru aplicațiile iOS și gestionarea conexiunilor la bazele de date
    • Gestionarea și optimizarea eficientă a datelor
  • Persistența camerei și SQLite (Android)
    • Relații și interogări avansate în baza de date Room
    • Gestionarea seturilor mari de date și optimizarea performanței bazei de date
    • Utilizarea ProGuard pentru securizarea structurilor bazelor de date
  • Firebase pentru stocarea în cloud (iOS și Android)
    • Integrarea cu Firebase pentru gestionarea bazelor de date în timp real
    • Cele mai bune practici pentru sincronizarea datelor locale și din cloud

Săptămâna 6: Stare avansată Management în React Nativ

  • Redux pentru starea Management
    • Concepte avansate Redux: Middlewares, Thunks și Sagas
    • Optimizarea Redux pentru performanță și scalabilitate
  • Recoil pentru State Management
    • Introducere în Recoil: O alternativă mai flexibilă la Redux
    • Gestionarea la scară largă a stării între componente
    • Actualizări eficiente ale stării și gestionarea atomică a stării

Săptămâna 7: Animations avansate în iOS și Android

  • iOS (Swift)
    • Core Animation: Animarea vizualizărilor, straturilor și tranzițiilor
    • UIKit Dynamics: Crearea de animații bazate pe fizică
    • Tranziții și animații personalizate între controlorii de vizualizare
  • Android (Kotlin)
    • MotionLayout pentru crearea de animații complexe
    • TransitionManager și tranziții partajate ale elementelor
    • Animații ale proprietăților pentru scalarea, rotația și modificările alfa ale vizualizării

Săptămâna 8: Animations și UI/UX în React Native

  • React Nativ Animations
    • Utilizarea API Animated și Reanimated pentru animații complexe
    • Implementarea gesturilor și interacțiunilor utilizând React Native Gesture Handler
    • Cele mai bune practici pentru animații performante în React Native
  • Crearea de componente UI personalizate
    • Crearea de componente reutilizabile și personalizabile în React Native
    • Implementarea modelelor receptive cu media queries și flexbox

Săptămâna 9: Integrarea modulelor native și a caracteristicilor dispozitivelor

  • Access Integrarea caracteristicilor dispozitivelor native
    • Utilizarea avansată a camerei, geolocalizării, Bluetooth și senzorilor
    • Crearea de module native în Swift și Kotlin pentru integrarea React nativă
    • Integrarea ARKit pentru realitate augmentată în iOS
    • Integrarea CameraX și ARCore pentru realitate augmentată în Android
  • React Pod nativ și module native
    • Crearea de module native personalizate pentru integrarea cu funcționalități specifice platformei
    • Crearea de poduri Java și Swift pentru aplicațiile React native
    • Cele mai bune practici pentru gestionarea codului nativ într-un mediu multiplatformă

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
    • Utilizarea Xcode Instruments pentru profilarea performanței și scurgeri de memorie
    • Integrare continuă și fluxuri de lucru de testare cu Jenkins și CircleCI
  • Testarea în Android (Kotlin)
    • Testarea avansată JUnit și Espresso pentru aplicațiile Android
    • Profilarea performanței și identificarea blocajelor utilizând Android Profiler
    • Utilizarea Firebase Test Lab pentru testarea automată pe mai multe dispozitive
  • Testarea nativă React
    • Testarea unitară cu Jest și testarea componentelor cu Enzyme
    • Testarea end-to-end utilizând Detox și setări automate de testare
    • Profilarea performanței utilizând React Native Debugger și Flipper

Săptămâna 11: Implementarea aplicațiilor și integrarea continuă

  • Implementarea în App Store (iOS)
    • Pregătirea aplicației pentru depunere: Certificate App Store, profiluri de furnizare și testarea beta TestFlight
    • Utilizarea Fastlane pentru automatizarea implementării aplicațiilor iOS
    • Gestionarea App Store Connect și configurarea proceselor de revizuire a aplicațiilor
  • Implementare Google Play (Android)
    • Pregătirea APK-ului și semnarea acestuia pentru prezentarea în Google Play
    • Automatizarea implementării aplicațiilor Android cu Fastlane și Gradle
    • Utilizarea Google Play Console pentru revizuirea aplicațiilor și testarea beta
  • Configurarea conductelor CI/CD
    • Configurarea Jenkins, GitHub Actions sau CircleCI pentru conducte automate de construire și implementare
    • Utilizarea Fastlane atât pentru iOS, cât și pentru Android fluxuri de lucru CI/CD
    • Cele mai bune practici pentru gestionarea versiunilor, a numerelor de compilare și a canalelor de lansare

Săptămâna 12: Proiectul final

  • Dezvoltarea proiectului final
    • Proiectați și dezvoltați o aplicație complet funcțională care încorporează caracteristici avansate învățate pe parcursul cursului.
    • Implementați UI/UX personalizate, animații avansate, gestionarea stării, integrarea modulelor native și comunicarea API în timp real.
    • Optimizați aplicația pentru performanță și implementați-o în 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 crearea de aplicații de bază iOS, Android sau React Native
  • Cunoașterea modelelor de design precum MVC sau MVVM și experiență în gestionarea de bază a stării

Audiență

  • Dezvoltatori de aplicații mobile
  • Programatori
 420 ore

Numărul de participanți


Pret per participant

Mărturii (5)

Upcoming Courses

Categorii înrudite