We may earn an affiliate commission when you visit our partners.
Moj Amiri

In this comprehensive Udemy course, we'll embark on an exciting journey through three main sections designed to equip you with the skills and knowledge needed to build native apps for both iOS and Android platforms.

This course is designed in a way that non-Android developers also can start coding Compose Multiplatform. The first section, will dive into the essentials of Kotlin, covering everything needed to familiarize with Kotlin. Whether you're new to Kotlin or looking to deepen your understanding, this section will provide you with a solid foundation for the rest of the course.

Read more

In this comprehensive Udemy course, we'll embark on an exciting journey through three main sections designed to equip you with the skills and knowledge needed to build native apps for both iOS and Android platforms.

This course is designed in a way that non-Android developers also can start coding Compose Multiplatform. The first section, will dive into the essentials of Kotlin, covering everything needed to familiarize with Kotlin. Whether you're new to Kotlin or looking to deepen your understanding, this section will provide you with a solid foundation for the rest of the course.

Next, we'll explore the power of Compose – Google's modern UI toolkit for building native user interfaces. You'll learn how to leverage Compose's declarative approach to design beautiful and dynamic UIs that adapt seamlessly across different devices and screen sizes. We will build a sample app together from scratch.

Finally, in the last part of the course, we'll go even deeper by building a Social Network app from scratch. You'll learn how to approach a UI design, and implement a fully functional app that integrates with backend services, saves data to a local Room database, and handles user navigation, consumes location services from both Android and iOS. This section showcases the full potential of Compose Multiplatform Mobile.

Whether you're a seasoned developer looking to expand your skill set or a newcomer eager to dive into the world of cross-platform app development, this course is your gateway to success. Join me on this exciting journey, and let's unlock the potential of Compose Multiplatform together.

Enroll now

What's inside

Learning objectives

  • What is compose multiplatform and why you should learn it in 2024
  • How to write compose code by doing a complete implementation of a calculator app
  • A quick ramp up to learn essentials of kotlin for devs who are from swift, python, or js world
  • How to build a social network app in compose multiplatform
  • Learn how to handle the navigation and dependency inject compose multiplatform
  • Learn how to use configure and use room databases in compose multiplatform project
  • Learn how to make the api calls using ktor
  • Learn how to use mobile-specific resources like gps location
  • Learn how to handle mobile-specific events in compose multiplatform

Syllabus

