WARNING: This project is not actively maintained and was a proof of concept using now outdated versions of Kotlin and React. See the Create React Kotlin App as an example of using Kotlin with React.
Reakt
Reakt is a Kotlin wrapper for Facebook's React library.
It includes a working port of the Flux TodoMVC Example.
To run the example, clone the repository, build the project and open index.html
from the todo/build/web
directory.
Features
- A completely typesafe wrapper over React.
- A Kotlin-based HTML builder API (no JSX equivalent is required).
Comparison
- Component: Kotlin vs JavaScript
- Actions: Kotlin vs JavaScript
- Store: Kotlin vs JavaScript
Building
- Clone repository
./gradlew buildWeb
- That's it. Now you can open
todo/build/classes/main/index.html
to see the example Todo application. - Open
build.gradle
in IntelliJ, make project will overwrite generated js, so just refresh in browser
Using in your project as a library
- Build reakt.jar (reakt/build/libs)
./gradlew reakt:jar
- In IntelliJ, you can add this jar as a dependency to your Kotlin(JavaScript) project or from the command line
kotlinc-js -output my-awesome-app.js src -library-files reakt.jar
- See Todo sample for how to use gradle build
Credits
- wizzard0's React TypeScript Definitions.
- Flux TodoMVC Example
- Kara web framework for Kotlin builder examples
Status
- Proof of concept
Roadmap
- Clean up copyrights and licenses for derivative work
- Review naming conventions (Actions/Events)
- Add properties to the CSS Style class
- Support the full React API (refs, renderToString, renderToDocument et al.)
- Wrap the test API and support DOM-based tests (probably via Karma)
- Review the visibility of the react.* package
License
This project is licensed under a MIT license.