Kursplan
Introduksjon
Uke 1: Oversikt over Mobile Development
- Mobilt økosystem og plattformer
- Oversikt over mobile operativsystemer (iOS og Android)
- Viktige forskjeller mellom iOS, Android og utvikling på tvers av plattformer
- Populære appbutikker (Apple App Store, Google Play Store)
- Introduksjon til native, hybrid og cross-platform utvikling
- Native vs Hybrid vs Cross-Platform
- Fordeler og utfordringer ved hver utviklingsmetode
- Oversikt over Swift (for iOS), Kotlin (for Android) og React Native (på tvers av plattformer)
- Hvordan kode oversettes til mobile plattformer (JavaSkript til innebygd kode i React Native)
- Programming Grunnleggende
- Introduksjon til programmeringskonsepter (variabler, datatyper, funksjoner, kontrollflyt)
- Sammenligning av Swift, Kotlin og JavaScript-syntaks
- Skrive enkle programmer ved hjelp av Swift, Kotlin og JavaScript
- Sette opp utviklingsmiljøer
- Installerer Xcode og Android Studio
- Sette opp React Native CLI og Expo
- Kjører grunnleggende "Hello World"-apper på simulatorer og emulatorer
Uke 2: Introduksjon til Swift, Kotlin og JavaManus
- Swift Programming for iOS
- Variabler, konstanter og datatyper i Swift
- Kontrollflytsetninger (
if,switch, sløyfer) - Funksjoner og parametere i Swift
- Introduksjon til Xcodes grensesnitt og Swift lekeplasser
- Kotlin Programming for Android
- Variabler, datatyper og funksjoner i Kotlin
- Forstå Kotlins nullsikkerhet
- Kontroller flyt og sløyfestrukturer
- Introduksjon til Android Studios grensesnitt og Kotlin Playground
- JavaSkript for React Native
- Variabler, konstanter og kontrollflyt i JavaScript
- ES6-funksjoner: pilfunksjoner, bokstavmaler og destrukturering
- Skrive og kjøre grunnleggende JavaScript-programmer i React Native ved å bruke Expo
Uke 3: iOS Design av brukergrensesnitt
- UI Elementer i iOS
- Introduksjon til UIKit og SwiftUI
- Legge til og tilpasse brukergrensesnittelementer som knapper, etiketter og tekstfelt
- Bruke Interface Builder til å designe brukergrensesnittet
- Arbeide med Storyboards og designe brukergrensesnitt på flere skjermer
- Automatisk layout og begrensninger
- Forstå Auto Layout-systemet
- Bruke begrensninger for responsive oppsett på tvers av forskjellige skjermstørrelser
- Opprette stabelvisninger og dynamisk justering av brukergrensesnittelementer
- SwiftGrunnleggende brukergrensesnitt
- Introduksjon til deklarativ UI-design i SwiftUI
- Bygge enkle UI-komponenter ved å bruke SwiftUI
Uke 4: Android Design av brukergrensesnitt
- XML Oppsett i Android
- Introduksjon til XML-basert layoutdesign
- Arbeide med vanlige oppsett: LinearLayout, RelativeLayout, ConstraintLayout
- Legge til og tilpasse brukergrensesnittelementer: knapper, tekstvisninger, bildevisninger
- Bruke ConstraintLayout for responsive og dynamiske oppsett
- Materialdesign
- Integrering av materialdesignprinsipper (farger, ikoner, typografi)
- Bruke materialkomponenter (knapper, flytende handlingsknapper, kort)
- Implementering av temaer og styling for Android apper
Uke 5: React Native User Interface Design
- React Innebygd Flexbox-oppsett
- Forstå Flexbox for responsiv layoutdesign
- Opprette kolonne- og radbaserte oppsett
- Styling av brukergrensesnittkomponenter med Flexbox-egenskaper (justifyContent, alignItems, etc.)
- React Innfødte komponenter
- Arbeide med kjernekomponenter som
Text,View,TextInputogButton - Lage interaktive brukergrensesnittelementer som skjemaer og knapper
- Bruk av
ScrollViewkomponenten for dynamisk innhold
- Arbeide med kjernekomponenter som
Uke 6: Datahåndtering i iOS og Android
- iOS Datahåndtering
- Bruke UserDefaults for enkel datautholdenhet
- Introduksjon til kjernedata for lokal lagring av komplekse data
- Henter data fra APIer ved hjelp av URLSession
- Parser JSON-data og viser dem i brukergrensesnittet
- Android Datahåndtering
- Bruke SharedPreferences for å lagre små mengder data
- Introduksjon til SQLite and Room Persistence Library for administrasjon av databaser
- Henter data fra APIer ved hjelp av Retrofit
- Parsing JSON og håndtering av API-svar
Uke 7: React Native State Management og APIer
- Stat og rekvisitter i React Native
- Administrere dataflyt innenfor React Native komponenter
- Bruke
useStatekroken for å administrere lokal komponenttilstand - Sende data mellom overordnede og underordnede komponenter via rekvisitter
- Henter data i React Native
- Bruke Fetch API og Axios til å lage HTTP-forespørsler
- Viser hentede data i lister (ved hjelp av
FlatList,SectionList) - Vedvarende data lokalt ved å bruke AsyncStorage i React Native
Uke 8: Navigering i iOS og Android
- iOS Navigasjon
- Introduksjon til navigasjonskontrollere og administrering av flere skjermer
- Bruke segues for å gå mellom visningskontrollere
- Sende data mellom visningskontrollere
- Implementering av TabBar og NavigationBar for strukturert navigasjon
- Android Navigasjon
- Arbeide med Activitier og intensjoner for apper på flere skjermer
- Sender data mellom Activitier ved hjelp av pakker
- Opprette en navigasjonsskuff og BottomNavigationView
- Implementering av fragmenter for fleksibel UI-navigasjon
Uke 9: Navigering i React Native
- React Grunnleggende navigasjon
- Installere og sette opp React Navigasjon
- Bruke Stack Navigator for skjermoverganger
- Implementering av Tab Navigator og Drawer Navigator for kompleks navigering
- Sende parametere mellom skjermer og administrere navigasjonstilstand
Uke 10: Avanserte funksjoner
- iOS Avanserte funksjoner:
- Kjerneplassering og kart
- Accessing av enhetsplassering med kjerneposisjon
- Vise kart ved hjelp av MapKit
- Håndtering av geolokalisering og brukerposisjonssporing
- Kamera og media
- Accessenhetskamera og bildebibliotek
- Ta og vise bilder med UIImagePickerController
- Lagre og hente mediefiler
- Kjerneplassering og kart
- Android Avanserte funksjoner
- Plassering og kart
- Bruke Google Maps API for å vise kart og brukerplassering
- Accessing av GPS-data og håndtering av geolokalisering
- Kamera og media
- Bruke CameraX til å ta bilder og håndtere kameratillatelser
- Vise bilder og håndtere medielagring
- Plassering og kart
- React Innfødte avanserte funksjoner
- React Innfødte kart
- Integrering av kart ved hjelp av
react-native-maps - Håndtering av stedsbaserte tjenester (geolokalisering, rutekartlegging)
- Integrering av kart ved hjelp av
- Kamera og medietilgang
- Bruke React Native Camera-biblioteket for å ta bilder
- Accesslagring og håndtering av filer på enheten
- React Innfødte kart
Uke 11: Feilsøking og testing
- iOS Feilsøking og testing
- Bruker Xcode debugger
- Sette bruddpunkter og inspisere variabler i Xcode
- Bruke konsollen for sanntidsfeilsøking
- Vanlige feilsøkingsproblemer og hvordan de kan løses
- Enhetstesting i iOS
- Skrive og kjøre enhetstester ved hjelp av XCTest-rammeverket
- Håner objekter og tester brukergrensesnittkomponenter
- Bruker Xcode debugger
- Android Feilsøking og testing
- Bruke Logcat i Android Studio
- Logging og analyse av feil ved hjelp av Logcat
- Feilsøking av Android apper med bruddpunkter
- Enhetstesting i Android
- Skrive enhetstester med JUnit
- Tester Android UI-komponenter med espresso
- Bruke Logcat i Android Studio
- React Innebygd feilsøking og testing
- React Innfødte feilsøkingsverktøy
- Bruker Chrome DevTools og React Native Debugger for sanntidsfeilsøking
- Konsolllogger og inspeksjon av nettverksforespørsler
- Enhetstesting i React Native
- Skrive enhetstester med Jest og Enzyme
- Testing React Innfødte komponenter og håndtering av testtilfeller
- React Innfødte feilsøkingsverktøy
Uke 12: App-implementering og Capstone-prosjektet
- Distribusjon og distribusjon
- iOS App Store-innlevering
- Forbereder appen din for distribusjon (ikoner, sertifikater, klargjøringsprofiler)
- Bruker App Store Connect for å sende inn appen for vurdering
- Bruker TestFlight for betatesting
- Android Play Store-innsending
- Forbereder APK og signerer appen for distribusjon
- Bruker Google Play Console for appinnsending og sporing
- Forstå Play Butikk retningslinjer og retningslinjer
- iOS App Store-innlevering
- Capstone prosjektutvikling
- Endelig prosjektutvikling
- Bygge en fullt funksjonell app etter eget valg
- Inkluderer avanserte funksjoner som API-anrop, navigasjon, media og plassering
- Presentere og demonstrere den endelige appen for jevnaldrende og instruktører
- Endelig prosjektutvikling
Sammendrag og neste trinn
Krav
- Grunnleggende forståelse av programmeringsbegreper
- Grunnleggende kunnskap om JavaScript
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