Introduction
Why not Flutter or ReactNative?
This section is a quick and brief Kotlin essential intro for whoever is not familiar with it. Feel free to skip it if you already know Kotlin programming language.
Read more
Intro - What we see in a Kotlin file
Kotlin Programming - Variables
Kotlin Programming - Null Safety and lateInit
Kotlin Programming - Conditionals and Loops
Kotlin Programming - functions
Kotlin Programming - Classes
Kotlin Programming - Objects in Kotlin
Kotlin Programming - Interfaces and Anonymous Objects
Kotlin Programming - Scope Functions
Kotlin Programming - Coroutines
In this section we are going to setup our development environment and make sure we have all the required items installed.
Intro - what we need to install
Check JDK Installation
Install KMM plugin
Check Kotlin version
Final check with Kdoctor
We are going to learn what is compose. To learn this, we build an app together and run it on iOS and Android. The purpose of our first app is to practice writing Compose UI code.
Intro - What is Compose
Get our initial code from KMM wizard
First look at the project in Android Studio
Calculator App - Clean init code
Calculator App - Add top text
Calculator App - Buttons
Calculator App - Arranging Our Buttons and Text (The wrong way!)
Calculator App - Arranging Our Buttons and Text (Better way)
Calculator App - Modifiers
Calculator App - Modifiers Part 2
Calculator App - Styling Part 1
Calculator App - Styling Part 2
Calculator App - Code Re-Arrangement
Calculatro App - ViewModel Init
Calculatro App - ViewModel Logic
Calculator App - ViewModel Final
In this section we are going to dive into a real world app example. We build a social network app that has backend, local database, dependency injection and much more.
DishPal - Introduction
DishPal - Setup
DishPal - Project First look
DishPal - Update App Icon
DishPal - Package setup
DishPal - Navigation initial code
DishPal - Themes
DishPal - Onboarding Screens
DishPal - Onboarding Screens Implementation
DishPal - Main Screen Intro
DishPal - MainScreen Part 1
DishPal - Main Screen Part 2
DishPal - Main Screen Part 3
DishPal - Main Screen Part 4
DishPal - Main Screen Navbar Part 1
DishPal - Main Screen Navbar Part 2
DishPal - Main Screen Navbar Part 3
DishPal - Main Screen Navbar Part 4
DishPal - Main Screen Home Part 1
DishPal - Main Screen Home Part 2
DishPal - Main Screen Home Part 3
DishPal - Main Screen Home - Post Card Design Part 1
DishPal - Main Screen Home - Post Card Design Part 2
DishPal - Main Screen Home - Post Card Design Part 3
DishPal - Main Screen Home - Post Card Design Part 4
DishPal - Main Screen Home - Post Card Design Part 5
DishPal - API Call
DishPal - API Call Part 2
DishPal - API Call Part 3
DishPal - Add Dependency Injection (Koin)
DishPal - Add Local Database (Room) Part 1
DishPal - Add Local Database (Room) Part 2
DishPal - Add Local Database (Room) Part 3
DishPal - User Basic Login Part 1
DishPal - User Basic Login Part 2
DishPal - User Basic Login Part 3
DishPal - User Basic Login Part 4
DishPal - User Basic Login Part 5
DishPal - User Basic Login Part 6
DishPal - User Basic Login Part 7
DishPal - User Basic Login Part 8
DishPal - User Basic Login Part 9
DishPal - Deep Linking Part 1
DishPal - Deep Linking Part 2
DishPal - Location Request Part 1
DishPal - Location Request Part 2
DishPal - Location Request Part 3
DishPal - Location Request Part 4
DishPal - Location Request Part 5
DishPal - Location Request Part 6

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers Kotlin essentials, which allows developers from Swift, Python, or JavaScript backgrounds to quickly adapt to Compose Multiplatform development
Teaches how to build a social network app with backend integration, local database, dependency injection, and more, offering practical experience
Explores the use of mobile-specific resources like GPS location and handling mobile-specific events, enhancing the app's functionality
Uses Ktor for making API calls, which is a modern and lightweight Kotlin framework for building asynchronous clients and servers
Requires the installation of the KMM plugin and familiarity with JDK, which may pose a slight barrier for complete beginners
Uses Room database for local data storage, which is a persistence library recommended by Android for saving structured data on the client side

Save this course

Save Compose Multiplatform for iOS and Android to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Compose Multiplatform for iOS and Android with these activities:
Head First Kotlin
Use a beginner-friendly book to reinforce your understanding of Kotlin. This will help you grasp the fundamentals and build a strong foundation.
View Excel Cookbook on Amazon
Show steps
  • Read the book from cover to cover, paying attention to the examples and exercises.
  • Try to apply the concepts you learn to your own projects.
Review Kotlin Fundamentals
Solidify your understanding of Kotlin syntax and core concepts before diving into Compose Multiplatform. This will make learning Compose and its integration with Kotlin much smoother.
Browse courses on Kotlin Programming
Show steps
  • Review Kotlin documentation on variables, null safety, and functions.
  • Practice writing small Kotlin programs to reinforce concepts.
  • Complete online Kotlin tutorials or exercises.
Kotlin in Action
Supplement your Kotlin knowledge with a comprehensive book. This will provide a deeper understanding of the language and its features.
Show steps
  • Read the chapters relevant to the course syllabus, focusing on areas where you feel less confident.
  • Work through the examples and exercises provided in the book.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Build a Simple UI with Compose
Gain hands-on experience with Compose by building a small, independent UI project. This will help you familiarize yourself with Compose's declarative syntax and UI building blocks.
Show steps
  • Choose a simple UI design, such as a login screen or a basic profile page.
  • Implement the UI using Compose, focusing on layout and styling.
  • Experiment with different Compose modifiers and composables.
Follow Compose Multiplatform Tutorials
Enhance your understanding of Compose Multiplatform by following tutorials that demonstrate specific features or techniques. This will expose you to different approaches and best practices.
Show steps
  • Search for tutorials on topics like navigation, state management, or data binding in Compose Multiplatform.
  • Follow the tutorial steps, adapting the code to your own projects.
  • Experiment with the tutorial code to understand how it works.
Document Your Learning Journey
Reinforce your learning by creating blog posts or documentation about your experiences with Compose Multiplatform. This will help you solidify your understanding and share your knowledge with others.
Show steps
  • Choose a specific topic related to Compose Multiplatform, such as a particular composable or a common UI pattern.
  • Write a blog post or create documentation explaining the topic, including code examples and explanations.
  • Share your content on a blog, social media, or a developer forum.
