Cursusaanbod
Introductie
Week 1: Inleiding tot Mobile Development
- Ecosysteem en trends voor mobiele apps
- Inleiding tot het landschap van mobiele apps (iOS en Android)
- Verschillen tussen native, hybride en platformonafhankelijke apps
- Overzicht van de workflow en tools voor de ontwikkeling van mobiele apps
- Native versus platformonafhankelijke ontwikkeling
- Belangrijkste verschillen tussen het ontwikkelen van apps voor één platform (native) en meerdere platforms (platformonafhankelijk)
- Voor- en nadelen van elke aanpak
- Overzicht van veelgebruikte native platforms (iOS, Android) en cross-platform tools (React Native, Flutter)
- Inleiding tot JavaSchrift Programming
- Basissyntaxis en structuur van JavaScript
- Variabelen, constanten en gegevenstypen (getal, tekenreeks, booleaans, object)
- Operatoren en expressies
- Controle stroom:
if
,else
,switch
- Inleiding tot functies en scoping (globaal versus lokaal bereik)
- Xcode instellen voor iOS Ontwikkeling
- Inleiding tot de Xcode IDE: interface, tools en workflow
- Xcode installeren en de simulator iOS uitvoeren
- Inleiding tot de programmeertaal Swift
- Een eenvoudige Swift app schrijven en deze uitvoeren op de iOS simulator
- Opzetten van Android Studio voor Android Ontwikkeling
- Installeren Android Studio en instellen van de omgeving
- De Android-emulator configureren en gebruiken
- Inleiding tot Kotlin programmeertaal en basissyntaxis
- Een eenvoudige Kotlin app schrijven en deze uitvoeren op de Android emulator
- Opzetten van React Native Development Environment
- Native CLI installeren Node.js en React
- Inleiding tot Expo en het maken van een project met Expo
- Een eenvoudige "Hello World"-app uitvoeren op zowel iOS als Android emulators
Week 2: iOS en Android Basisprincipes
- Inleiding tot Swift en Xcode IDE
- Variabelen en gegevenstypen in Swift (Int, Float, String, Bool, enz.)
- Constanten met
let
en variabelen metvar
- Controle stroomoverzichten (
if
,switch
, lussen) - Functies en parameters in Swift
- Foutafhandeling in Swift
- Ontwerp van gebruikersinterface in iOS
- Inleiding tot storyboards en Xcode Interface Builder
- App-lay-outs ontwerpen met behulp van Automatische lay-out en beperkingen
- UI-componenten toevoegen: knoppen, labels, tekstvelden, afbeeldingen
- Het afhandelen van gebruikersinteracties en gebeurtenissen (bijv. klikken op knoppen)
- Het bouwen van een eenvoudig inlogformulier en het valideren van gebruikersinvoer
- Inleiding tot Kotlin en Android Studio IDE
- Basissyntaxis Kotlin (variabelen, gegevenstypen en functies)
- Inzicht in de null-veiligheids- en gegevensklassen van Kotlin
- Inleiding tot Android app-architectuur en componenten (Activities, fragmenten)
- De levenscyclus van activiteiten afhandelen in Android apps
- Ontwerp van gebruikersinterface in Android
- Android UI's ontwerpen met behulp van XML lay-outbestanden
- Werken met lay-outmanagers (LinearLayout, RelativeLayout, ConstraintLayout)
- Interactieve componenten toevoegen (knoppen, tekstweergaven, teksten bewerken)
- Java/Kotlin gebruiken om gebruikersinvoer en activiteitsovergangen af te handelen
- Het bouwen van een inlogformulier met invoervalidatie
- Basisprincipes van foutopsporing in Xcode en Android Studio
- Onderbrekingspunten, logboeken en de console voor foutopsporing gebruiken
- Veelgebruikte foutopsporingstools en -technieken voor iOS (Xcode Instruments, Simulator)
- Veelgebruikte foutopsporingstools voor Android (Logcat, Android Debug Bridge)
- Apps testen en uitvoeren op echte apparaten
- Fysieke apparaten verbinden met Xcode en Android Studio
- Apps implementeren op fysieke apparaten (iPhones en Android telefoons)
- Simulatie van verschillende netwerkomstandigheden, batterijniveaus en prestatiestatistieken
Week 3: Cross-platform ontwikkeling met React Native
- Inleiding tot React Native en JavaScript voor mobiel
- Wat is React Native en waarom zou je het gebruiken?
- Overzicht van hoe React Native JavaScript vertaalt naar native code
- JSX-syntaxis: HTML-achtige structuren schrijven in JavaScript
- React componenten: Functionele versus op klasse gebaseerde componenten
- Status en rekwisieten: Gegevensstroom beheren binnen React Native componenten
- Styling in React Inheems
- Inleiding tot Flexbox en het belang ervan bij het ontwerpen van lay-outs
- Responsieve lay-outs maken voor zowel iOS als Android
- Platformspecifieke styling toepassen met behulp van de module van
Platform
React Native
- React Navigatie voor platformonafhankelijke apps
- Inleiding tot React Navigatie en navigatiecontainers
- Stacknavigatie maken voor schermovergangen
- Tabblad- en ladenavigatie implementeren voor complexere apps
- Gegevens doorgeven tussen schermen en navigatiestatussen beheren
- Accessing Native apparaatfuncties
- Apparaatfuncties zoals de camera en locatie gebruiken in React Native
- Integratie van API's zoals Geolocatie, Camera en AsyncStorage
- Omgaan met machtigingen voor toegang tot apparaathardware (iOS en Android verschillen)
- Gegevens lokaal opslaan met AsyncStorage en bibliotheken van derden integreren voor persistentie
- Apps voorbereiden voor implementatie
- App-instellingen configureren voor productie in Xcode en Android Studio
- APK's bouwen voor Android en testen op echte apparaten
- iOS apps voorbereiden voor indiening in de App Store (app-pictogrammen, ondertekeningscertificaten)
- Afronding React Native projecten voor productie-implementatie op beide platforms
- Presentatie van het eindproject
- De uiteindelijke platformonafhankelijke React Native app presenteren aan de klas
- Feedback verzamelen en mogelijke verbeteringen bespreken
- Afsluitende Q&A-sessie en slotopmerkingen
Samenvatting en volgende stappen
Vereisten
- Basiskennis van programmeerconcepten
Audiëntie
- Mobiele ontwikkelaars
- Programmeurs
Testimonials (5)
Edward is een geweldige facilitator
Zibusiso Ncube - Agricatural Research Council
Cursus - Ionic 4 and Angular for Developers
Automatisch vertaald
Mijn favoriete onderdeel is vraag en antwoord met meneer Jose. Hij is zeer deskundig en weet het antwoord op onze vragen.
John Henry - Toyota Motor Philippines
Cursus - .NET MAUI (Intermediate)
Automatisch vertaald
Misschien zou meer oefening beter kunnen zijn voor lerning, maar de tijd was te weinig
Gianpiero Arico' - Urmet Spa
Cursus - Embedded Linux Systems Architecture
Automatisch vertaald
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
Cursus - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic