/KMPMovies

A Compose multiplatform app, with a focus on architecture and platform specific views/features

Primary LanguageKotlinMIT LicenseMIT

KMP Movies

The KMP Movies is designed to help developers build applications for three platforms:

  • Android
  • iOS
  • Desktop
Please note that this app is still under construction, so things may break or change.

Screenshot 2023-02-27 at 9 50 39 PM

How it works?

KMP Movies leverages the power of Kotlin Multiplatform and Compose Multiplatform to create a unified codebase for all target platforms. Here's how it works for each platform:

  • Android: Runs natively on Android devices.
  • iOS: Utilizes UIKit under the hood for seamless integration with iOS devices.
  • Desktop: Employs the Skia Library to provide native-like performance on desktop platforms.

Template Features

The KMP Movies comes with several preconfigured features to accelerate your development process:

  • Version Catalogs
  • Compose Multiplatform
  • Koin for dependency injection
  • Ktor for networking
  • Kotlin serialization
  • Multiplatform image viewer

Is it production-ready?

KMP Movies can be considered both production-ready and not production-ready, depending on your requirements. You can use the UIControllers generated by Compose alongside SwiftUI or UIKit to share the UI across platforms. For platform-specific features like camera and sensors, you can utilize SwiftUI or UIKit.

If you have any suggestions or find a bug, please add it to the issues.

Troubleshooting

MacOS on Apple Chip (M1/M2)

If you encounter the error 'pod install' command failed with code 1. run the following commands in the terminal:

sudo softwareupdate --install-rosetta --agree-to-license
sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc

kashif_mehmood_ kashif-mehmood kashif-mehmood