News-KMP

所属分类:android开发
开发工具:kotlin
文件大小:0KB
下载次数:0
上传日期:2024-02-10 15:58:52
上 传 者sh-1993
说明:  使用KMM的IOS和Android设备的新闻应用程序
(News Application for IOS and Android Devices using KMM)

文件列表:
app/
gradle/
iosApp/
shared/
build.gradle.kts
gradle.properties
gradlew
gradlew.bat
settings.gradle.kts

News-KMP

News-KMP is a Kotlin Multiplatform app for Android and IOS!

API

## How to run? - Clone the repository - Add **API_KEY** in build.gradle in :shared:core module - And that's it!! You can run the app now. **NOTE:** You can register your app on [newsapi dashboard](https://www.newsapi.ai/dashboard) & generate above api key. ## Tech stack & Open-source libraries - **Minimum SDK level** - Android 24 - iOS 15 - **Language** - Android + Shared - [Kotlin](https://kotlinlang.org/) - IOS - [Swift](https://github.com/apple/swift) - **UI Framework** - Android - [Jetpack Compose](https://developer.android.com/jetpack/compose) - IOS - [SwiftUI](https://developer.apple.com/xcode/swiftui/) - **Architecture** - [MVVM Architecture](https://developer.android.com/topic/architecture) (Model - View - ViewModel) - [Repository Pattern](https://proandroiddev.com/the-real-repository-pattern-in-android-efba8662b754) - [Coroutines](https://github.com/Kotlin/kotlinx.coroutines) + [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/) for asynchronous. - [Ktor](https://github.com/ktorio/ktor/tree/main): HTTP Client Franework for REST Apis. - [Kotlinx.serialization](https://github.com/square/moshi/): A modern JSON serialization library for Kotlin. - [Kamel](https://github.com/Kamel-Media/Kamel): Loading and caching images images from network (Android and IOS). - [Kermit](https://github.com/touchlab/Kermit): Multiplatform centralized logging utility. - [Moko](https://github.com/icerockdev/moko): Multiplatform library for managing resourses and MVVM - [BuildKonfig](https://github.com/yshrsmz/BuildKonfig): BuildConfig for Kotlin Multiplatform Project + Product Flavour in Shared Module - [Koin](https://github.com/InsertKoinIO/koin) : A pragmatic lightweight dependency injection framework for Kotlin & Kotlin Multiplatform - [Jetbrains Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform) A declarative framework for sharing UIs across multiple platforms with Kotlin ---- ## Modularization **Spotift-KMP** adopted modularization strategies below: - **Reusability**: Modulizing reusable codes properly enable opportunities for code sharing and limits code accessibility in other modules at the same time. - **Parallel Building**: Each module can be run in parallel and it reduces the build time. - **Strict visibility control**: Modules restrict to expose dedicated components and access to other layers, so it prevents they're being used outside the module - **Decentralized focusing**: Each developer team can assign their dedicated module and they can focus on their own modules. **NOTE**: The same modularization strategies are used for [shared](https://github.com/logicgupta/News-KMP/tree/main/shared) module as well For more information, check out the [Guide to app modularization](https://developer.android.com/topic/modularization). ## TODO - Details Screen of News post Article - Test cases for the common code ## Find this repository useful? :heart: Support it by joining __[stargazers](https://github.com/logicgupta/News-KMP/stargazers)__ for this repository. :star:
Also, __[follow me](https://github.com/logicgupta)__ on GitHub for my next creations!

近期下载者

相关文件


收藏者