Schița de curs
Introducere
Săptămâna 1: Introducere în Mobile Development
- Ecosistemul și tendințele aplicațiilor mobile
- Introducere în peisajul aplicațiilor mobile (iOS și Android)
- Diferențe între aplicațiile native, hibride și multiplatformă
- Prezentare generală a fluxului de lucru și a instrumentelor de dezvoltare a aplicațiilor mobile
- Dezvoltarea nativă vs. dezvoltarea multiplatformă
- Diferențe esențiale între dezvoltarea de aplicații pentru o singură platformă (nativă) și pentru mai multe platforme (multiplatformă)
- Avantaje și dezavantaje ale fiecărei abordări
- Prezentare generală a platformelor native comune (iOS, Android) și a instrumentelor multiplatformă (React Native, Flutter)
- Introducere în JavaScript Programming
- Sintaxa și structura de bază a JavaScript
- Variabile, constante și tipuri de date (număr, șir de caractere, boolean, obiect)
- Operatori și expresii
- Fluxul de control:
if
,else
,switch
- Introducere în funcții și domeniul de aplicare (domeniu global vs domeniu local)
- Configurarea Xcode pentru dezvoltare iOS
- Introducere în Xcode IDE: interfață, instrumente și flux de lucru
- Instalarea Xcode și rularea simulatorului iOS
- Introducere în limbajul de programare Swift
- Scrierea unei aplicații Swift de bază și rularea acesteia pe simulatorul iOS
- Configurarea Android Studio pentru dezvoltarea Android
- Instalarea Android Studio și configurarea mediului
- Configurarea și utilizarea emulatorului Android
- Introducere în limbajul de programare Kotlin și sintaxa de bază
- Scrierea unei aplicații Kotlin de bază și rularea acesteia pe emulatorul Android
- Configurarea mediului de dezvoltare nativ React
- Instalarea Node.js și React CLI nativ
- Introducere în Expo și crearea unui proiect cu Expo
- Rularea unei aplicații simple "Hello World" pe ambele emulatoare iOS și Android
Săptămâna 2: Bazele iOS și Android
- Introducere în Swift și Xcode IDE
- Variabile și tipuri de date în Swift (Int, Float, String, Bool, etc.)
- Constante cu
let
și variabile cuvar
- Instrucțiuni de flux de control
(if
,switch
, bucle) - Funcții și parametri în Swift
- Gestionarea erorilor în Swift
- Proiectarea interfeței cu utilizatorul în iOS
- Introducere în storyboard-uri și Xcode Interface Builder
- Proiectarea layout-urilor aplicațiilor utilizând Auto Layout și constrângerile
- Adăugarea componentelor interfeței utilizator: butoane, etichete, câmpuri text, imagini
- Gestionarea interacțiunilor cu utilizatorul și a evenimentelor (de exemplu, clicuri pe butoane)
- Construirea unui formular simplu de autentificare și validarea datelor introduse de utilizator
- Introducere în Kotlin și Android Studio IDE
- Sintaxa de bază Kotlin (variabile, tipuri de date și funcții)
- Înțelegerea siguranței null și a claselor de date din Kotlin
- Introducere în arhitectura și componentele aplicației Android (Activities, Fragments)
- Gestionarea ciclului de viață al activității în aplicațiile Android
- Proiectarea interfeței cu utilizatorul în Android
- Proiectarea interfețelor utilizator Android cu ajutorul fișierelor XML layout
- Lucrul cu managerii de aspect (LinearLayout, RelativeLayout, ConstraintLayout)
- Adăugarea de componente interactive (butoane, vizualizări de text, texte de editare)
- Utilizarea Java/Kotlin pentru a gestiona intrarea utilizatorului și tranzițiile de activitate
- Construirea unui formular de autentificare cu validarea intrărilor
- Depanare de bază în Xcode și Android Studio
- Cum să utilizați punctele de întrerupere, jurnalele și consola de depanare
- Instrumente și tehnici comune de depanare pentru iOS (instrumente Xcode, simulator)
- Instrumente comune de depanare pentru Android (Logcat, Android Debug Bridge)
- Testarea și rularea aplicațiilor pe dispozitive reale
- Conectarea dispozitivelor fizice la Xcode și Android Studio
- Implementarea aplicațiilor pe dispozitive fizice (iPhone și telefoane Android)
- Simularea diferitelor condiții de rețea, niveluri ale bateriei și măsurători de performanță
Săptămâna 3: Dezvoltare multiplatformă cu React Native
- Introducere în React Native și JavaScript for Mobile
- Ce este React Native și de ce să îl utilizați?
- Prezentare generală a modului în care React Native transformă JavaScript în cod nativ
- Sintaxa JSX: Scrierea structurilor asemănătoare HTMLîn JavaScript
- Componente React: Componente funcționale vs. componente bazate pe clase
- State și Props: Gestionarea fluxului de date în cadrul componentelor React native
- Stilizarea în React Native
- Introducere în Flexbox și importanța sa în designul layout-urilor
- Crearea layout-urilor receptive atât pentru iOS, cât și pentru Android
- Aplicarea stilului specific platformei utilizând modulul
Platformă
din React Native
- React Navigație pentru aplicații multiplatformă
- Introducere în React Navigation și containerele de navigare
- Crearea navigației cu stivă pentru tranzițiile de ecran
- Implementarea navigării prin taburi și sertare pentru aplicații mai complexe
- Transmiterea datelor între ecrane și gestionarea stărilor de navigare
- AccessUtilizarea caracteristicilor dispozitivelor native
- Utilizarea caracteristicilor dispozitivului, cum ar fi camera și locația în React Native
- Integrarea API-urilor precum Geolocation, Camera și AsyncStorage
- Gestionarea permisiunilor pentru accesarea hardware-ului dispozitivului (diferențe între iOS și Android)
- Stocarea datelor local cu AsyncStorage și integrarea bibliotecilor terțe pentru persistență
- Pregătirea aplicațiilor pentru implementare
- Configurarea setărilor aplicațiilor pentru producție în Xcode și Android Studio
- Crearea APK-urilor pentru Android și testarea pe dispozitive reale
- Pregătirea iOS aplicații pentru prezentarea în App Store (pictograme ale aplicației, certificate de semnare)
- Finalizarea a React proiecte native pentru implementarea în producție pe ambele platforme
- Prezentarea proiectului final
- Prezentarea în fața clasei a React aplicații native pentru toate platformele
- Colectarea feedback-ului și discutarea îmbunătățirilor potențiale
- Sesiunea finală de întrebări și răspunsuri și observațiile finale
Rezumat și pași următori
Cerințe
- Înțelegerea de bază a conceptelor de programare
Audiență
- Dezvoltatori de telefoane 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