Schulungsübersicht
Einführung
Woche 1: Fortgeschrittene Swift, Kotlin, und JavaSkript-Konzepte
- Swift (iOS)
- Fortgeschrittene Funktionen: Schließungen, Erfassen von Werten, Funktionen höherer Ordnung
- Protokollorientierte Programmierung und Generika
- Speicherverwaltung mit ARC (Automatic Reference Counting)
- Kotlin (Android)
- Erweiterungsfunktionen und Kotlin Standardbibliothek
- Coroutines für asynchrone Programmierung
- Versiegelte Klassen, Enums und erweiterte Fehlerbehandlung
- JavaScript (React Native)
- Erweiterte ES6+-Funktionen: Destrukturierung, async/await, Versprechen
- Funktionale Programmierkonzepte in JavaScript
- Arbeiten mit Bibliotheken von Drittanbietern in ReactNative
Woche 2: Mobile App-Architektur und Design Patterns
- MVVM (Model-View-ViewModel) für iOS und Android
- Verstehen der MVVM-Architektur für iOS (Swift) und Android (Kotlin)
- Implementieren von ViewModels und Beobachten von Daten mit LiveData (Android) und Combine (iOS)
- Reactive Programmierung mit RxSwift und RxKotlin
- Komponentenbasierte Architektur in React Native
- Verstehen von Komponentenlebenszyklen und Hooks
- Bewährte Praktiken für die Verwaltung von Zuständen und Requisiten im großen Maßstab
- Verwendung der ReactContext API für die globale Zustandsverwaltung
Woche 3: Fortgeschrittene Networking-Konzepte
- Networking in iOS (Swift)
- Arbeiten mit URLSession für benutzerdefinierte Netzwerkanfragen
- Fortgeschrittene REST-API-Aufrufe und Fehlerbehandlung
- Arbeiten mit Codable und JSON-Parsing
- Bewährte Praktiken für sichere API-Kommunikation (SSL-Pinning, OAuth)
- Networking in Android (Kotlin)
- Nachrüstung für die Durchführung von API-Aufrufen und die Behandlung von Antworten
- Erweiterte API-Fehlerbehandlung und Wiederholungsmechanismen
- Verwendung von Gson oder Moshi für JSON-Parsing
- Sichere Kommunikation mit HTTPS und OAuth-Authentifizierung
Woche 4: Networking in React Native
- API-Integration mit Axios und Fetch
- Fortgeschrittene API-Integration mit Axios und Fetch
- Fehlerbehandlungsstrategien und Wiederholungsversuche bei Netzwerkanfragen
- Arbeiten mit Authentifizierung (JWT, OAuth)
- WebSockets und Echtzeit Communication
- Einführung in WebSockets in React Native
- Aufbau von Echtzeit-Chat oder Benachrichtigungsfunktionen mit WebSocket-Verbindungen
- Verwaltung von dauerhaften Verbindungen und Datenaktualisierungen
Woche 5: Fortgeschrittene Datenpersistenz-Techniken
- Kerndaten und SQLite (iOS)
- Fortgeschrittene Core Data-Beziehungen, Abrufe und Abfragen
- Direkte Verwendung von SQLite für iOS-Anwendungen und Verwaltung von Datenbankverbindungen
- Effiziente Datenverarbeitung und -optimierung
- Raumpersistenz und SQLite (Android)
- Fortgeschrittene Raumdatenbankbeziehungen und -abfragen
- Verwaltung großer Datenmengen und Optimierung der Datenbankleistung
- Verwendung von ProGuard zur Sicherung von Datenbankstrukturen
- Firebase für Cloud-Speicher (iOS und Android)
- Integration mit Firebase für die Echtzeit-Datenbankverwaltung
- Best Practices für die Synchronisierung von lokalen und Cloud-Daten
Woche 6: Fortgeschrittener Zustand Management in React Native
- Redux für Zustand Management
- Fortgeschrittene Redux-Konzepte: Middlewares, Thunks und Sagas
- Optimieren von Redux für Leistung und Skalierbarkeit
- Recoil für State Management
- Einführung in Recoil: Eine flexiblere Alternative zu Redux
- Handhabung umfangreicher Zustandsverwaltung über Komponenten hinweg
- Effiziente Zustandsaktualisierungen und atomare Zustandsverwaltung
Woche 7: Fortgeschrittene Animations in iOS und Android
- iOS (Swift)
- Kern Animation: Animieren von Ansichten, Ebenen und Übergängen
- UIKit-Dynamik: Erstellen physikbasierter Animationen
- Benutzerdefinierte Übergänge und Animationen zwischen Viewcontrollern
- Android (Kotlin)
- MotionLayout zum Erstellen komplexer Animationen
- TransitionManager und gemeinsame Elementübergänge
- Eigenschaftsanimationen für Skalierung, Drehung und Alpha-Änderungen der Ansicht
Woche 8: Animations und UI/UX in React Native
- React Native Animations
- Verwendung der Animated API und Reanimated für komplexe Animationen
- Implementierung von Gesten und Interaktionen mit React Native Gesture Handler
- Best Practices für performante Animationen in React Native
- Erstellen von benutzerdefinierten UI-Komponenten
- Erstellen von wiederverwendbaren und anpassbaren Komponenten in React Native
- Implementierung von responsiven Designs mit Media-Queries und Flexbox
Woche 9: Integration von nativen Modulen und Gerätefunktionen
- Accessing Native Gerätefunktionen
- Erweiterte Nutzung von Kamera, Geolocation, Bluetooth und Sensoren
- Erstellen nativer Module in Swift und Kotlin für die React-native Integration
- Integration von ARKit für Augmented Reality in iOS
- Integration von CameraX und ARCore für Augmented Reality in Android
- React Native Brücke und Native Module
- Erstellung benutzerdefinierter nativer Module zur Integration plattformspezifischer Funktionen
- Erstellen von Java und Swift Brücken für React Native Anwendungen
- Bewährte Verfahren für die Verwaltung von nativem Code in einer plattformübergreifenden Umgebung
Woche 10: Testen und Debuggen fortgeschrittener Apps
- Testen in iOS (Swift)
- Schreiben von Unit-Tests mit XCTest und UI-Tests für iOS
- Verwendung von Xcode Instruments für Leistungsprofilierung und Speicherlecks
- Kontinuierliche Integration und Testabläufe mit Jenkins und CircleCI
- Testen in Android (Kotlin)
- Fortgeschrittene JUnit- und Espresso-Tests für Android-Anwendungen
- Profiling der Leistung und Identifizierung von Engpässen mit Android Profiler
- Verwendung von Firebase Test Lab für automatisierte Tests auf mehreren Geräten
- React Natives Testen
- Unit-Tests mit Jest und Komponententests mit Enzyme
- End-to-End-Tests mit Detox und automatisierten Test-Setups
- Leistungsprofilierung mit React Native Debugger und Flipper
Woche 11: App-Bereitstellung und kontinuierliche Integration
- App Store (iOS) Bereitstellung
- Vorbereiten Ihrer App für die Einreichung: App Store Zertifikate, Bereitstellungsprofile und TestFlight Beta-Tests
- Verwendung von Fastlane zur Automatisierung der iOS App-Bereitstellung
- Verwalten von App Store Connect und Einrichten von App-Überprüfungsprozessen
- Google Play (Android) Bereitstellung
- Vorbereiten der APK und Signieren für die Google Play-Einreichung
- Automatisieren der Android-App-Bereitstellung mit Fastlane und Gradle
- Verwendung der Google Play-Konsole für App-Review und Beta-Tests
- Einrichten von CI/CD-Pipelines
- Konfigurieren von Jenkins, GitHub Actions oder CircleCI für automatisierte Build- und Deployment-Pipelines
- Verwendung von Fastlane sowohl für iOS als auch für Android CI/CD-Workflows
- Best Practices für den Umgang mit Versionierung, Build-Nummern und Release Channels
Woche 12: Capstone-Projekt
- Entwicklung des Abschlussprojekts
- Entwerfen und entwickeln Sie eine voll funktionsfähige Anwendung, die die im Kurs erlernten fortgeschrittenen Funktionen beinhaltet.
- Implementieren Sie eine benutzerdefinierte UI/UX, fortgeschrittene Animationen, Statusmanagement, native Modulintegration und Echtzeit-API-Kommunikation.
- Optimieren Sie die App hinsichtlich ihrer Leistung und stellen Sie sie im App Store und bei Google Play bereit.
Zusammenfassung und nächste Schritte
Voraussetzungen
- Solides Verständnis von Programmierkonzepten, insbesondere in Swift, Kotlin und JavaScript
- Frühere Erfahrungen mit der Erstellung grundlegender iOS, Android oder React nativer Anwendungen
- Kenntnisse von Entwurfsmustern wie MVC oder MVVM und Erfahrung mit grundlegender Zustandsverwaltung
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.