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
Mărturii (5)
Edward este un facilitator minunat
Zibusiso Ncube - Agricatural Research Council
Curs - Ionic 4 and Angular for Developers
Tradus de catre o masina
Partea mea preferată este întrebarea și răspunsul cu Sir. Jose. El este foarte bine informat și știe răspunsul la întrebările noastre.
John Henry - Toyota Motor Philippines
Curs - .NET MAUI (Intermediate)
Tradus de catre o masina
Poate că mai multe exerciții ar putea fi mai bune pentru învățare, dar timpul a fost prea puțin.
Gianpiero Arico' - Urmet Spa
Curs - Embedded Linux Systems Architecture
Tradus de catre o masina
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Curs - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic