JetLime icon indicating copy to clipboard operation
JetLime copied to clipboard

Compose Multiplatform support

Open pisoj opened this issue 1 year ago • 6 comments

Introduces support for Compose Multiplatform projects. The library and the sample app are both migrated to support Android, iOS, Desktop (Windows, macOS, Linux) and the Web via kotlin/wasm.

As a result of this migration the project is now using Kotlin 2.0.0. I manually tested every platform except linux. All instrumented tests also pass. I ran spotlessApply and fixed all the issues, but for some reason it keeps making the App function in /sample/composeApp/commonMain/kotlin/App.kt private and I have not found a way to fix that (it still does the same when I run ./gradlew spotlessApply).

I also do not know anything about publishing a library, so that part is untested, but generating documentation works.

To run on any desktop platform:

./gradlew :sample:composeApp:run

To run on web:

./gradlew :sample:composeApp:wasmJsRun

closes #30 closes #31 closes #34

Windows

2024-06-16_202404

Web

2024-06-16_203121

macOS

Screenshot 2024-06-16 at 19 13 38

iOS

Simulator Screenshot - iPhone 15 Pro - 2024-06-16 at 19 16 21

Android

Screenshot_20240616_190738

pisoj avatar Jun 16 '24 19:06 pisoj

This looks great! 💯 Thanks for raising this PR. Let me review this.

pushpalroy avatar Jun 19 '24 09:06 pushpalroy

Hi, any updates on this PR?

N7ghtm4r3 avatar Jul 15 '24 23:07 N7ghtm4r3

Working on reviewing the code and getting this merged asap.

pushpalroy avatar Jul 29 '24 11:07 pushpalroy

Thank you!

N7ghtm4r3 avatar Jul 29 '24 11:07 N7ghtm4r3

Thank you so much for this PR! I really needed a timeline feature in my desktop app, and this is going to save me a lot of time.

070hm avatar Aug 14 '24 16:08 070hm

Amazing work

abdallahmehiz avatar Aug 28 '24 06:08 abdallahmehiz

Great job! Is there any ETA for when the PR is going to be merged?

armond-avanes avatar Sep 03 '24 22:09 armond-avanes

Great job! Is there any ETA for when the PR is going to be merged?

This PR should be merged by this month and a KMP library will be released.

pushpalroy avatar Sep 04 '24 09:09 pushpalroy

Great job! Is there any ETA for when the PR is going to be merged?

This PR should be merged by this month and a KMP library will be released.

The library has been migrated to KMP now and released with version 3.0.0 in the same artifact! 🚀 The library can now be used in Android, iOS, Desktop, and WASM projects! ⚡

A huge shoutout to @pisoj for raising this PR and doing the heavy lifting! 👏🏻 👏🏻

This PR will be merged now and the ReadMe will be updated with migration details. Thanks to everyone who is using this library, please provide your feedback and raise issues if needed.

pushpalroy avatar Sep 06 '24 10:09 pushpalroy

Thank you so much for the porting and this PR!

N7ghtm4r3 avatar Sep 06 '24 10:09 N7ghtm4r3