Skip to content

Commit 2eb30a8

Browse files
committed
For touchlab#305 - Update README to include Compose Multiplatform
1 parent dec16b1 commit 2eb30a8

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

README.md

+8-5
Original file line numberDiff line numberDiff line change
@@ -121,15 +121,18 @@ As part of your evaluation, you'll need to decide if you're going to integrate K
121121

122122
### Android
123123

124-
The Android side is somewhat more straightforward. Kotlin is the preferred language for Android, and the library can be integrated as just another module library. We'll be updating soon with a general Android integration doc. In the meantime, the simplest method would be to copy the shared module into your standard Android build, and use the `app` module as a reference for dependency resolution.
124+
The Android side is somewhat more straightforward. Kotlin is the preferred language for Android, and the library can be integrated as just another module library.
125+
The main benefit of the :shared module is that it holds all the functionality needed to download, persist and display application's UI.
126+
This is accomplished by it using
127+
- Ktor - https://ktor.io/ as a Kotlin only library for handling downloads
128+
- SQLDelight - https://cashapp.github.io/sqldelight/ as a Kotlin only library for persisting data
129+
- Compose Multiplatform https://blog.jetbrains.com/kotlin/2023/05/compose-multiplatform-for-ios-is-in-alpha/ which is powered by Skia to allow displaying the same UI written in Jetpack Compose on multiple platforms.
125130

126131
### iOS
127132

128-
The iOS integration process is relatively new and has been iterating fast. Be prepared to spend more time with config related issues when integrating with a production build.
133+
The iOS side is very similar to the Android one by leveraging the same technologies through :shared showcasing the major advantage of a Compose Multiplatform project - run once and run everywhere.
129134

130-
You can integrate with Cocoapods, or by directly including the Xcode framework. If you are an Android developer without extensive iOS build experience, be aware that this is a risky option. Production build systems, for any ecosystem, tend to be complex. You'll almost certainly need to recruit somebody with experience maintaining your iOS build.
131-
132-
See [IOS_PROJ_INTEGRATION.md](docs/IOS_PROJ_INTEGRATION.md) for iOS integration information.
135+
See [IOS_PROJ_INTEGRATION.md](docs/IOS_PROJ_INTEGRATION.md) for how iOS is consuming :shared through a Podfile.
133136

134137
If you are attempting to integrate your KMP project with a production iOS application, please let us know what issues you run into and reach out with questions if stuck. This is an ongoing area of improvement for the KMP platform and we'd like to help make this as smooth as possible.
135138

0 commit comments

Comments
 (0)