- Exhaustive sealed classes, and real Swift enums.
- Default arguments.
- Seamless suspend functions and Flows.
SKIE is now open source and freely available. The functionality introduced by SKIE will make Kotlin APIs much simpler to design for iOS, and make calling them from Swift a much better experience.
The bottom line: Every KMP project exporting to Swift should consider trying SKIE, and every new project should have it added from the start.
Essential SKIE Resources
SKIE is easy to install on new projects, but seeing it in action will help understand how it works and how best to use it. We have a demo app that walks through the major features of SKIE. Over the coming weeks we will also be publishing updates to our reference app KaMP Kit, and content around using KMMBridge and SKIE to pilot KMP in existing teams and how to publish internal SDKs for larger teams.
SKIE was designed to be as source-compatible as possible, but it does change the types of the API exposed from Kotlin to Swift. If you have an existing code base, you should understand how to approach adding SKIE in a way that does not disrupt your team.
Detailed feature and configuration docs.
SKIE GitHub Repo
Add a star if you want to help support our work!
SKIE was a huge effort. We’ll have content coming out soon covering some of the details on the scope of work and testing involved.
Thanks first to the Touchlab team in general, and Tadeas and Filip specifically, for the excellent work. We had no idea of the scope of work when we started. It’s been a solid year of serious work, but the result is fantastic.
We’d also like to call out the Block team for their continued support of Touchlab and our KMP efforts.
Thanks to our friends at JetBrains for their feedback and assistance with some deep compiler stuff.
Finally, thanks to the Kotlin Multiplatform community. It’s been growing dramatically, and we look forward to hearing from you!