Schulungsübersicht
Einführung
Woche 1: Einführung in Mobile Development
- Mobiles App-Ökosystem und Trends
- Einführung in die mobile App-Landschaft (iOS und Android)
- Unterschiede zwischen nativen, hybriden und plattformübergreifenden Anwendungen
- Überblick über den Workflow und die Tools zur Entwicklung mobiler Apps
- Native vs. plattformübergreifende Entwicklung
- Hauptunterschiede zwischen der Entwicklung von Apps für eine einzige Plattform (nativ) und für mehrere Plattformen (plattformübergreifend)
- Vor- und Nachteile der beiden Ansätze
- Überblick über gängige native Plattformen (iOS, Android) und plattformübergreifende Tools (React Native, Flutter)
- Einführung in JavaScript Programming
- Grundlegende Syntax und Struktur von JavaScript
- Variablen, Konstanten und Datentypen (Zahl, Zeichenkette, Boolescher Wert, Objekt)
- Operatoren und Ausdrücke
- Kontrollfluss:
if
,else
,switch
- Einführung in Funktionen und Scoping (globaler vs. lokaler Bereich)
- Einrichten von Xcode für die iOS Entwicklung
- Einführung in die Xcode IDE: Schnittstelle, Werkzeuge und Arbeitsablauf
- Installieren von Xcode und Ausführen des iOS-Simulators
- Einführung in die Swift-Programmiersprache
- Schreiben einer einfachen Swift-Anwendung und Ausführen auf dem iOS-Simulator
- Einrichten von Android Studio für die Android-Entwicklung
- Installieren von Android Studio und Einrichten der Umgebung
- Konfigurieren und Verwenden des Android-Emulators
- Einführung in die Kotlin-Programmiersprache und die grundlegende Syntax
- Schreiben einer einfachen Kotlin-Anwendung und deren Ausführung auf dem Android-Emulator
- Einrichten der React-nativen Entwicklungsumgebung
- Installieren von Node.js und React Native CLI
- Einführung in Expo und Erstellen eines Projekts mit Expo
- Ausführen einer einfachen "Hello World"-Anwendung auf den Emulatoren iOS und Android
Woche 2: iOS- und Android-Grundlagen
- Einführung in Swift und Xcode IDE
- Variablen und Datentypen in Swift (Int, Float, String, Bool, etc.)
- Konstanten mit
let
und Variablen mitvar
- Kontrollflussanweisungen
(if
,switch
, Schleifen) - Funktionen und Parameter in Swift
- Fehlerbehandlung in Swift
- Gestaltung der Benutzeroberfläche in iOS
- Einführung in Storyboards und Xcode Interface Builder
- Entwerfen von App-Layouts mit Auto-Layout und Constraints
- Hinzufügen von UI-Komponenten: Schaltflächen, Beschriftungen, Textfelder, Bilder
- Behandlung von Benutzerinteraktionen und Ereignissen (z. B. Schaltflächenklicks)
- Erstellen eines einfachen Anmeldeformulars und Validierung von Benutzereingaben
- Einführung in die Kotlin und Android Studio IDE
- Grundlegende Kotlin-Syntax (Variablen, Datentypen und Funktionen)
- Verstehen der Nullsicherheit und der Datenklassen von Kotlin
- Einführung in die Android-App-Architektur und Komponenten (Activities, Fragmente)
- Handhabung des Aktivitätslebenszyklus in Android-Apps
- Gestaltung der Benutzeroberfläche in Android
- Entwerfen von Android UIs mit XML Layout-Dateien
- Arbeiten mit Layout-Managern (LinearLayout, RelativeLayout, ConstraintLayout)
- Hinzufügen von interaktiven Komponenten (Schaltflächen, Textansichten, Texte bearbeiten)
- Verwendung von Java/Kotlin zur Verarbeitung von Benutzereingaben und Aktivitätsübergängen
- Erstellen eines Anmeldeformulars mit Eingabevalidierung
- Grundlagen der Fehlersuche in Xcode und Android Studio
- Verwendung von Haltepunkten, Protokollen und der Debugger-Konsole
- Gängige Debugging-Werkzeuge und -Techniken für iOS (Xcode Instruments, Simulator)
- Gängige Debugging-Tools für Android (Logcat, Android Debug Bridge)
- Testen und Ausführen von Apps auf echten Geräten
- Verbinden von physischen Geräten mit Xcode und Android Studio
- Bereitstellen von Apps auf physischen Geräten (iPhones und Android Telefone)
- Simulieren verschiedener Netzwerkbedingungen, Batteriestände und Leistungskennzahlen
Woche 3: Plattformübergreifende Entwicklung mit React Native
- Einführung in React Native und JavaScript for Mobile
- Was ist React Native und warum sollte man es verwenden?
- Überblick darüber, wie React Native JavaScript in nativen Code umwandelt
- JSX-Syntax: Schreiben von HTML-ähnlichen Strukturen in JavaScript
- ReactKomponenten: Funktionale vs. klassenbasierte Komponenten
- Zustand und Requisiten: Verwaltung des Datenflusses in ReactNative-Komponenten
- Styling in ReactNative
- Einführung in Flexbox und seine Bedeutung für die Layoutgestaltung
- Erstellen von responsiven Layouts für iOS und Android
- Anwendung von plattformspezifischem Styling mit dem React Native
Plattform-Modul
- React Navigation für plattformübergreifende Apps
- Einführung in React Navigation und Navigationscontainer
- Erstellen von Stack-Navigation für Bildschirmübergänge
- Implementieren von Tab- und Drawer-Navigation für komplexere Anwendungen
- Übergabe von Daten zwischen Bildschirmen und Verwaltung von Navigationszuständen
- Accessing Native Gerätefunktionen
- Verwendung von Gerätefunktionen wie Kamera und Standort in React Native
- Integration von APIs wie Geolocation, Kamera und AsyncStorage
- Handhabung von Berechtigungen für den Zugriff auf Gerätehardware (iOS und Android Unterschiede)
- Lokale Speicherung von Daten mit AsyncStorage und Integration von Drittanbieter-Bibliotheken für Persistenz
- Vorbereiten von Apps für die Bereitstellung
- Konfigurieren von App-Einstellungen für die Produktion in Xcode und Android Studio
- Erstellen von APKs für Android und Testen auf echten Geräten
- Vorbereiten von iOS Apps für die Einreichung im App Store (App-Symbole, Signierzertifikate)
- Fertigstellung von React Native-Projekten für den Produktionseinsatz auf beiden Plattformen
- Abschließende Projektpräsentation
- Präsentation der endgültigen plattformübergreifenden React Native App vor der Klasse
- Sammeln von Feedback und Diskussion möglicher Verbesserungen
- Abschließende Frage-Antwort-Runde und Schlussbemerkungen
Zusammenfassung und nächste Schritte
Voraussetzungen
- Grundlegendes Verständnis von Programmierkonzepten
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.