Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/touchlab/skiedemosample
SKIE Demo Application
https://github.com/touchlab/skiedemosample
kotlin kotlin-coroutines kotlin-multiplatform
Last synced: about 2 months ago
JSON representation
SKIE Demo Application
- Host: GitHub
- URL: https://github.com/touchlab/skiedemosample
- Owner: touchlab
- Created: 2023-09-04T18:44:23.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-30T12:45:27.000Z (11 months ago)
- Last Synced: 2024-04-18T00:13:33.672Z (9 months ago)
- Topics: kotlin, kotlin-coroutines, kotlin-multiplatform
- Language: Swift
- Homepage: https://touchlab.co/skie-demo
- Size: 132 KB
- Stars: 21
- Watchers: 8
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SKIE Demo
This project is a demo app to show off the various features of [SKIE - Swift Kotlin Interface Enhancer](https://skie.touchlab.co/).
## [SKIE Demo Article](https://touchlab.co/skie-demo)
To understand this project, you need to read the [SKIE Demo Article](https://touchlab.co/skie-demo).
## (Quick) SKIE Overview
SKIE is a tool for Kotlin Multiplatform that augments the inteface published from Kotlin to Swift. It allows various language features of Kotlin to be used from Swift.
* Type Augmentation
* Enums (exhaustive)
* Sealed Classes (exhaustive)
* Default Arguments
* Coroutines Interop
* Suspend functions (cancellable, can use from any thread)
* Flow (as AsyncSequence. Bi-directional lifecycle management)## App Screens
There are 3 main screens in the app:
### Calculator
Basic calculator. Used to show the type augmentation features of SKIE.
### Tick Counter
Very simple screen with a `Flow` backing the UI. Demonstrates the basics of SKIE `Flow` support.
### Solo Chat
A mock chat application. Shows suspend functions and `StateFlow` being used from Swift.