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 
letund 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)
Sehr nützliche zusätzliche Informationen
Grzegorz - Comp S.A.
Kurs - BLoC Pattern
Maschinelle Übersetzung
Edward ist ein großartiger Vermittler
Zibusiso Ncube - Agricatural Research Council
Kurs - Ionic 4 and Angular for Developers
Maschinelle Übersetzung
Vielleicht wären mehr Übungen zum Lernen besser, aber die Zeit war zu kurz.
Gianpiero Arico' - Urmet Spa
Kurs - Embedded Linux Systems Architecture
Maschinelle Übersetzung
Miguel verfügte über umfassende Kenntnisse zum Thema. Er machte die Ausbildung leicht verständlich und der Ablauf war ausgeglichen; er fügte jedem Abschnitt nach Bedarf neue Funktionen hinzu. Er behandelte alles, was gefragt wurde, und beantwortete jede einzelne Frage gründlich. Es war eine sehr angenehme Erfahrung.
Paul Coaton - SEMPCheck Services
Kurs - Flutter Development Bootcamp with Dart
Maschinelle Übersetzung
Der Trainer war begeistert, freundlich und hat das Thema geliebt.
Isaac Murphy - Royal New Zealand Airforce
Kurs - Build Native iOS and Android Apps with Flutter
Maschinelle Übersetzung