Schița de curs
Introducere
Săptămâna 1: Prezentare generală a Mobile Development
- Ecosistemul și platformele mobile
- Prezentare generală a sistemelor de operare mobile (iOS și Android)
- Principalele diferențe dintre iOS, Android și dezvoltarea multiplatformă
- Magazine de aplicații populare (Apple App Store, Google Play Store)
- Introducere în dezvoltarea nativă, hibridă și multiplatformă
- Nativ vs hibrid vs multiplatformă
- 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 transpune codul pe platformele mobile (JavaScript către codul nativ în React Native)
- Programming Noțiuni fundamentale
- Introducere în conceptele de programare (variabile, tipuri de date, funcții, flux de control)
- Compararea sintaxei Swift, Kotlin și JavaScript
- Scrierea de programe simple folosind Swift, Kotlin și JavaScript
- Configurarea mediilor de dezvoltare
- Instalarea Xcode și Android Studio
- Configurarea React Native CLI și Expo
- Rularea aplicațiilor de bază "Hello World" pe simulatoare și emulatoare
Săptămâna 2: Introducere în Swift, Kotlin și JavaScript
- Swift Programming pentru iOS
- Variabile, constante și tipuri de date în Swift
- Instrucțiuni privind fluxul de control
(if
,switch
, bucle) - Funcții și parametri în Swift
- Introducere în interfața Xcode și Swift Playgrounds
- Kotlin Programming pentru Android
- Variabile, tipuri de date și funcții în Kotlin
- Înțelegerea siguranței null din Kotlin
- Fluxul de control și structurile buclelor
- Introducere în interfața Android Studio și Kotlin Playground
- JavaScript pentru React nativ
- Variabilele, constantele și fluxul de control în JavaScript
- Caracteristici ES6: funcții săgeată, literale șablon și destructurare
- Scrierea și rularea programelor JavaScript de bază în React Native utilizând Expo
Săptămâna 3: iOS Proiectarea interfeței utilizator
- UI Elements în iOS
- Introducere în UIKit și SwiftUI
- Adăugarea și personalizarea elementelor de interfață, cum ar fi butoanele, etichetele și câmpurile text
- Utilizarea Interface Builder pentru proiectarea interfeței de utilizator
- Lucrul cu Storyboard-uri și proiectarea de interfețe utilizator pe mai multe ecrane
- Auto Layout și constrângeri
- Înțelegerea sistemului Auto Layout
- Utilizarea constrângerilor pentru layout-uri receptive pe diferite dimensiuni de ecran
- Crearea de vizualizări stivuite și ajustarea dinamică a elementelor de interfață de utilizator
- SwiftBazele IU
- Introducere în proiectarea declarativă a IU în SwiftUI
- Construirea de componente simple ale interfeței de utilizator utilizând SwiftUI
Săptămâna 4: Android Proiectarea interfeței utilizator
- XML Layouts în Android
- Introducere în proiectarea layout-urilor pe baza XML-ului
- Lucrul cu layout-uri comune: LinearLayout, RelativeLayout, ConstraintLayout
- Adăugarea și personalizarea elementelor UI: butoane, vizualizări text, vizualizări imagine
- Utilizarea ConstraintLayout pentru layout-uri receptive și dinamice
- Design material
- Integrarea principiilor Material Design (culori, pictograme, tipografie)
- Utilizarea componentelor Material (butoane, butoane de acțiune plutitoare, carduri)
- Implementarea de teme și stiluri pentru aplicațiile Android
Săptămâna 5: React Design nativ al interfeței cu utilizatorul
- React Layout Flexbox nativ
- Înțelegerea Flexbox pentru proiectarea layout-urilor receptive
- Crearea layout-urilor bazate pe coloane și rânduri
- Stilizarea componentelor UI cu proprietăți Flexbox (justifyContent, alignItems etc.)
- React Componente native
- Lucrul cu componente de bază precum
Text
,View
,TextInput
șiButton
- Crearea de elemente interactive de interfață, cum ar fi formularele și butoanele
- Utilizarea componentei
ScrollView
pentru conținut dinamic
- Lucrul cu componente de bază precum
Săptămâna 6: Manipularea datelor în iOS și Android
- iOS Manipularea datelor
- Utilizarea UserDefaults pentru persistența datelor simple
- Introducere în Core Data pentru stocarea locală a datelor complexe
- Obținerea de date de la API-uri utilizând URLSession
- Parsarea datelor JSON și afișarea lor în interfața utilizator
- Android Gestionarea datelor
- Utilizarea SharedPreferences pentru stocarea unor cantități mici de date
- Introducere în SQLite și Room Persistence Library pentru gestionarea bazelor de date
- Obținerea de date din API-uri utilizând Retrofit
- Parsarea JSON și gestionarea răspunsurilor API
Săptămâna 7: React Stare nativă Management și API-uri
- State și Props în React Native
- Gestionarea fluxului de date în cadrul componentelor React Native
- Utilizarea cârligului
useState
pentru gestionarea stării componentelor locale - Transmiterea datelor între componentele părinte și copil prin intermediul props-urilor
- Obținerea de date în React Native
- Utilizarea API Fetch și Axios pentru a efectua cereri HTTP
- Afișarea datelor preluate în liste (utilizând
FlatList
,SectionList
) - Persistarea datelor la nivel local utilizând AsyncStorage în React Native
Săptămâna 8: Navigarea în iOS și Android
- iOS Navigație
- Introducere în controlorii de navigare și gestionarea ecranelor multiple
- Utilizarea secvențelor pentru tranziția între controlorii de vizualizare
- Transmiterea datelor între controlorii de vizualizare
- Implementarea TabBar și NavigationBar pentru navigarea structurată
- Android Navigație
- Lucrul cu Activities și Intents pentru aplicații cu mai multe ecrane
- Transmiterea datelor între Activities utilizând Bundles
- Crearea unui sertar de navigare și a unui BottomNavigationView
- Implementarea fragmentelor pentru o navigare flexibilă în interfața de utilizator
Săptămâna 9: Navigarea în React nativ
- Bazele navigației React
- Instalarea și configurarea React Navigation
- Utilizarea Stack Navigator pentru tranzițiile de ecran
- Implementarea Tab Navigator și Drawer Navigator pentru navigarea complexă
- Transmiterea parametrilor între ecrane și gestionarea stării de navigare
Săptămâna 10: Funcții avansate
- iOS Caracteristici avansate:
- Core location și hărți
- Access localizarea dispozitivului cu Core Location
- Afișarea hărților utilizând MapKit
- Gestionarea geolocalizării și urmărirea locației utilizatorului
- Cameră foto și media
- Accessng camera dispozitivului și biblioteca foto
- Captarea și afișarea imaginilor cu UIImagePickerController
- Stocarea și extragerea fișierelor media
- Core location și hărți
- Android Caracteristici avansate
- Locație și hărți
- Utilizarea API Google Maps pentru afișarea hărților și a locației utilizatorului
- Accessingerea datelor GPS și gestionarea geolocației
- Aparat foto și media
- Utilizarea CameraX pentru capturarea fotografiilor și gestionarea permisiunilor camerei
- Afișarea imaginilor și gestionarea stocării media
- Locație și hărți
- React Caracteristici avansate native
- React Hărți native
- Integrarea hărților utilizând
react-native-maps
- Gestionarea serviciilor bazate pe locație (geolocalizare, trasarea rutelor)
- Integrarea hărților utilizând
- Camera foto și accesul la media
- Utilizarea bibliotecii React Native Camera pentru capturarea fotografiilor
- Stocarea media pe dispozitiv Accessing și gestionarea fișierelor
- React Hărți native
Săptămâna 11: Debugging și testare
- iOS Depanare și testare
- Utilizarea depanatorului Xcode
- Setarea punctelor de întrerupere și inspectarea variabilelor în Xcode
- Utilizarea consolei pentru depanare în timp real
- Probleme comune de depanare și modul de rezolvare a acestora
- Testarea unitară în iOS
- Scrierea și rularea testelor unitare utilizând cadrul XCTest
- Simularea obiectelor și testarea componentelor interfeței utilizator
- Utilizarea depanatorului Xcode
- Android Depanare și testare
- Utilizarea Logcat în Android Studio
- Înregistrarea și analizarea erorilor utilizând Logcat
- Depanarea aplicațiilor Android cu ajutorul punctelor de întrerupere
- Testarea unitară în Android
- Scrierea testelor unitare utilizând JUnit
- Testarea componentelor Android UI cu Espresso
- Utilizarea Logcat în Android Studio
- React Depanare și testare nativă
- React Instrumente de depanare nativă
- Utilizarea Chrome DevTools și React Native Debugger pentru depanare în timp real
- Jurnalele consolei și inspectarea cererilor de rețea
- Testarea unitară în React Native
- Scrierea testelor unitare utilizând Jest și Enzyme
- Testarea componentelor React Native și gestionarea cazurilor de testare
- React Instrumente de depanare nativă
Săptămâna 12: Implementarea aplicației și proiectul Capstone
- Implementare și distribuție
- iOS Trimiterea către App Store
- Pregătirea aplicației pentru distribuție (pictograme, certificate, profiluri de furnizare)
- Utilizarea App Store Connect pentru trimiterea aplicației pentru revizuire
- Utilizarea TestFlight pentru testarea beta
- Android Trimiterea către Play Store
- Pregătirea APK și semnarea aplicației pentru distribuție
- Utilizarea Google Play Console pentru trimiterea și urmărirea aplicațiilor
- Înțelegerea politicilor și orientărilor Play Store
- iOS Trimiterea către App Store
- Dezvoltarea proiectului Capstone
- Dezvoltarea proiectului final
- Crearea unei aplicații complet funcționale la alegerea dvs.
- Încorporarea unor caracteristici avansate precum apeluri API, navigare, media și locație
- Prezentarea și demonstrarea aplicației finale colegilor și instructorilor
- Dezvoltarea proiectului final
Rezumat și pași următori
Cerințe
- Înțelegere de bază a conceptelor de programare
- Cunoștințe de bază de JavaScript
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