Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/radityagumay/qualitymatters
A Best Practise on Mobile Development by Using Kotlin Multiplatform Mobile
https://github.com/radityagumay/qualitymatters
jetpack-compose kmm kotlin modern-mobile-development swiftui
Last synced: 29 days ago
JSON representation
A Best Practise on Mobile Development by Using Kotlin Multiplatform Mobile
- Host: GitHub
- URL: https://github.com/radityagumay/qualitymatters
- Owner: radityagumay
- Created: 2020-11-17T00:12:04.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2020-12-11T14:03:29.000Z (about 4 years ago)
- Last Synced: 2024-11-14T06:57:25.557Z (3 months ago)
- Topics: jetpack-compose, kmm, kotlin, modern-mobile-development, swiftui
- Language: Swift
- Homepage:
- Size: 1.44 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
![]()
![]()
QualityMatters is intended to showcases as Proof of Concept for Kotlin Multiplatform Mobile (KMM).
### Architecture
Over the last few years we've seen that multiplatfrom has emerging, started from the hybrid platfrom such as: Apache Cordova, PhoneGap, Xamarin, React Native, even a native like Flutter.
On Kotlin multiplatform there are at-least three layers of building block, such as:
1. Enterprise Business Rules
2. Interopable Business Rules
3. Platform Specific Business Rules#### Enterprise Business Rules (Common Code)
> includes the language, core libraries, and basic tools. Code written in common Kotlin works everywhere on all platforms. With Kotlin Multiplatform libraries, you can reuse the multiplatform logic in common and platform-specific code. Common code can rely on a set of libraries that cover everyday tasks such as HTTP, serialization, and managing coroutines.#### Interopable Business Rules
> use platform-specific versions of Kotlin. Platform-specific versions of Kotlin (Kotlin/JVM, Kotlin/JS, Kotlin/Native) include extensions to the Kotlin language, and platform-specific libraries and tools.#### Platform Specific Business Rules
> Here's where your native platform code is manifested. e.g Android ViewModel, or even Jetpack Compose, SwiftUI, and Jetbrains Compose### Android
- [Jetpack Compose](https://developer.android.com/jetpack/compose) A modern UI toolkit for Android### IOS
- [Swift UI](https://developer.apple.com/xcode/swiftui/) A modern UI toolkit for IOS### Foundation
- [SQLDelight](https://github.com/cashapp/sqldelight) for Multiplatform Storage
- [Ktor](https://ktor.io/) for Multiplatform Network
- [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/) for Multiplatform Reactive Patterns
- [Kodein-DI](https://github.com/Kodein-Framework/Kodein-DI) for Multiplatform Dependency Injection## License
```
Copyright 2019 Raditya Gumay.Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```