Get in Touch
 Duration 420 hours

Course Outline

Introduction

Week 1: Advanced Swift, Kotlin, and JavaScript Fundamentals

  • Swift (iOS)
    • Advanced functional programming: Closures, value capture, and higher-order functions.
    • Protocol-oriented programming paradigms and generics.
    • Memory management strategies utilizing ARC (Automatic Reference Counting).
  • Kotlin (Android)
    • Extension functions and mastery of the Kotlin Standard Library.
    • Asynchronous programming paradigms using Coroutines.
    • Sealed classes, enumeration types, and sophisticated error handling mechanisms.
  • JavaScript (React Native)
    • Advanced ES6+ capabilities: Destructuring, async/await, and promise handling.
    • Application of functional programming concepts within JavaScript.
    • Integration and management of third-party libraries in React Native.

Week 2: Mobile Architecture and Design Patterns

  • MVVM (Model-View-ViewModel) for iOS and Android
    • Deep dive into MVVM architecture for iOS (Swift) and Android (Kotlin) ecosystems.
    • Implementation of ViewModels and data observation using LiveData (Android) and Combine (iOS).
    • Reactive programming workflows with RxSwift and RxKotlin.
  • Component-Based Architecture in React Native
    • Navigating component lifecycles and hook utilization.
    • Scalable best practices for managing state and props.
    • Leveraging the React Context API for global state management.

Week 3: Advanced Networking Strategies

  • Networking in iOS (Swift)
    • Custom network request handling via URLSession.
    • Complex REST API interactions and robust error handling.
    • Data serialization and JSON parsing using Codable.
    • Best practices for secure API communication, including SSL pinning and OAuth.
  • Networking in Android (Kotlin)
    • API call management and response handling with Retrofit.
    • Advanced error handling protocols and retry logic.
    • JSON parsing utilities using Gson or Moshi.
    • Secure communication protocols utilizing HTTPS and OAuth authentication.

Week 4: Networking in React Native

  • API Integration with Axios and Fetch
    • Sophisticated API integration techniques using Axios and native Fetch.
    • Strategic error handling and retry mechanisms for network requests.
    • Authentication workflow management (JWT, OAuth).
  • WebSockets and Real-Time Communication
    • Foundations of WebSocket implementation in React Native.
    • Development of real-time features such as chat interfaces and notification systems.
    • Management of persistent connections and dynamic data updates.

Week 5: Advanced Data Persistence Techniques

  • Core Data and SQLite (iOS)
    • Advanced relationship modeling, fetching strategies, and query optimization in Core Data.
    • Direct SQLite usage for iOS applications and database connection management.
    • Efficient data processing and performance tuning.
  • Room Persistence and SQLite (Android)
    • Complex relationship management and query optimization in Room.
    • Handling large-scale datasets and enhancing database performance.
    • Use of ProGuard to secure and obfuscate database structures.
  • Firebase for Cloud Storage (iOS and Android)
    • Real-time database management through Firebase integration.
    • Best practices for synchronizing local data with cloud storage.

Week 6: Advanced State Management in React Native

  • Redux for State Management
    • Advanced Redux patterns: Middlewares, Thunks, and Sagas.
    • Performance optimization and scalability strategies for Redux.
  • Recoil for State Management
    • Overview of Recoil as a flexible alternative to Redux.
    • Managing large-scale state across complex component hierarchies.
    • Efficient state updates and atomic state management principles.

Week 7: Advanced Animations in iOS and Android

  • iOS (Swift)
    • Core Animation: Animating views, layers, and screen transitions.
    • UIKit Dynamics: Creating physics-based interactive animations.
    • Custom transitions and animations between view controllers.
  • Android (Kotlin)
    • Complex animation creation using MotionLayout.
    • TransitionManager and shared element transitions.
    • Property animations for scaling, rotation, and alpha effects.

Week 8: Animations and UI/UX in React Native

  • React Native Animations
    • Implementation of complex animations using the Animated API and Reanimated.
    • Gesture and interaction handling via React Native Gesture Handler.
    • Best practices for ensuring high-performance animations.
  • Creating Custom UI Components
    • Development of reusable and customizable UI components.
    • Implementation of responsive designs using media queries and flexbox layouts.

Week 9: Integrating Native Modules and Device Features

  • Accessing Native Device Features
    • Advanced integration of cameras, geolocation, Bluetooth, and sensors.
    • Creation of native modules in Swift and Kotlin for React Native integration.
    • Integration of ARKit for augmented reality experiences on iOS.
    • Integration of CameraX and ARCore for augmented reality features on Android.
  • React Native Bridge and Native Modules
    • Construction of custom native modules for platform-specific functionality.
    • Development of Java and Swift bridges for React Native applications.
    • Best practices for managing native code within a cross-platform architecture.

Week 10: Testing and Debugging Advanced Applications

  • Testing in iOS (Swift)
    • Unit testing with XCTest and UI testing workflows for iOS.
    • Performance profiling and memory leak detection using Xcode Instruments.
    • Establishing continuous integration and testing workflows with Jenkins and CircleCI.
  • Testing in Android (Kotlin)
    • Advanced testing strategies using JUnit and Espresso.
    • Performance profiling and bottleneck identification using Android Profiler.
    • Automated cross-device testing using Firebase Test Lab.
  • React Native Testing
    • Unit testing with Jest and component testing with Enzyme.
    • End-to-end testing implementation using Detox and automated test setups.
    • Performance profiling utilizing React Native Debugger and Flipper.

Week 11: App Deployment and Continuous Integration

  • App Store (iOS) Deployment
    • Preparation for submission: Managing App Store certificates, provisioning profiles, and TestFlight beta testing.
    • Automation of iOS app deployment workflows using Fastlane.
    • Management of App Store Connect and app review processes.
  • Google Play (Android) Deployment
    • APK preparation and signing for Google Play submission.
    • Automation of Android deployment using Fastlane and Gradle.
    • Utilizing Google Play Console for app reviews and beta distribution.
  • Setting up CI/CD Pipelines
    • Configuration of Jenkins, GitHub Actions, or CircleCI for automated build and deployment.
    • Implementation of Fastlane for unified iOS and Android CI/CD workflows.
    • Best practices for versioning, build number management, and release channel strategy.

Week 12: Capstone Project

  • Final Project Development
    • Design and development of a fully functional application integrating advanced features acquired throughout the course.
    • Implementation of custom UI/UX, advanced animations, state management, native module integration, and real-time API communication.
    • Performance optimization and final deployment to the App Store and Google Play.

Summary and Next Steps

Requirements

  • A robust command of core programming principles, with particular proficiency in Swift, Kotlin, and JavaScript.
  • Demonstrated experience in developing foundational applications for iOS, Android, or via React Native.
  • Working knowledge of architectural patterns such as MVC or MVVM, including practical experience with fundamental state management techniques.

Target Audience

  • Mobile application developers.
  • Professional software programmers.

Custom Corporate Training

Training solutions designed exclusively for businesses.

  • Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
  • Flexible Schedule: Dates and times adapted to your team's agenda.
  • Format: Online (live), In-company (at your offices), or Hybrid.
Investment

Price per private group, online live training, starting from 7250 € + VAT*

Contact us for an exact quote and to hear our latest promotions

Testimonials (4)

Upcoming Courses

Related Categories