This course equips learners with essential skills for building versatile applications across platforms. Starting with an introduction to cross-platform development, the course progresses to professional Android development techniques.
Overview
Syllabus
- Introduction to Cross Platform Development
- Explore the evolution, benefits, and trade-offs of modern cross-platform mobile development, balancing code reuse efficiency with authentic user experiences.
- Professional Android Development
- Learn to build stable, scalable Android apps using Jetpack architecture, professional workflows, code quality metrics, and advanced diagnostics in Android Studio.
- Cross-Platform Development Strategies
- Explore strategies for cross-platform app development by comparing React Native, Flutter, and Kotlin Multiplatform to balance code reuse, native feel, and project requirements.
- Kotlin Multiplatform Architecture
- Learn to structure Kotlin Multiplatform projects, share logic across iOS/Android, and bridge native APIs using expect/actual contracts for robust, platform-optimized apps.
- Setting Up a KMP Project
- Learn to set up a Kotlin Multiplatform (KMP) project by configuring dependencies, linking shared modules, and creating shared cross-platform logic for Android and iOS.
- Building Shared Business Logic
- Learn to build shared business logic with serializable models, SM-2 spaced repetition, and platform bridging for identical study logic on Android & iOS.
- Networking with Ktor
- Learn to configure Ktor networking in a KMP project, fetch JSON data for decks and cards, parse it with serialization, and verify integration with tests on Android and iOS.
- Consuming KMP in Android
- Learn to link a KMP shared module with Android, configure Koin for dependency injection, and implement shared UI and ViewModel across Android and iOS using Compose Multiplatform.
- Responsive Design Principles
- Master responsive design by using fluid layouts, constraints, window size classes, and adaptive UI patterns for seamless, future-proof apps across all device types and sizes.
- Building Adaptive UIs
- Learn to build adaptive UIs with Kotlin Multiplatform by detecting device window size and implementing responsive layouts that switch between lists and grids for phones and tablets.
- Tablet and Foldable Optimization
- Learn to optimize apps for tablets and foldables by implementing adaptive master-detail layouts, responsive UI, 3D card flip animations, state persistence, and real-time progress.
- Wear OS Fundamentals
- Master Wear OS fundamentals: constraint-driven design, creating glanceable UIs and Tiles, and efficient watch-phone data sync using the Wearable Data Layer API and specialized clients.
- Building for Wear OS
- Learn to build a native Wear OS app for Recall, using Compose, ScalingLazyColumn, and system integrations like health sensors, complications, and tiles for an optimized watch experience.
- Performance Optimization
- Master data-driven performance optimization: use profilers to find bottlenecks, prevent app lag, optimize UI with Compose, batch updates, and accelerate startup with lazy initialization.
- Profiling and Optimization Practice
- Practice profiling and optimizing your app: implement Room-based persistence, enable offline support, profile performance, fix N+1 queries and memory leaks, and polish UI with shimmer loading.
- Inclusive Development
- Discover how to use Compose Multiplatform's semantics to build accessible apps for all, leveraging best practices and rigorous testing for inclusive development.
- Internationalization
- Learn to internationalize apps by extracting strings, implementing plural support, and adding Spanish translation for dynamic, locale-aware UIs in Compose Multiplatform.
- Implementing Accessibility
- Learn to enhance app accessibility by merging semantics, adding state/context for screen readers, and optimizing navigation for users with vision impairments.
- Hardening the Application
- Learn how to secure apps with defense in depth, encrypted storage, protected data in transit, logic flaw prevention, and automated security in the CI/CD pipeline.
- Preparing for Production Release
- Learn how to prepare Android and iOS apps for production release, including signing, optimization, version sync, and archiving for Play Store and App Store deployment.
- Publishing to Play Store
- Learn to automate Android app packaging and release using Fastlane, ensuring reproducible, optimized, and CI/CD-friendly Play Store-ready builds with a single command.
- Monitoring and Analytics
- Learn to monitor and analyze your KMP app by integrating Firebase Analytics, Crashlytics, and Remote Config, mastering platform-specific implementations and async patterns on Android and iOS.
- Conclusion
- Congratulations on completing the course!
- DroidCon Global Companion App
- In this project, you will build a production-ready portfolio application demonstrating all program skills you learned through the course.
Taught by
Kshitiz Bali