Schulungsübersicht
Einführung
Woche 1: Überblick über Mobile Development
- Mobiles Ökosystem und Plattformen
- Überblick über mobile Betriebssysteme (iOS und Android)
- Hauptunterschiede zwischen iOS, Android und plattformübergreifender Entwicklung
- Beliebte App-Stores (Apple App Store, Google Play Store)
- Einführung in die native, hybride und plattformübergreifende Entwicklung
- Nativ vs. Hybrid vs. Plattformübergreifend
- Vorteile und Herausforderungen der einzelnen Entwicklungsmethoden
- Überblick über Swift (für iOS), Kotlin (für Android) und React Native (plattformübergreifend)
- Wie Code auf mobile Plattformen übertragen wird (JavaScript zu nativem Code in React Native)
- Programming Grundlagen
- Einführung in Programmierkonzepte (Variablen, Datentypen, Funktionen, Kontrollfluss)
- Vergleich der Syntax von Swift, Kotlin und JavaScript
- Schreiben einfacher Programme mit Swift, Kotlin und JavaScript
- Einrichten von Entwicklungsumgebungen
- Installieren von Xcode und AndroidStudio
- Einrichten von React Native CLI und Expo
- Ausführen einfacher "Hello World"-Anwendungen auf Simulatoren und Emulatoren
Woche 2: Einführung in Swift, Kotlin, und JavaScript
- Swift Programming für iOS
- Variablen, Konstanten und Datentypen in Swift
- Kontrollflussanweisungen
(if
,switch
, Schleifen) - Funktionen und Parameter in Swift
- Einführung in die Oberfläche von Xcode und Swift Playgrounds
- Kotlin Programming für Android
- Variablen, Datentypen und Funktionen in Kotlin
- Verstehen von Kotlin's Nullsicherheit
- Kontrollfluss und Schleifenstrukturen
- Einführung in die Schnittstelle von Android Studio und Kotlin Playground
- JavaSkript für React Native
- Variablen, Konstanten und Kontrollfluss in JavaScript
- ES6-Funktionen: Pfeilfunktionen, Template-Literale und Destrukturierung
- Schreiben und Ausführen grundlegender JavaScript-Programme in React Native mit Expo
Woche 3: iOS Gestaltung der Benutzeroberfläche
- UI Elements in iOS
- Einführung in UIKit und SwiftUI
- Hinzufügen und Anpassen von UI-Elementen wie Schaltflächen, Beschriftungen und Textfeldern
- Verwendung des Interface Builders zur Gestaltung der Benutzeroberfläche
- Arbeiten mit Storyboards und Entwerfen von Multi-Screen-UIs
- Automatisches Layout und Beschränkungen
- Verstehen des Auto-Layout-Systems
- Verwendung von Constraints für responsive Layouts für verschiedene Bildschirmgrößen
- Erstellen von Stapelansichten und dynamisches Anpassen von UI-Elementen
- SwiftUI-Grundlagen
- Einführung in das deklarative UI-Design in SwiftUI
- Erstellen einfacher UI-Komponenten mit SwiftUI
Woche 4: AndroidUser Interface Design
- XML Layouts in Android
- Einführung in XML-basiertes Layout-Design
- Arbeiten mit gängigen Layouts: LinearLayout, RelativeLayout, ConstraintLayout
- Hinzufügen und Anpassen von UI-Elementen: Schaltflächen, Textansichten, Bildansichten
- Verwendung von ConstraintLayout für responsive und dynamische Layouts
- Material Design
- Integrieren von Material Design Prinzipien (Farben, Icons, Typografie)
- Verwendung von Material Components (Schaltflächen, schwebende Aktionsschaltflächen, Karten)
- Implementierung von Themes und Styling für Android-Apps
Woche 5: React Natives User Interface Design
- React Natives Flexbox-Layout
- Verstehen von Flexbox für responsives Layout-Design
- Erstellen von spalten- und zeilenbasierten Layouts
- Styling von UI-Komponenten mit Flexbox-Eigenschaften (justifyContent, alignItems, etc.)
- React Native Komponenten
- Arbeiten mit Kernkomponenten wie
Text
,View
,TextInput
undButton
- Interaktive UI-Elemente wie Formulare und Schaltflächen erstellen
- Verwendung der
ScrollView-Komponente
für dynamische Inhalte
- Arbeiten mit Kernkomponenten wie
Woche 6: Datenverarbeitung in iOS und Android
- iOS Datenhandhabung
- Verwendung von UserDefaults für einfache Datenpersistenz
- Einführung in Core Data für die lokale Speicherung von komplexen Daten
- Abrufen von Daten aus APIs mit URLSession
- Parsing von JSON-Daten und deren Anzeige in der UI
- Android Datenverarbeitung
- Verwendung von SharedPreferences für die Speicherung kleiner Datenmengen
- Einführung in SQLite und Room Persistence Library zur Verwaltung von Datenbanken
- Abrufen von Daten aus APIs mit Retrofit
- Parsen von JSON und Umgang mit API-Antworten
Woche 7: React Native State Management und APIs
- Zustand und Requisiten in React Native
- Verwalten des Datenflusses innerhalb von React Native-Komponenten
- Verwendung des
useState-Hakens
zur Verwaltung des lokalen Komponentenzustands - Übergabe von Daten zwischen Eltern- und Kind-Komponenten über Props
- Abrufen von Daten in React Native
- Verwendung der Fetch-API und Axios, um HTTP-Anfragen zu stellen
- Anzeige der abgerufenen Daten in Listen (mit
FlatList
,SectionList
) - Persistieren von Daten lokal mit AsyncStorage in React Native
Woche 8: Navigation in iOS und Android
- iOS Navigation
- Einführung in Navigationscontroller und Verwaltung mehrerer Bildschirme
- Verwendung von Segues zum Übergang zwischen Viewcontrollern
- Übergabe von Daten zwischen Viewcontrollern
- Implementierung von TabBar und NavigationBar für die strukturierte Navigation
- Android Navigation
- Arbeiten mit Activities und Intents für Anwendungen mit mehreren Bildschirmen
- Übergabe von Daten zwischen Activities mit Bundles
- Erstellen eines Navigation Drawers und BottomNavigationView
- Implementierung von Fragmenten für eine flexible UI-Navigation
Woche 9: Navigation in ReactNative
- React Grundlagen der Navigation
- Installieren und Einrichten von React Navigation
- Verwendung von Stack Navigator für Bildschirmübergänge
- Implementierung von Tab Navigator und Drawer Navigator für komplexe Navigation
- Übergabe von Parametern zwischen Bildschirmen und Verwaltung des Navigationsstatus
Woche 10: Fortgeschrittene Funktionen
- iOS Fortgeschrittene Funktionen:
- Core Location und Karten
- Access Geräteortung mit Core Location
- Anzeige von Karten mit MapKit
- Handhabung von Geolokalisierung und Verfolgung des Benutzerstandorts
- Kamera und Medien
- Accessing Gerätekamera und Fotobibliothek
- Erfassen und Anzeigen von Bildern mit UIImagePickerController
- Speichern und Abrufen von Mediendateien
- Core Location und Karten
- Android Erweiterte Funktionen
- Standort und Karten
- Verwendung der Google Maps API zur Anzeige von Karten und Nutzerstandorten
- Accessing von GPS-Daten und Umgang mit Geolocation
- Kamera und Medien
- Verwenden von CameraX zum Aufnehmen von Fotos und Verwalten von Kamerarechten
- Anzeige von Bildern und Umgang mit Medienspeichern
- Standort und Karten
- React Native erweiterte Funktionen
- React Native Karten
- Integration von Karten mit
react-native-maps
- Umgang mit ortsbezogenen Diensten (Geolocation, Routenkartierung)
- Integration von Karten mit
- Kamera- und Medienzugriff
- Verwendung der React Native Camera Bibliothek zum Aufnehmen von Fotos
- Accessing device media storage und Umgang mit Dateien
- React Native Karten
Woche 11: Debuggen und Testen
- iOS Fehlersuche und Testen
- Verwendung des Xcode-Debuggers
- Setzen von Haltepunkten und Überprüfen von Variablen in Xcode
- Verwendung der Konsole für Echtzeit-Debugging
- Häufige Debugging-Probleme und wie man sie löst
- Unit-Tests in iOS
- Schreiben und Ausführen von Unit-Tests mit dem XCTest-Framework
- Mocking von Objekten und Testen von UI-Komponenten
- Verwendung des Xcode-Debuggers
- Android Debugging und Testen
- Verwendung von Logcat in Android Studio
- Loggen und Analysieren von Fehlern mit Logcat
- Debuggen von Android-Anwendungen mit Haltepunkten
- Unit-Tests in Android
- Schreiben von Unit-Tests mit JUnit
- Testen von Android UI-Komponenten mit Espresso
- Verwendung von Logcat in Android Studio
- React Natives Debugging und Testen
- React Native Debugging-Werkzeuge
- Verwendung von Chrome DevTools und React Native Debugger für Echtzeit-Debugging
- Konsolenprotokolle und Inspektion von Netzwerkanfragen
- Unit-Tests in React Native
- Schreiben von Unit-Tests mit Jest und Enzyme
- Testen von React Native-Komponenten und Verwalten von Testfällen
- React Native Debugging-Werkzeuge
Woche 12: App-Bereitstellung und Capstone-Projekt
- Bereitstellung und Verteilung
- iOS Einreichung im App Store
- Vorbereiten Ihrer App für die Verteilung (Symbole, Zertifikate, Bereitstellungsprofile)
- App Store Connect verwenden, um die App zur Überprüfung einzureichen
- Verwendung von TestFlight für Beta-Tests
- Android Einreichung im Play Store
- Vorbereiten der APK und Signieren der App für die Verteilung
- Verwendung der Google Play Console für die App-Einreichung und -Verfolgung
- Verstehen der Play Store-Politik und -Richtlinien
- iOS Einreichung im App Store
- Entwicklung des Capstone-Projekts
- Entwicklung des Abschlussprojekts
- Erstellen einer voll funktionsfähigen App Ihrer Wahl
- Einbinden von fortgeschrittenen Funktionen wie API-Aufrufe, Navigation, Medien und Standort
- Präsentation und Vorführung der fertigen App vor Kollegen und Ausbildern
- Entwicklung des Abschlussprojekts
Zusammenfassung und nächste Schritte
Voraussetzungen
- Grundlegendes Verständnis von Programmierkonzepten
- Grundkenntnisse von JavaScript
Zielgruppe
- Mobile Entwickler
- Programmierer
Erfahrungsberichte (5)
Edward ist ein großartiger Vermittler
Zibusiso Ncube - Agricatural Research Council
Kurs - Ionic 4 and Angular for Developers
Maschinelle Übersetzung
Mein Lieblingsteil ist die Frage und Antwort mit Sir. Jose. Er ist sehr sachkundig und weiß die Antwort auf unsere Fragen.
John Henry - Toyota Motor Philippines
Kurs - .NET MAUI (Intermediate)
Maschinelle Übersetzung
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
Kurs - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic
Isaac Murphy - Royal New Zealand Airforce
Kurs - Build Native iOS and Android Apps with Flutter
Learning the steps required to implement the MVVM model.