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
 420 Stunden

Teilnehmerzahl


Price per participant (excl. VAT)

Erfahrungsberichte (5)

Kommende Kurse

Verwandte Kategorien