Schița de curs

Introducere

Săptămâna 1: Prezentare generală a dezvoltării mobile

  • Ecosistemul și platformele mobile
    • Prezentare generală a sistemelor de operare mobile (iOS și Android)
    • Diferențe cheie între dezvoltarea iOS, Android și cross-platform
    • Magazine de aplicații populare (Apple App Store, Google Play Store)
    • Introducere în dezvoltarea nativă, hibridă și cross-platform
  • Nativă vs Hibridă vs Cross-Platform
    • Avantaje și provocări ale fiecărei metode de dezvoltare
    • Prezentare generală a Swift (pentru iOS), Kotlin (pentru Android) și React Native (cross-platform)
    • Cum se traduce codul în platforme mobile (JavaScript în cod nativ în React Native)
  • Fundamentele programării
    • Introducere în conceptele de programare (variabile, tipuri de date, funcții, flux de control)
    • Comparație a sintaxei Swift, Kotlin și JavaScript
    • Scrierea unor programe simple folosind Swift, Kotlin și JavaScript
  • Configurarea mediilor de dezvoltare
    • Instalarea Xcode și Android Studio
    • Configurarea React Native CLI și Expo
    • Rularea unor aplicații de bază "Hello World" pe simulatoare și emulatoare

Săptămâna 2: Introducere în Swift, Kotlin și JavaScript

  • Programare Swift pentru iOS
    • Variabile, constante și tipuri de date în Swift
    • Instrucțiuni de control (if, switch, bucle)
    • Funcții și parametri în Swift
    • Introducere în interfața Xcode și Swift Playgrounds
  • Programare Kotlin pentru Android
    • Variabile, tipuri de date și funcții în Kotlin
    • Înțelegerea siguranței nulului în Kotlin
    • Structuri de control și bucle
    • Introducere în interfața Android Studio și Kotlin Playground
  • JavaScript pentru React Native
    • Variabile, constante și controlul fluxului în JavaScript
    • Caracteristici ES6: funcții săgeți, șabloane literale și destructuring
    • Scrierea și rularea unor programe de bază în JavaScript în React Native folosind Expo

Săptămâna 3: Proiectarea interfeței utilizator în iOS

  • Elemente de interfață în iOS
    • Introducere în UIKit și SwiftUI
    • Adăugarea și personalizarea elementelor de interfață precum butoane, etichete și câmpuri de text
    • Utilizarea Interface Builder pentru proiectarea interfețelor
    • Lucrul cu Storyboards și proiectarea interfețelor pe mai multe ecrane
  • Auto Layout și constrângeri
    • Înțelegerea sistemului Auto Layout
    • Utilizarea constrângerilor pentru layouturi responsive pe diferite dimensiuni de ecran
    • Crearea de stack views și ajustarea dinamică a elementelor de interfață
  • Bazele SwiftUI
    • Introducere în proiectarea declarativă a interfețelor în SwiftUI
    • Construirea unor componente de interfață simple folosind SwiftUI

Săptămâna 4: Proiectarea interfeței utilizator în Android

  • Layouturi XML în Android
    • Introducere în proiectarea bazată pe XML
    • Lucrul cu layouturi comune: LinearLayout, RelativeLayout, ConstraintLayout
    • Adăugarea și personalizarea elementelor de interfață: butoane, text views, image views
    • Utilizarea ConstraintLayout pentru layouturi responsive și dinamice
  • Material Design
    • Integrarea principiilor Material Design (culori, icoane, tipografie)
    • Utilizarea componentelor Material (butoane, butoane de acțiune plutitoare, carduri)
    • Implementarea temelor și stilurilor pentru aplicații Android

Săptămâna 5: Proiectarea interfeței utilizator în React Native

  • Layout Flexbox în React Native
    • Înțelegerea Flexbox pentru proiectarea de layouturi responsive
    • Crearea de layouturi bazate pe coloane și rânduri
    • Stilizarea componentelor de interfață cu proprietăți Flexbox (justifyContent, alignItems, etc.)
  • Componente React Native
    • Lucrul cu componente de bază precum Text, View, TextInput și Button
    • Crearea de elemente de interfață interactive precum formulare și butoane
    • Utilizarea componentei ScrollView pentru conținut dinamic

Săptămâna 6: Gestionarea datelor în iOS și Android

  • Gestionarea datelor în iOS
    • Utilizarea UserDefaults pentru stocarea simplă a datelor
    • Introducere în Core Data pentru stocarea locală a datelor complexe
    • Extragerea datelor din API-uri folosind URLSession
    • Parsarea datelor JSON și afișarea lor în interfață
  • Gestionarea datelor în Android
    • Utilizarea SharedPreferences pentru stocarea unor cantități mici de date
    • Introducere în SQLite și Room Persistence Library pentru gestionarea bazelor de date
    • Extragerea datelor din API-uri folosind Retrofit
    • Parsarea JSON și gestionarea răspunsurilor API