Contribute to a Compose Multiplatform Project
Deepen your understanding of Compose Multiplatform by contributing to an open-source project. This will expose you to real-world codebases and collaborative development practices.
Show steps
  • Find an open-source Compose Multiplatform project on GitHub or GitLab.
  • Identify a bug or feature that you can contribute to.
  • Submit a pull request with your changes, following the project's contribution guidelines.

Career center

Learners who complete Compose Multiplatform for iOS and Android will develop knowledge and skills that may be useful to these careers:
Cross-Platform Developer
A Cross Platform Developer builds applications that can run on multiple operating systems, reducing the need to write separate code for each platform. This course, focused on Compose Multiplatform for iOS and Android, is an ideal fit for this role. It provides direct experience in using Kotlin to build applications that work on both iOS and Android. The course teaches how to create a user interface that adapts across different devices, and also addresses the implementation of backend services, local databases, and mobile-specific resources. A cross platform developer would find the course to be particularly useful in learning how to maximize code sharing and streamline development. This is beneficial because it presents a hands on approach to building, and running, cross platform applications, which is exactly the practice a cross platform developer needs.
Mobile Application Developer
A Mobile Application Developer creates applications for mobile devices, such as smartphones and tablets. This course on Compose Multiplatform for iOS and Android directly aligns with the core responsibilities of a mobile application developer by providing hands-on experience in building native applications for both platforms by using Kotlin. The course helps build a foundation in cross-platform development by teaching the essentials of Kotlin, how to design user interfaces with Compose, and integrate backend services, local databases, and mobile-specific features such as GPS location. A mobile application developer would benefit from this by learning to build applications that can run on both iOS and Android from a single codebase. This course is highly relevant because it covers the specifics of navigation, dependency injection, API calls, and data handling, all crucial to a mobile application developer's daily work.
Mobile Software Developer
A Mobile Software Developer is responsible for creating and maintaining applications on mobile devices, and this course on Compose Multiplatform for iOS and Android is directly applicable to this role. It provides the ability to learn how to build native apps for both these platforms using Kotlin. This course teaches how to design dynamic UIs using Compose, and how to integrate backend services, use local databases, and consume location services, all while managing navigation, dependency injection, and mobile events. A mobile software developer would benefit from the comprehensive approach to mobile app development. This course will help build the specific skills required to make applications that run on both iOS and Android.
User Interface Engineer
A User Interface Engineer specializes in developing the visual and interactive elements of applications. This course, focused on Compose for multiplatform development, helps a User Interface Engineer learn how to build dynamic UIs. The course covers how to design user interfaces with Compose, which is a modern UI toolkit. This is essential learning for a user interface engineer. Furthermore, it includes practice in building UIs that adapt to different devices, and demonstrates the use of styling and modifiers. A User Interface Engineer should take this course for its practical instruction in UI construction, and the course's focus on UI design.
Application Developer
An Application Developer focuses on creating software programs that run on various platforms, and this course aligns well with that role, particularly in the mobile space. This course provides experience in developing applications using Compose for cross-platform development. The course teaches the essentials of Kotlin and how to design UIs for iOS and Android apps. In this course, an application developer learns to implement backend services, manage local databases, and handle mobile location and events. An application developer would find this approach with the course helpful for building mobile applications, as the course stresses a full stack mobile application, using a complete app as a case study.
Software Engineer
A Software Engineer designs, develops, and maintains software systems. This course helps a Software Engineer by providing a strong foundation in cross-platform application development using Compose. The curriculum offers hands-on experience in Kotlin, UI design, and the integration of backend services with mobile apps. A software engineer would benefit by gaining experience in developing a complete real world application through the building of a social network application. This course helps build proficiency in database management, API consumption, and handling mobile-specific events, all vital for a software engineer.
iOS Developer
An iOS Developer creates applications specifically for Apple's iOS platform. While this course is about cross-platform development using Compose Multiplatform, it offers valuable insight into how native UIs can be built that are shared between projects. An iOS developer will learn the essentials of Kotlin and Compose and how to use them to develop user interfaces, interact with backend services, and manage databases. The course’s approach may be useful to an iOS developer who wants to broaden their skills, and understand the modern technologies used to develop across mobile platforms. In particular, the course's use of Kotlin, and the modern UI toolkit Compose, may be useful for an iOS developer.
Android Developer
An Android Developer specializes in creating applications for the Android platform. While this course is about multiplatform development, its foundational knowledge of Kotlin and Compose are directly applicable to Android development. This course provides training in how to build user interfaces that adapt across devices, and also addresses the specifics of implementing backend services, local databases, and mobile-specific resources. An Android developer may find this course beneficial for learning the best practices for modern UI development, which can lead to an acceleration of Android development. This course also provides a broader perspective on cross platform development, which is increasingly relevant as it exposes Android developers to other platforms.
Mobile UI Designer
A Mobile UI Designer focuses on the visual and interactive elements of mobile applications. This course, while not exclusively about design, introduces the usage of Compose, which is a UI toolkit for building native user interfaces. A mobile UI designer would benefit from understanding how interfaces are constructed, and how these interfaces can be adapted to various devices and screen sizes. The course's hands on practice in building a calculator application and a social network application, may be useful in understanding how the design choices are implemented in code. A mobile UI designer may wish to take this to see the technical challenges of making designs a reality.
Full-Stack Developer
A Full Stack Developer is proficient in both front-end and back-end development. This course can help a Full Stack Developer by providing expertise in mobile application development, specifically using Compose Multiplatform. While this course does not cover back-end technologies, it provides insights into how mobile apps connect to backend services. A full stack developer can learn how to build UIs, implement databases, and handle mobile specific features. This may be useful to a full stack developer by allowing them to expand into mobile development. The course covers many important mobile development skills and concepts.
Software Development Lead
A Software Development Lead oversees the development process and guides a team of developers. This course may be helpful to provide a software development lead with insight into cross platform mobile development. A software development lead may learn how to develop applications using Compose Multiplatform. This course offers important background on the practical issues of developing mobile applications in a cross platform environment. A software development lead may take this to understand the technologies used by their teams. The course covers many areas including UI design, backend integration, and mobile specific resources.
Technology Consultant
A Technology Consultant advises clients on technology solutions. This course may be useful for a Technology Consultant to gain an understanding of modern mobile development practices. The consultant may use the knowledge gained from learning about Compose Multiplatform to advise clients on technical solutions for mobile projects. This course is helpful because it provides practical experience with cross platform development. The consultant may be aided by the course's presentation of UI design and usage of mobile-specific resources. This provides a wide perspective that a consultant may utilize.
Technical Project Manager
A Technical Project Manager is responsible for managing technical projects and ensuring they are completed on time and within budget. This course may be helpful to a technical project manager by providing context on modern technologies in mobile development, particularly with Compose Multiplatform. It may help them understand the technical challenges and opportunities associated with mobile application development. The course may inform a technical project manager about the importance of navigation, dependency injection, API calls, and database handling. They may have insight into what is involved as a project moves forward.
Mobile Product Manager
A Mobile Product Manager is responsible for the strategy, roadmap, and execution of mobile products. This course may be useful for a mobile product manager to understand the technical processes involved in creating and delivering mobile applications. This course can provide helpful information on cross platform development, and technologies such as Kotlin and Compose. A mobile product manager may benefit from the course because it provides important background in the design and implementation of mobile applications. They will gain knowledge of how mobile-specific requirements are handled by developers and implemented. All of these insights may allow them to better lead.
Computer Science Instructor
A Computer Science Instructor teaches computer science concepts, and this course may be useful in designing curriculum, especially in mobile development. This course may be useful for an instructor to understand the core components of cross-platform mobile app development using Kotlin and Compose. The instructor can learn important practices for teaching mobile app development by exploring the practical applications of creating both calculator and social media style applications, and how these applications integrate with backend services, local databases, and mobile location resources. This may be valuable in designing courses for mobile development.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Compose Multiplatform for iOS and Android.
Kotlin in Action provides a comprehensive guide to the Kotlin language, covering everything from basic syntax to advanced features. It's particularly useful for developers coming from other languages like Java or Swift. serves as an excellent reference for understanding Kotlin's design principles and best practices. It is often used as a textbook in university courses and by industry professionals.
Head First Kotlin visually engaging and interactive book that makes learning Kotlin fun and accessible. It's particularly helpful for beginners who are new to programming or who prefer a more hands-on approach. While not specifically focused on Compose Multiplatform, it provides a solid foundation in Kotlin that is essential for success in this course. is more valuable as additional reading than as a current reference.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser