kotlin-wrappers
koin
Our great sponsors
kotlin-wrappers | koin | |
---|---|---|
16 | 16 | |
1,287 | 8,580 | |
1.0% | 1.0% | |
9.9 | 9.2 | |
about 8 hours ago | about 14 hours ago | |
Kotlin | Kotlin | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kotlin-wrappers
-
How can I learn Kotlin web development?
If you want something more standard, I'd look at Kotlin Wrappers and look at examples of using react - https://github.com/JetBrains/kotlin-wrappers
-
Create any kind of app with Kotlin
Kotlin wrappers for JS.
-
[Typesafe HTML DSL] Is there a way to use the "%" unit in CSS?
Looking at the source code, yes there is: use suffix of pct: (-50).pct
Yes! Interesting that it isn't defined in the Length.kt file (that's where I was looking for it) and is instead in its lonesome, but I guess it makes sense as it's not actually a length value. Thanks for the help!
-
React Storybook for Kotlin/JS: Basic set up
plugins { kotlin("js") id("com.github.node-gradle.node") version "3.4.0" } kotlin { js(IR) { // let's rename it to more reusable as under that name we will access it in our boilerplate code moduleName = "stories" // browser also works fine here, we just need it for compiling purposes as of now nodejs {} // add a startup script to our package json compilations["main"].packageJson { customField( "scripts", mapOf("storybook" to "start-storybook -p 6006 -c $projectDir/.storybook --ci") ) } binaries.executable() } } tasks.named("build") { dependsOn("assemble") dependsOn("copyJsStories") } tasks.register("copyJsStories") { dependsOn("developmentExecutableCompileSync") from("$projectDir/src/main/js") into("$buildDir/compileSync/main/developmentExecutable/kotlin") // flatten all files to appear on one level eachFile { if (isDirectory) { exclude() } path = path.replace("/", ".") } } tasks.register("copyPackageJson") { dependsOn("build") from("$buildDir/tmp/publicPackageJson/package.json") into("$projectDir") } tasks.register("start") { dependsOn("build") dependsOn("npmInstall") args.addAll("run", "storybook") } tasks.named("npmInstall") { dependsOn("copyPackageJson") workingDir.set(file("$projectDir")) inputs.file("package.json") } dependencies { // dependency to the project with components implementation(project(":app")) // react dependencies to put on package.json explicitly // can resolve the actual versions on https://github.com/JetBrains/kotlin-wrappers implementation(npm("react", "^17.0.2")) implementation(npm("react-dom", "^17.0.2")) implementation(npm("react-router-dom", "^6.2.2")) // storybook specific dependencies implementation(npm("@storybook/builder-webpack5", "^6.5.9")) implementation(npm("@storybook/manager-webpack5", "^6.5.9")) implementation(npm("@storybook/node-logger", "^6.5.9")) implementation(npm("@storybook/preset-create-react-app", "^4.1.2")) implementation(npm("@storybook/react", "^6.5.9")) }
-
Do you use kotlin/js?
From my experience if you're truly trying to interop with JavaScript code that is already out there on npm, you better hope there is a library that already wraps it like kotlin wrappers. Otherwise you would have to write a wrapper library yourself or use dukat to convert typescript definitions to kotlin (which I have never had the best luck converting but maybe it got better?).
-
[AskJS] I have spent 7 years creating a JavaScript alternative, would love to hear your feedback
It's still pretty finnicky to configure and it hasn't emerged from alpha yet, so its future isn't exactly secure, but I'm hopeful as they appear to be investing a lot of resources into it and adjacent projects, e.g. the kotlin-react library.
-
Kotlin Team AMA #3: Ask Us Anything
We already have a battle-tested integration with react (it's used inside jetbrains.space) -- https://github.com/JetBrains/kotlin-wrappers And, take a look at docs and hands-on.
You can use kotlin-wrappers to write React applications or one of the Kotlin/JS frameworks.
-
KotlinJS and State Hooks
useState part of React Hooks for state management is something that even Javascript and Typescript engineers struggle with from time to time. We are going to reduce this struggle within the React ecosystem using KotlinJS and the ever incredible Kotlin-React library.
koin
-
Best Practices When Splitting Compose Functions Into Separate Files
Might want to tell koin that : https://insert-koin.io/
To use the viewModels across all screens I use dependency injection by Koin. However Google promotes Hilt, I think that is the golden standard at this point. Both frameworks support creating viewModels with a navigation back stack entry as viewModelStoreOwner.
-
KVision 6.0.0 is released
New modules allow you to easily build KVision apps with the Ballast opinionated application state management framework. You can see how Ballast (together with Koin) can help you design your application architecture in the new todomvc-ballast example.
-
Multiplatform dependency injection libraries equivalent to Dagger/Anvil
I started looking into using Kotlin/JS, and hopefully reusing a bit of code that I have, which is using Dagger and Anvil - which of course are JVM only. So I've been looking for other solutions, namely Koin and Kodein. Koin's multibinding support is... not really amazing (e.g. here, and while Kodein does support multibinding, it doesn't seem to support things like that at the declaration site - everything needs to be specified in a "DI container" (module).
-
Best libraries for Android Developers
Koin
-
Do we really need to use Dependency Injection Framework?
Now I will finish up saying Hilt is just an opinionated way to dependency injection on Android, but there are simpler frameworks out there such as Koin or Kodein that can help take away a lot of the troubles that can come when you try to make your own framework. Just know that most other frameworks tend to be runtime injection instead of compile time injection like Hilt, which can be helpful to know at compile time if you are missing a dependency in your graph as opposed to runtime when its out in the wild.
-
Can someone suggest a simple dependency injection library for TypeScript/JavaScript?
I've been using Angular a lot and I like how it works. I'm also a huge fan of koin for kotlin.
-
A Kotlin programmer's approach to microservices?
for injection, I suggest Koin (https://insert-koin.io/)
-
View Model Doesn’t Have To Depend on ViewModel
It'd be great if it worked
-
Kotlin Team AMA #3: Ask Us Anything
For DI take a look at Koin. It's a pragmatic lightweight dependency injection framework for Kotlin developers with multiplatform support. PeopleInSpace sample project uses it.
What are some alternatives?
Kodein - Painless Kotlin Dependency Injection
kotlin-guice - Guice DSL extensions for Kotlin
injekt
spring-fu - Configuration DSLs for Spring Boot
kapsule - Minimalist dependency injection library for Kotlin.
Decompose - Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing (navigation) and pluggable UI (Jetpack Compose, SwiftUI, JS React, etc.)
kotlin-guiced - Convenience Kotlin API over the Google Guice DI Library
Katana - Lightweight, minimalistic dependency injection library for Kotlin & Android
kotlinx.serialization - Kotlin multiplatform / multi-format serialization
KODI - light-weight KOtlin Dependency Injection (KODI)
realm-kotlin - Kotlin Multiplatform and Android SDK for the Realm Mobile Database: Build Better Apps Faster.
xmlutil - XML Serialization library for Kotlin