Săptămâna 7: Gestionarea stării și API-uri în React Native

  • Stare și Props în React Native
    • Gestionarea fluxului de date în componentele React Native
    • Utilizarea hook-ului useState pentru gestionarea stării locale a componentelor
    • Transmiterea datelor între componente părinte și copil prin props
  • Extragerea datelor în React Native
    • Utilizarea Fetch API și Axios pentru a face cereri HTTP
    • Afișarea datelor extrase în liste (folosind FlatList, SectionList)
    • Stocarea locală a datelor folosind AsyncStorage în React Native

Săptămâna 8: Navigare în iOS și Android

  • Navigare în iOS
    • Introducere în controlerele de navigare și gestionarea mai multor ecrane
    • Utilizarea segues pentru tranziția între controlere de vizualizare
    • Transmiterea datelor între controlere de vizualizare
    • Implementarea TabBar și NavigationBar pentru navigare structurată
  • Navigare în Android
    • Lucrul cu Activități și Intenții pentru aplicații pe mai multe ecrane
    • Transmiterea datelor între Activități folosind Bundle-uri
    • Crearea unui Navigation Drawer și BottomNavigationView
    • Implementarea fragmentelor pentru navigare flexibilă a interfeței

Săptămâna 9: Navigare în React Native

  • Bazele React Navigation
    • Instalarea și configurarea React Navigation
    • Utilizarea Stack Navigator pentru tranziții între ecrane
    • Implementarea Tab Navigator și Drawer Navigator pentru navigare complexă
    • Transmiterea parametrilor între ecrane și gestionarea stării de navigare

Săptămâna 10: Funcționalități avansate

  • Funcționalități avansate în iOS:
    • Core location și hărți
      • Accesarea locației dispozitivului cu Core Location
      • Afisarea hărților folosind MapKit
      • Gestionarea geolocației și urmărirea locației utilizatorului
    • Camera și media
      • Accesarea camerei dispozitivului și a bibliotecii de fotografii
      • Capturarea și afișarea imaginilor cu UIImagePickerController
      • Stocarea și recuperarea fișierelor media
  • Funcționalități avansate în Android
    • Locație și hărți
      • Utilizarea API-ului Google Maps pentru afișarea hărților și locației utilizatorului
      • Accesarea datelor GPS și gestionarea geolocației
    • Camera și media
      • Utilizarea CameraX pentru a captura fotografii și a gestiona permisiunile camerei
      • Afisarea imaginilor și gestionarea stocării media
  • Funcționalități avansate în React Native
    • Hărți în React Native
      • Integrarea hărților folosind react-native-maps
      • Gestionarea serviciilor bazate pe locație (geolocație, mapare rutieră)
    • Accesul la cameră și media
      • Utilizarea bibliotecii React Native Camera pentru a captura fotografii
      • Accesarea stocării media a dispozitivului și gestionarea fișierelor

Săptămâna 11: Depanare și testare

  • Depanare și testare în iOS
    • Utilizarea debugger-ului Xcode
      • Setarea de breakpoints și inspectarea variabilelor în Xcode
      • Utilizarea consolei pentru depanare în timp real
      • Probleme comune de depanare și cum să le rezolvați
    • Testare unitară în iOS
      • Scrierea și rularea testelor unitare folosind framework-ul XCTest
      • Mocking obiectelor și testarea componentelor de interfață
  • Depanare și testare în Android
    • Utilizarea Logcat în Android Studio
      • Înregistrarea și analizarea erorilor folosind Logcat
      • Depanarea aplicațiilor Android cu breakpoints
    • Testare unitară în Android
      • Scrierea testelor unitare folosind JUnit
      • Testarea componentelor de interfață Android cu Espresso
  • Depanare și testare în React Native
    • Instrumente de depanare React Native
      • Utilizarea Chrome DevTools și React Native Debugger pentru depanare în timp real
      • Console logs și inspectarea cererilor de rețea
    • Testare unitară în React Native
      • Scrierea testelor unitare folosind Jest și Enzyme
      • Testarea componentelor React Native și gestionarea cazurilor de testare

Săptămâna 12: Implementarea aplicațiilor și proiectul capstone

  • Implementare și distribuție
    • Trimiterea aplicațiilor pe App Store
      • Pregătirea aplicației pentru distribuție (icoane, certificate, profile de provisioning)
      • Utilizarea App Store Connect pentru trimiterea aplicației pentru revizuire
      • Utilizarea TestFlight pentru testarea beta
    • Trimiterea aplicațiilor pe Play Store
      • Pregătirea APK și semnarea aplicației pentru distribuție
      • Utilizarea Google Play Console pentru trimiterea și urmărirea aplicației
      • Înțelegerea politicilor și ghidurilor Play Store
  • Dezvoltarea proiectului capstone
    • Dezvoltarea finală a proiectului
      • Construirea unei aplicații complet funcționale la alegere
      • Încorporarea funcționalităților avansate precum apeluri API, navigare, media și locație
      • Prezentarea și demonstrarea aplicației finale colegilor și instructorilor

Rezumat și următorii pași

Cerințe

  • Înțelegere de bază a conceptelor de programare
  • Cunoștințe de bază despre JavaScript

Publicul țintă

  • Dezvoltatori mobile
  • Programatori
 420 Ore

Numărul de participanți


Pret per participant

Mărturii (5)

Cursuri viitoare

Categorii înrudite