Kursplan
Introduksjon
Uke 1: Avanserte Swift, Kotlin og Javaskriptkonsepter
- Swift (iOS)
- Avanserte funksjoner: Lukking, registrering av verdier, høyere ordensfunksjoner
- Protokollorientert programmering og generikk
- Minnehåndtering med ARC (automatisk referansetelling)
- Kotlin (Android)
- Utvidelsesfunksjoner og Kotlin Standardbibliotek
- Coroutines for asynkron programmering
- Forseglede klasser, enums og avansert feilhåndtering
- JavaSkript (React Native)
- Avanserte ES6+-funksjoner: Destrukturering, asynkronisering/avvent, løfter
- Funksjonelle programmeringskonsepter i JavaScript
- Arbeide med tredjepartsbiblioteker i React Native
Uke 2: Mobilapparkitektur og Design Patterns
- MVVM (Model-View-ViewModel) for iOS og Android
- Forstå MVVM-arkitektur for iOS (Swift) og Android (Kotlin)
- Implementere ViewModels og observere data med LiveData (Android) og Combine (iOS)
- Reactiv programmering med RxSwift og RxKotlin
- Komponentbasert arkitektur i React Native
- Forstå komponentlivssykluser og kroker
- Beste praksis for å administrere stat og rekvisitter i stor skala
- Bruker React Context API for global state management
Uke 3: Avansert Networking Konsepter
- Networking i iOS (Swift)
- Arbeide med URLSession for tilpassede nettverksforespørsler
- Avanserte REST API-kall og feilhåndtering
- Arbeider med Codable og JSON-parsing
- Beste fremgangsmåter for sikker API-kommunikasjon (SSL-pinning, OAuth)
- Networking i Android (Kotlin)
- Ettermontering for å foreta API-anrop og håndtere svar
- Avansert API-feilhåndtering og mekanismer for forsøk på nytt
- Bruker Gson eller Moshi for JSON-parsing
- Sikker kommunikasjon ved hjelp av HTTPS- og OAuth-autentisering
Uke 4: Networking i React Native
- API-integrasjon med Axios og Fetch
- Avansert API-integrasjon med Axios og Fetch
- Feilhåndtering av strategier og gjenforsøk i nettverksforespørsler
- Arbeide med autentisering (JWT, OAuth)
- WebSockets og sanntid Communication
- Introduksjon til WebSockets i React Native
- Bygg sanntids chat- eller varslingsfunksjoner med WebSocket-tilkoblinger
- Administrere vedvarende tilkoblinger og dataoppdateringer
Uke 5: Avanserte datapersistensteknikker
- Kjernedata og SQLite (iOS)
- Avanserte kjernedatarelasjoner, henting og spørringer
- Bruke SQLite direkte for iOS apper og administrere databasetilkoblinger
- Effektiv datahåndtering og optimalisering
- Room Persistence and SQLite (Android)
- Avanserte romdatabaserelasjoner og -spørringer
- Administrere store datasett og optimalisere databaseytelse
- Bruker ProGuard for å sikre databasestrukturer
- Firebase for Cloud Storage (iOS og Android)
- Integrasjon med Firebase for databaseadministrasjon i sanntid
- Beste praksis for synkronisering av lokale data og skydata
Uke 6: Avansert tilstand Management i React Native
- Redux for stat Management
- Avanserte Redux konsepter: Middlewares, Thunks og Sagaer
- Optimalisering Redux for ytelse og skalerbarhet
- Rekyl for staten Management
- Introduksjon til rekyl: Et mer fleksibelt alternativ til Redux
- Håndtere storskala statsadministrasjon på tvers av komponenter
- Effektive tilstandsoppdateringer og atomic state management
Uke 7: Avansert Animations i iOS og Android
- iOS (Swift)
- Kjerne Animation: Animerende visninger, lag og overganger
- UIKit Dynamics: Lage fysikkbaserte animasjoner
- Egendefinerte overganger og animasjoner mellom visningskontrollere
- Android (Kotlin)
- MotionLayout for å lage komplekse animasjoner
- TransitionManager og delte elementoverganger
- Eiendomsanimasjoner for visningsskalering, rotasjon og alfaendringer
Uke 8: Animations og UI/UX i React Native
- React Innfødte Animations
- Bruk av Animated API og Reanimated for komplekse animasjoner
- Implementering av bevegelser og interaksjoner ved hjelp av React Native Gesture Handler
- Beste fremgangsmåter for presterende animasjoner i React Native
- Opprette egendefinerte UI-komponenter
- Bygge gjenbrukbare og tilpassbare komponenter i React Native
- Implementering av responsive design med mediespørringer og flexbox
Uke 9: Integrering av opprinnelige moduler og enhetsfunksjoner
- Accessnative enhetsfunksjoner
- Avansert bruk av kamera, geolokalisering, Bluetooth og sensorer
- Opprette native moduler i Swift og Kotlin for React Native integrasjon
- Integrering av ARKit for utvidet virkelighet i iOS
- Integrering av CameraX og ARCore for utvidet virkelighet i Android
- React Native Bridge og Native-moduler
- Bygge tilpassede native moduler for å integrere med plattformspesifikk funksjonalitet
- Opprette Java og Swift broer for React innfødte apper
- Beste fremgangsmåter for å administrere innfødt kode i et miljø på tvers av plattformer
Uke 10: Testing og feilsøking av avanserte apper
- Testing i iOS (Swift)
- Skrive enhetstester med XCTest og UI-tester for iOS
- Bruk av Xcode Instruments for ytelsesprofilering og minnelekkasjer
- Kontinuerlig integrering og testing av arbeidsflyter med Jenkins og CircleCI
- Testing i Android (Kotlin)
- Avansert JUnit- og Espresso-testing for Android apper
- Profilering av ytelse og identifisering av flaskehalser ved hjelp av Android Profiler
- Bruker Firebase Test Lab for automatisert testing på flere enheter
- React Innfødt testing
- Enhetstesting med Jest og komponenttesting med Enzyme
- End-to-end testing med Detox og automatiserte testoppsett
- Ytelsesprofilering ved hjelp av React Native Debugger og Flipper
Uke 11: App-implementering og kontinuerlig integrasjon
- App Store (iOS) Implementering
- Forbereder appen din for innsending: App Store-sertifikater, klargjøringsprofiler og TestFlight betatesting
- Bruker Fastlane for å automatisere iOS app-distribusjon
- Administrere App Store Connect og sette opp prosesser for appgjennomgang
- Google Play (Android) Implementering
- Forbereder APK-en og signerer den for Google Play-innsending
- Automatisering av Android app-distribusjon med Fastlane og Gradle
- Bruker Google Play Console for appgjennomgang og betatesting
- Sette opp CI/CD-rørledninger
- Konfigurerer Jenkins, GitHub Actions eller CircleCI for automatiserte bygge- og distribusjonspipelines
- Bruker Fastlane for både iOS og Android CI/CD arbeidsflyter
- Gode fremgangsmåter for håndtering av versjonsstyring, versjonsnummer og utgivelseskanaler
Uke 12: Capstone Project
- Endelig prosjektutvikling
- Design og utvik en fullt funksjonell app som inneholder avanserte funksjoner som er lært gjennom hele kurset.
- Implementer tilpasset brukergrensesnitt/UX, avanserte animasjoner, tilstandsadministrasjon, innebygd modulintegrasjon og sanntids API-kommunikasjon.
- Optimaliser appen for ytelse og distribuer den til App Store og Google Play.
Sammendrag og neste trinn
Krav
- Solid forståelse av programmeringskonsepter, spesielt i Swift, Kotlin og JavaScript
- Tidligere erfaring med å bygge grunnleggende iOS, Android eller React integrerte apper
- Kunnskap om designmønstre som MVC eller MVVM og erfaring med grunnleggende statlig ledelse
Publikum
- Mobilutviklere
- Programmerere
Referanser (5)
Veldig nyttige tilleggsinformasjoner
Grzegorz - Comp S.A.
Kurs - BLoC Pattern
Maskinoversatt
Edward er en flott faglærer
Zibusiso Ncube - Agricatural Research Council
Kurs - Ionic 4 and Angular for Developers
Maskinoversatt
Kanskje flere øvelser kunne ha vært bedre for læring, men tiden var for liten.
Gianpiero Arico' - Urmet Spa
Kurs - Embedded Linux Systems Architecture
Maskinoversatt
Miguels kunnskap om emnet var utdypet. Han gjorde opplæringen lett forståelig, og presentasjonen var vel balansert; han bygde videre på hvert avsnitt med nye funksjoner når det var relevant. Han dekket alt som ble forespurt og besvarte hver eneste spørsmål grundig. Det var en veldig agradable opplevelse.
Paul Coaton - SEMPCheck Services
Kurs - Flutter Development Bootcamp with Dart
Maskinoversatt
Instruktøren var entusiastisk, vennlig og elsket emnet.
Isaac Murphy - Royal New Zealand Airforce
Kurs - Build Native iOS and Android Apps with Flutter
Maskinoversatt