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.
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)
Everything is ok.
Adrian Rybka - SEOyon
Course - Flutter Development Bootcamp with Dart
Very usefull additional informations
Grzegorz - Comp S.A.
Course - BLoC Pattern
Developing the User Auth App and the kahoot activity (made myself sure that i'm absorbing the training lectures :) and its fun!)
Jhoanne - Pag-IBIG Fund
Course - .NET MAUI Fundamentals
The topic in general, the group dynamics,
David Silva Santiago - INSTITUTO MEXICANO DEL PETROLEO
Course - Advanced .NET MAUI
Machine Translated