Rivu Chakraborty's Cohort Based Courses

Kotlin Multiplatform (KMP) | Beginner to Advanced

By Rivu Chakraborty on Oct 5, 2023
Jump to Fees and Enrollment
  • 3+ hours of Live Classes on Each Weekends (IST) for the Duration of the Course
  • 1:1 Mentorship Sessions every other week
  • Lifetime access to the cohort recordings
  • Lifetime access to the Network and Community
  • Open forums and interaction with the cohort
  • Doubt resolution during and post live sessions
  • Language of communication will be strictly english
  • Courses are not focused towards interview preparation, rather it's focused on having in depth understanding of tech
Image post 2

This course is for any developers willing to learn Kotlin Multiplatform, to be able to share code between all platforms. Developers would be required to be proficient with Kotlin. They’d be given a Kotlin quiz at the time of joining the course, failing which they’d be required to take the Kotlin Language course before starting this course. If you’re new to Kotlin, I’d recommend buying this course along with the Kotlin Language one.

Week 1 - Introduction

  • Introduction to Kotlin Multiplatform
    • Why KMP
    • What’s the difference between KMP and Cross Platform Frameworks
  • Gradle and module structure
  • Starting new KMP Project
  • shared/common module
  • expect/actual

Week 2 - Kotlin/Native and Kotlin/JS

  • Introduction to Kotlin/Native
  • Difference with Kotlin/JVM
  • Interoperability in Kotlin/Native
  • Using cocoapods for dependency
  • CocoaPods Gradle plugin
  • Introduction to Kotlin/JS
  • Kotlin/JS dead code elimination
  • Browser and DOM API
  • KotlinJS + React

Week 3 - Dependency Injection

  • Inversion of Control
  • DI vs Service Locator
  • Constructor Injection
  • Kodein
  • Koin
  • Kotlin Inject

Week 4 - Interoperability

  • Exposing APIs from Shared module
  • Using @JsExport
  • KMMBridge
  • Skie
  • Coroutines in JS and Native

Week 5 - Networking

  • Making HTTP calls from Kotlin
  • Introduction to Ktor
  • Ktor Client
    • Custiomising Ktor engine and HTTPClient for each frameworks (Darwin for iOS, OkHTTP for Android etc)
  • Content Negotiation and Parsing
    • Json with Kotlin serialization
    • Gson
    • Introduction to Protocol Buffers
  • Different Request types
    • GET, POST, PUT and DELETE
    • Limitations of Darwin (iOS)
  • Headers
  • Common Headers
  • Creating Custom Network SDK with Ktor and KMP for your organisation

Week 6 - DB (SQLDelight)

  • Introduction to SQLDelight
  • SQLite
  • Data Types supported by SQLite
  • Creating a Database
  • Creating Tables
  • Constructing Driver Instances
  • Defining Typesafe Queries
  • Bind Args
  • Type Inference
  • Named Arguments
  • Variable Arguments
  • Transactions
  • Rollback
  • Callbacks
  • Joins
  • Grouping Statements

Week 7 & 8 - Architecture, System Design and Testing

  • Introduction to clean architecture
  • Unidirectional data flow / UDF
  • MVVM, MVI and other redux based arch patterns
  • ViewModel
  • Writing unit tests
  • Following TDD with KMP
  • System Design - LLD and HLD

Week 8 - Creating SDKs with KMP

  • Creating an SDK with KMP, which will require DB and Network operations. Example: Analytics SDK or AB Testing SDK for your org.
  • Distributing the SDK effectively
    • Maven artifacts for Android/JVM
    • SPM/cocoapods for iOS
    • NPM package for js

Week 9 - Bringing it all Together

  • Create a personal blogging / portfolio app and website with KMP
  • Write the data layer, and presentation layers in KMP, use them in native UI layers
  • Basics of SwiftUI
  • Basics of Jetpack Compose
  • Basics of React js
  • Performance Measuring and Optimisations

Course Fees

₹20,000 /-

Enrollments for next batch will be announced soon. The courses and the structure will be revisited, keep an eye here.
© Copyright 2024 by Rivu Chakraborty | Kotlin, Compose and Android Courses. Built with ♥ by CreativeDesignsGuru.