An app that allows you to discover movie built with Kotlin Multiplatform Mobile which allows sharing of both UI and logic between the Android and IOS platforms
The AllAiChat KMP App is a Kotlin Compose Multiplatform project that supports Android, iOS. This app by Gemini AI enables users to retrieve information from text and images in a conversational format. It also features group-wise chat storage using SQLDelight and KStore, and allows for easy changes to the Gemini API key.
- Compose Multiplatform - Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces.
- Compose Navigation - Navigation is a key part of UI applications that allows users to move between different application screens. Compose Multiplatform adopts the Jetpack Compose approach to navigation.
- Koin - Koin is a lightweight and pragmatic dependency injection framework for Android development, allowing for easy management and injection of dependencies into Android applications.
- Coroutines - For asynchronous and more.
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- Ktor - Ktor for Android is a lightweight and efficient framework that enables developers to build high-performance server-side applications and web services on the Android platform using Kotlin.
- SqlDelight - SQLDelight generates typesafe Kotlin APIs from your SQL statements. It verifies your schema, statements, and migrations at compile-time and provides IDE features like autocomplete and refactoring which make writing and maintaining SQL simple.
- Coil - An image loading library for Android backed by Kotlin Coroutines. Support Compose multiflatform.
- ViewModel - The Android ViewModel approach to building UI can be implemented in common code using Compose Multiplatform.
- Multiplatform Settings - This is a Kotlin library for Multiplatform apps, so that common code can persist key-value data.
- FileKit - FileKit is a library that allows you to pick and save files in a simple way. On each platform, it uses the native file picker API to provide a consistent experience.
- Moko permissions - Kotlin MultiPlatform library for providing runtime permissions on iOS & Android.
- BuildKonfig - BuildConfig for Kotlin Multiplatform Project. It currently supports embedding values from gradle file.
- Android Studio - Android Studio is the official Integrated Development Environment (IDE) for Android app development.
- XCode - Xcode 14 includes everything you need to develop, test, and distribute apps across all Apple platforms.
- Code sharing: With KMP, you can write shared code that can be used across multiple platforms, such as Android and iOS.
- Single-language development: KMP enables you to use Kotlin as the primary programming language for both the shared code and platform-specific code.
- Consistent business logic: KMP allows you to implement and share business logic, network calls, data models, and other core functionalities across platforms.
- Faster time to market: By sharing code and leveraging KMP's cross-platform capabilities, developers can significantly reduce development time and effort.
- Reduced maintenance overhead
- Native platform integration: KMP allows seamless integration with platform-specific APIs, libraries, and UI components.