https://kotlinlang.org logo
Docs
Join the conversationJoin Slack
Channels
100daysofcode
100daysofkotlin
100daysofkotlin-2021
advent-of-code
aem
ai
alexa
algeria
algolialibraries
amsterdam
android
android-architecture
android-databinding
android-studio
androidgithubprojects
androidthings
androidx
androidx-xprocessing
anime
anko
announcements
apollo-kotlin
appintro
arabic
argentina
arkenv
arksemdevteam
armenia
arrow
arrow-contributors
arrow-meta
ass
atlanta
atm17
atrium
austin
australia
austria
awesome-kotlin
ballast
bangladesh
barcelona
bayarea
bazel
beepiz-libraries
belgium
berlin
big-data
books
boston
brazil
brikk
budapest
build
build-tools
bulgaria
bydgoszcz
cambodia
canada
carrat
carrat-dev
carrat-feed
chicago
chile
china
chucker
cincinnati-user-group
cli
clikt
cloudfoundry
cn
cobalt
code-coverage
codeforces
codemash-precompiler
codereview
codingame
codingconventions
coimbatore
collaborations
colombia
colorado
communities
competitive-programming
competitivecoding
compiler
compose
compose-android
compose-desktop
compose-hiring
compose-ios
compose-mp
compose-ui-showcase
compose-wear
compose-web
connect-audit-events
corda
cork
coroutines
couchbase
coursera
croatia
cryptography
cscenter-course-2016
cucumber-bdd
cyprus
czech
dagger
data2viz
databinding
datascience
dckotlin
debugging
decompose
decouple
denmark
deprecated
detekt
detekt-hint
dev-core
dfw
docs-revamped
dokka
domain-driven-design
doodle
dsl
dublin
dutch
eap
eclipse
ecuador
edinburgh
education
effective-kotlin
effectivekotlin
emacs
embedded-kotlin
estatik
event21-community-content
events
exposed
failgood
fb-internal-demo
feed
firebase
flow
fluid-libraries
forkhandles
forum
fosdem
fp-in-kotlin
framework-elide
freenode
french
fritz2
fuchsia
functional
funktionale
gamedev
ge-kotlin
general-advice
georgia
geospatial
german-lang
getting-started
github-workflows-kt
glance
godot-kotlin
google-io
gradle
graphic
graphkool
graphql
graphql-kotlin
graviton-browser
greece
grpc
gsoc
gui
hackathons
hacktoberfest
hamburg
hamkrest
helios
helsinki
hexagon
hibernate
hikari-cp
hire-me
hiring
hongkong
hoplite
http4k
hungary
hyderabad
image-processing
india
indonesia
inkremental
intellij
intellij-plugins
intellij-tricks
internships
introduce-yourself
io
ios
iran
israel
istanbulcoders
italian
jackson-kotlin
jadx
japanese
jasync-sql
java-to-kotlin-refactoring
javadevelopers
javafx
javalin
javascript
jdbi
jhipster-kotlin
jobsworldwide
jpa
jshdq
juul-libraries
jvm-ir-backend-feedback
jxadapter
k2-early-adopters
kaal
kafka
kakao
kalasim
kapt
karachi
karg
karlsruhe
kash_shell
kaskade
kbuild
kdbc
kgen-doc-tools
kgraphql
kinta
klaxon
klock
kloudformation
kmdc
kmm-español
kmongo
knbt
knote
koalaql
koans
kobalt
kobweb
kodein
kodex
kohesive
koin
koin-dev
komapper
kondor-json
kong
kontent
kontributors
korau
korean
korge
korim
korio
korlibs
korte
kotest
kotest-contributors
kotless
kotlick
kotlin-asia
kotlin-beam
kotlin-by-example
kotlin-csv
kotlin-data-storage
kotlin-foundation
kotlin-fuel
kotlin-in-action
kotlin-inject
kotlin-latam
kotlin-logging
kotlin-multiplatform-contest
kotlin-mumbai
kotlin-native
kotlin-pakistan
kotlin-plugin
kotlin-pune
kotlin-roadmap
kotlin-samples
kotlin-sap
kotlin-serbia
kotlin-spark
kotlin-szeged
kotlin-website
kotlinacademy
kotlinbot
kotlinconf
kotlindl
kotlinforbeginners
kotlingforbeginners
kotlinlondon
kotlinmad
kotlinprogrammers
kotlinsu
kotlintest
kotlintest-devs
kotlintlv
kotlinultimatechallenge
kotlinx-datetime
kotlinx-files
kotlinx-html
kotrix
kotson
kovenant
kprompt
kraph
krawler
kroto-plus
ksp
ktcc
ktfmt
ktlint
ktor
ktp
kubed
kug-leads
kug-torino
kvision
kweb
lambdaworld_cadiz
lanark
language-evolution
language-proposals
latvia
leakcanary
leedskotlinusergroup
lets-have-fun
libgdx
libkgd
library-development
linkeddata
lithuania
london
losangeles
lottie
love
lychee
macedonia
machinelearningbawas
madrid
malaysia
mathematics
meetkotlin
memes
meta
metro-detroit
mexico
miami
micronaut
minnesota
minutest
mirror
mockk
moko
moldova
monsterpuzzle
montreal
moonbean
morocco
motionlayout
mpapt
mu
multiplatform
mumbai
munich
mvikotlin
mvrx
myndocs-oauth2-server
naming
navigation-architecture-component
nepal
new-mexico
new-zealand
newname
nigeria
nodejs
norway
npm-publish
nyc
oceania
ohio-kotlin-users
oldenburg
oolong
opensource
orbit-mvi
osgi
otpisani
package-search
pakistan
panamá
pattern-matching
pbandk
pdx
peru
philippines
phoenix
pinoy
pocketgitclient
polish
popkorn
portugal
practical-functional-programming
proguard
prozis-android-backup
pyhsikal
python
python-contributors
quasar
random
re
react
reaktive
realm
realworldkotlin
reductor
reduks
redux
redux-kotlin
refactoring-to-kotlin
reflect
refreshversions
reports
result
rethink
revolver
rhein-main
rocksdb
romania
room
rpi-pico
rsocket
russian
russian_feed
russian-kotlinasfirst
rx
rxjava
san-diego
science
scotland
scrcast
scrimage
script
scripting
seattle
serialization
server
sg-user-group
singapore
skia-wasm-interop-temp
skrape-it
slovak
snake
sofl-user-group
southafrica
spacemacs
spain
spanish
speaking
spek
spin
splitties
spotify-mobius
spring
spring-security
squarelibraries
stackoverflow
stacks
stayhungrystayfoolish
stdlib
stlouis
strife-discord-lib
strikt
students
stuttgart
sudan
swagger-gradle-codegen
swarm
sweden
swing
swiss-user-group
switzerland
talking-kotlin
tallinn
tampa
teamcity
tegal
tempe
tensorflow
terminal
test
testing
testtestest
texas
tgbotapi
thailand
tornadofx
touchlab-tools
training
tricity-kotlin-user-group
trójmiasto
truth
tunisia
turkey
turkiye
twitter-feed
uae
udacityindia
uk
ukrainian
uniflow
unkonf
uruguay
utah
uuid
vancouver
vankotlin
vertx
videos
vienna
vietnam
vim
vkug
vuejs
web-mpp
webassembly
webrtc
wimix_sentry
wwdc
zircon
Powered by Linen
javascript
  • t

    tylerwilson

    10/01/2020, 2:59 PM
    Is this still the preferred way to import JS libs? My parse import is now giving me an error when trying to run the JS unit tests (I have not run them in quite some time). Using:
    @JsModule("date-fns/parse")
    external fun parse(date: String, format: String, reference: Date): Date
    Untitled
    • 1
    • 1
  • s

    spierce7

    10/01/2020, 7:53 PM
    Is there any form of JS reflection in Kotlin?
    m
    a
    a
    • 4
    • 4
  • t

    tylerwilson

    10/02/2020, 12:38 PM
    Any way or plans to get rid of these warnings:
    text-encoding@0.7.0: no longer maintained
    v
    • 2
    • 4
  • n

    Nico

    10/03/2020, 10:40 AM
    Hi! Could anyone please show me (if it's possible) an example of a TS project using a kotlin lib which uses
    @JsExport
    ? My use case is sharing code between TS frontend and Kotlin/JVM backend, without having to rewrite my frontend in K/JS - right now I am just publishing the
    .d.ts
    and
    .js
    fat files and downloading them manually, which is a hack
    t
    j
    • 3
    • 9
  • b

    Big Chungus

    10/06/2020, 7:26 PM
    Anyone using fritz2? It's a neat and super lightweight flows based web ui framework. I've created a #fritz2 channel to hang out and discuss.
    d
    h
    • 3
    • 2
  • b

    Big Chungus

    10/06/2020, 9:54 PM
    I'm writing a gradle plugin to handle kjs publishing to npm repositories. I'd like to know what configuration options would be useful for such plugin? Could you drop your suggestions in the thread?
    v
    o
    +2
    • 5
    • 7
  • i

    iroyo

    10/07/2020, 2:53 PM
    I'm trying to build a web extension and to access this apis I want to use a npm module with some typescript type definitions. Is this even possible? I've tried adding the library to my gradle with
    npm
    and
    generateExternals
    set to true which "exposes" this APIs and I can use them from kotlin, but then fails to build the output. I've also tried with
    devNpm
    but then I cannot access them.
    a
    • 2
    • 1
  • b

    Big Chungus

    10/07/2020, 8:57 PM
    I've just published a first preview version of the gradle plugin I've been working for past couple days. It enables publishing to NPM repositories in a similar way
    maven-publish
    does for maven repsitories. It also setups your publications automatically from your JS compilations, yet allows for custom publications too. Give it a goo and let me know what you think! https://gitlab.com/lt.petuska/kpm-publish/-/releases/v0.0.2
    👍 3
    ❤️ 3
    a
    r
    • 3
    • 13
  • r

    Robert Jaros

    10/08/2020, 5:48 PM
    I managed to make it work with KVision applications, and I really wonder why HRM is not enabled by default? It makes app reload cycle at least twice as fast compared to the default configuration!
    ➕ 1
    b
    i
    t
    • 4
    • 29
  • h

    hallvard

    10/09/2020, 2:16 PM
    The docs explain how to make a webpack from kotlin/JS, but making a webjar is dfferent (the jar file should contain META-INF and a certain paths like /web/META-INF/resources/webjars/ or so). Is there an easy way to do this? Do we have a gradle plugin to turn to?
    c
    • 2
    • 2
  • r

    redbassett

    10/10/2020, 4:50 AM
    When building for a web frontend target, is there a better way to view errors than the default messages printed to the browser console? I find myself staring at a
    NullPointerException
    error constantly, but the error message just refers to a line number in the compiled JS, which is useless (as far as I have been able to determine) in tracing back to where the exception comes from. Is there a tool or method to trace this sort of exception back to the Kotlin source at all?
    r
    • 2
    • 2
  • j

    Josh Feinberg

    10/11/2020, 5:41 AM
    i'm working on a mapping from a reactmodule and trying to figure out how i would map this field in the props. I had originally thought I could just use RElement but when I tried that I get an error
    • 1
    • 3
  • r

    Rasmus Plaubor

    10/13/2020, 11:35 AM
    Reading https://kotlinlang.org/docs/reference/js-project-setup.html, the part about development/production webpack:
    Execute either of these tasks to obtain the respective artifacts for development or production.
    But is there a way to set up build types via gradle, such that one can run
    browserDevelopmentWebpack
    when running locally and
    browserProductionWebpack
    when running for production somehow? In Android you have build variants https://developer.android.com/studio/build/build-variants. Using raw webpack you can do i.e.
    webpack --mode=development
    But is there a way to do something like this for KotlinJS via gradle?
    r
    c
    • 3
    • 7
  • f

    Franco

    10/14/2020, 2:51 AM
    Hi there, I was wondering if enabling CSS support on Gradle (as shown below) already imports the
    css-loader
    and
    style-loader
    dependencies?
    kotlin.js {
        browser {
            webpackTask {
                cssSupport.enabled = true
            }
            runTask {
                cssSupport.enabled = true
            }
            testTask {
                useKarma {
                    webpackConfig.cssSupport.enabled = true
                }
        }
    }
    t
    • 2
    • 2
  • r

    Rasmus Plaubor

    10/14/2020, 7:14 AM
    How does one avoid minifying JS/CSS when running locally, while still doing so when building for production (i.e. running browserDevelopmentWebpack when local and browserProductionWebpack when production)? I find it hard to believe no one else has this need for fast turn around time locally while still maintaining minification etc. for production, and yet it is hard to find any information about it. (updated for clarity)
    a
    i
    c
    • 4
    • 5
  • b

    Big Chungus

    10/14/2020, 3:39 PM
    message has been deleted
    t
    d
    • 3
    • 16
  • a

    ankushg

    10/14/2020, 6:43 PM
    Question for folks using the new JS IR: Does
    @JsExport
    also prevent name mangling? Or do you need to use both
    @JsExport
    and
    @JsName
    for that?
    :yes: 1
    t
    a
    • 3
    • 16
  • c

    Christian Dräger

    10/15/2020, 9:13 PM
    Since kotlinjs documentation says it has interop with Javascript and the other way around I'm wondering if someone could share some experiences of having a mixed project including ts and kotlin files. For my usecase I have a react app (created with create-react-app) written in typescript and want to migrate it to Kotlin step by step. Is this possible and how would I have to set it up? I searched the web but couldn't find something beside this discussion that describes exactly my usecase but isn't answered https://discuss.kotlinlang.org/t/incremental-migration-of-typescript-projects-to-kotlin/13416
    a
    • 2
    • 7
  • d

    diesieben07

    10/16/2020, 10:21 AM
    How would I debug this error from the compiler:
    java.lang.IllegalStateException: Concrete fake override IrBasedFunctionHandle(function=org.jetbrains.kotlin.ir.declarations.impl.IrFakeOverrideFunctionImpl@53225f3c) should have exactly one concrete super-declaration: []
    (full output in thread)? There is zero indication as to which file causes this problem, the
    -verbose
    parameter seems to not change anything in the compiler output.
    m
    • 2
    • 2
  • s

    Sourabh Rawat

    10/17/2020, 4:18 PM
    how do you deploy kotlin react project to netlify?
    b
    • 2
    • 14
  • f

    Foso

    10/17/2020, 6:30 PM
    Hi everybody, I've created a project that shows how you can write Grease-/Tamper-/Violent)-monkey user scripts with KotlinJS https://github.com/Foso/gtvmonkey-scripts#greasetamperviolent-monkey-scripts-with-kotlinjs
    c
    r
    • 3
    • 6
  • m

    Marc Knaup

    10/19/2020, 12:02 AM
    Yay, first experience with Kotlin/JS & React was quite good 🎉 Things which I think need improvement: • Debugging support. I can’t really debug anything. • Faster refresh in browser after I’ve changed something in code. Lost a lot of time here. • More documentation. • Update to
    kotlinx-html
    . Seems quite dated. It’s also surprisingly easy to deploy a Kotlin React project on Cloudflare Worker Sites. https://workers.cloudflare.com/sites Maybe that could be a Gradle plugin for automatic deployment. It’s easy & cheap for getting started 🙂
    👍 4
    b
    a
    g
    • 4
    • 28
  • s

    Sourabh Rawat

    10/19/2020, 3:35 PM
    any idea how to implement
    background: inear-gradient(325deg,rgba(39,107,130,1) 0,rgba(49,84,129,1) 100%)
    in kotlin.css ?
    b
    m
    • 3
    • 6
  • s

    Sourabh Rawat

    10/19/2020, 4:10 PM
    so how do we use
    functionalComponent
    in react-router-dom. It is asking for
    ReactElement
    . How do you convert b/w them?
    r
    b
    • 3
    • 3
  • s

    Slackbot

    10/19/2020, 7:58 PM
    This message was deleted.
    v
    • 2
    • 1
  • c

    Christian Dräger

    10/19/2020, 9:29 PM
    I'm wondering if it is somehow possible to convert (compile) a kotlin file to Javascript programmatically from inside of an kotlin-jvm project? Is this even possible in generell (a cli would work as well) during runtime?
    r
    m
    b
    • 4
    • 6
  • m

    Marc Knaup

    10/20/2020, 12:53 AM
    Something that needs improvement: Lack of type safety / initialization with
    RProps
    . Easy to miss and causes an error at runtime 😅
    s
    • 2
    • 2
  • f

    Franco

    10/20/2020, 1:58 AM
    Hi everyone, I'm trying to use the
    && { }
    notation to override the default styles in the MaterialUI library using the
    kotlin-styled
    library but I can't find how to do that. I assume there must be a method inside
    CssBuilder
    that does this but I can't find it. Does anyone know what is the same of the method?
    m
    • 2
    • 7
  • p

    Patrick Doering

    10/20/2020, 9:25 AM
    Hi everyone, I try to call the run method of KafkaJS from Kotlin. For that I did the following steps: 1. Add 
    kotlinx-nodejs
     dependency 2. Run task 
    nodeJsGenerateExternals
    3. Copy from 
    externals
     to sources 4. Add to 
    index.module_kafkajs.kt
     on top 
    @file:JsModule("kafkajs")
    5. Move all typealiases (non external) to other file (in my case 
    index.module_kafkajs2.kt
    In plain JS I have to call it that way:
    await Consumer.run({
       eachMessage: async ({ topic, partition, message }) => {
         console.log({
           value: message.value.toString(),
         })
       },
     });
    In the created index.module_kafkajs.kt file I found that:
    external interface Consumer {
        fun connect(): Promise<Unit>
        fun disconnect(): Promise<Unit>
        fun subscribe(topic: ConsumerSubscribeTopic): Promise<Unit>
        fun stop(): Promise<Unit>
        fun run(config: ConsumerRunConfig = definedExternally): Promise<Unit>
        fun commitOffsets(topicPartitions: Array<TopicPartitionOffsetAndMedata>): Promise<Unit>
        fun seek(topicPartition: `T$28`)
        fun describeGroup(): Promise<GroupDescription>
        fun pause(topics: Array<`T$29`>)
        fun paused(): Array<TopicPartitions>
        fun resume(topics: Array<`T$29`>)
        fun on(eventName: ValueOf<ConsumerEvents>, listener: (args: Any) -> Unit): RemoveInstrumentationEventListener<Any>
        fun logger(): Logger
        var events: ConsumerEvents
    }
    
    and that: 
    
    external interface ConsumerRunConfig {
        var autoCommit: Boolean?
            get() = definedExternally
            set(value) = definedExternally
        var autoCommitInterval: Number?
            get() = definedExternally
            set(value) = definedExternally
        var autoCommitThreshold: Number?
            get() = definedExternally
            set(value) = definedExternally
        var eachBatchAutoResolve: Boolean?
            get() = definedExternally
            set(value) = definedExternally
        var partitionsConsumedConcurrently: Number?
            get() = definedExternally
            set(value) = definedExternally
        var eachBatch: ((payload: EachBatchPayload) -> Promise<Unit>)?
            get() = definedExternally
            set(value) = definedExternally
        var eachMessage: ((payload: EachMessagePayload) -> Promise<Unit>)?
            get() = definedExternally
            set(value) = definedExternally
    }
    Actual I don` understand how to use that from Kotlin with eachMessage. I hope somebody can help me.
    a
    • 2
    • 24
  • a

    Alan B

    10/20/2020, 12:48 PM
    Silly question for the channel. And I don’t mean this as some sort of troll bait question, so let me preface this with the fact that I am a complete Kotlin evangelist. I’ve been using it since before 1.0, and I have mandated that all new JVM code in our server-side software be written in Kotlin. My question is “Is it worth it using Kotlin for React and/or JS?“. Has it helped mitigate problems? Problems such as: Readability, maintainability, “correctness” (getting rid of those annoying JS hacks that I cannot stand to find), scoping issues, removing ambiguity, etc. What does is provide that makes it the better choice? What about bundlers and all that fun? External code imports and dealing with those types. If you have a link to a good write-up of this, that would be enough. I don’t want you to waste your time. I’m just trying to make an educated decision on where we are going next within our company. Side note: I am considering diving into using Kotlin for more than just server-side code. We are currently using React native (huge mistake, IMHO) on the mobile side, React in the browser. As for the mobile side, I am considering Kotlin Multiplatform Mobile, and tossing React Native for native UIs.
    👍 4
    b
    a
    +3
    • 6
    • 24
Powered by Linen
Title
a

Alan B

10/20/2020, 12:48 PM
Silly question for the channel. And I don’t mean this as some sort of troll bait question, so let me preface this with the fact that I am a complete Kotlin evangelist. I’ve been using it since before 1.0, and I have mandated that all new JVM code in our server-side software be written in Kotlin. My question is “Is it worth it using Kotlin for React and/or JS?“. Has it helped mitigate problems? Problems such as: Readability, maintainability, “correctness” (getting rid of those annoying JS hacks that I cannot stand to find), scoping issues, removing ambiguity, etc. What does is provide that makes it the better choice? What about bundlers and all that fun? External code imports and dealing with those types. If you have a link to a good write-up of this, that would be enough. I don’t want you to waste your time. I’m just trying to make an educated decision on where we are going next within our company. Side note: I am considering diving into using Kotlin for more than just server-side code. We are currently using React native (huge mistake, IMHO) on the mobile side, React in the browser. As for the mobile side, I am considering Kotlin Multiplatform Mobile, and tossing React Native for native UIs.
👍 4
b

Big Chungus

10/20/2020, 12:54 PM
My personal opinion on this is to only use Kotlin/JS if you want to share code with your server or other platforms, otherwise I'd recomment sticking with TypeScript. Don't get me wrong, though, KotlinReact is not bad, it's just that it still requires quite some tinkering sometimes, whereas TypeScript is fully supported by React team themselves
a

Alan B

10/20/2020, 1:02 PM
Thanks. That is one route of a “mandate” that I am considering. Our software is basically all closed (healthcare), so we don’t have any major components we can share with the world. So, in this case, do you forgo the whole “PropType” definitions and just allow TS definitions to provide these types? I know that is a supposed issue if you want to share your TS code with other non-TS react projects. But, I am willing to get rid of that boilerplate and annoyance if I get TS. I do wish the React team would just give it up and dump Flow. Man that thing is just so ridiculously unnecessary. Nobody else uses that thing, the docs are really awful to read, and well, TS won that battle.
b

Big Chungus

10/20/2020, 2:08 PM
I didn't mean sharing components with the world. Main benefot of Kotlin/React is that it allows you to share code (not components) with your backends and mobile/desktop clients. Think of your server, desktop app, web UI and mobile apps all using the same source file containing your domain objects, interfaces, validators and busines logic
a

altavir

10/20/2020, 2:09 PM
I am quite happy with Kotlin-JS right now. I think that Kotlin React bindings is just a stepping stone and it will be possible to use much more robust Kotlin-first solutions. I think that if you have dedicated JS/TS developers, it will be quite hard to convince them to move to Kotlin, but if you want to write somethin from scratch - Kotlin Js is a good solution.
👍 1
b

Big Chungus

10/20/2020, 2:09 PM
I should probably say Kotlin/JS instead of Kotlin/React as using Kotlin/Js indirectly forces you to use Kotlin/React (or any other kotlin web framework)
m

Marc Knaup

10/20/2020, 2:10 PM
I guess you mean the other way round
b

Big Chungus

10/20/2020, 2:10 PM
There are also other kotlin-first web frameworks out there. Check out #kvision and #fritz2
👍 1
💯 1
➕ 1
@Marc Knaup don't think so. Kotlin/JS enables code sharing, not Kotlin/React 😄
m

Marc Knaup

10/20/2020, 2:11 PM
Kotlin/React depends on Kotlin/Js, not the other way round. Or maybe you mean something completely different 😄
a

altavir

10/20/2020, 2:11 PM
I had some issues with Kotlin/React. But all my problems are with React itself, not with kotlin bindings. I think that Kotlin-first solution is a way to go.
👍 1
m

Marc Knaup

10/20/2020, 2:14 PM
I haven’t used it a lot yet but here are some major points I’ve seen so far: • A solid standard library makes you so much more productive than the crutches you have in JS. • Awesome coroutines & Flows. • You don’t have to constantly learn and jump between two languages which is a huge mental burden. • You can easily reuse code across projects, esp. back-end/front-end. • Same IDE, same tools, almost same everything. Much smooth. Such fun. but • It’s still very immature. Random issues everywhere. • Tooling ain’t too good either (e.g. debugging issues, slow hot reloads). • Still some type safety issues (e.g. randomly getting problems with
undefined
because
RProps
are based on an
external interface
) • Random scoping issues (a Kotlin problem in general) b/c of excessive nesting with different receivers. • It feels boilderplate-y sometimes. • You won’t find many developers and esp. not good ones. Difficult to outsource or hire. • Very little documentation. I have no experience yet with integrating other libraries. I use it for hobby projects but probably won’t use it in proper products yet. Unless I have time, money and energy to get it going and have someone learn & implement.
a

altavir

10/20/2020, 2:26 PM
I mostly agree with @Marc Knaup’s assesment. But most of negative points go away as soon as you stop using React. Actually, I was really disapointed in it. I've taken React because there are millions of component libraries for it. And guess what? Most of them are of terrible quality, I've ended up re-implementing all require components myself in pure Kitlin-JS or in Kotlin-React. As Mark mentioned, Kotlin stdlib makes most of JS ecosystem obsolete.
m

Marc Knaup

10/20/2020, 2:28 PM
Or we wait for this 😄 https://arnestockmans.be/blog/build-run-jetpack-compose-for-desktop
a

altavir

10/20/2020, 2:29 PM
@Marc Knaup I do not think it is a huge secret, there are fully working prototypes already. They are closed for now, but at least for the desktop there was a call for pre-alpha testers.
m

Marc Knaup

10/20/2020, 2:30 PM
I just hope that we get it for the web soon 🙂
With webassembly 😁
a

altavir

10/20/2020, 2:31 PM
Well, maybe @Dmitry Romanov [JB] can share some insights on that.
s

Sebastian Aigner

10/20/2020, 5:29 PM
Hopping in here as well – I think Marc and Alexander have already said most things which currently hold true about the ecosystem. We love to see the community and number of frameworks around Kotlin/JS grow, but for now you’ll have to expect some pains – that is unfortunately the price to pay for being a somewhat early adopter 🙂. On the flip-side, we do our best to listen to your voice and concerns, and are really invested in making K/JS viable and most importantly fun/productive to work with. As for the future of WebAssembly or Compose for other platforms – Until something gets announced, there’s nothing to announce 😉
💯 1
☝️ 1
d

Dmitry Romanov [JB]

10/20/2020, 8:13 PM
@Marc Knaup Right now we are actively working on a new Kotlin-to-WebAssembly compiler backend. You can see the details and track our progress here https://youtrack.jetbrains.com/issue/KT-42292 And please also join our #webassembly channel 😉
🎉 1
m

Marc Knaup

10/20/2020, 8:19 PM
Sounds fantastic, thank you @Dmitry Romanov [JB] 🙏
b

Big Chungus

10/21/2020, 11:02 PM
@Dmitry Romanov [JB] any ETA for alpha by any chance? Not looking for anything specific. Just broadly in months/years.
d

Dmitry Romanov [JB]

10/22/2020, 3:00 PM
@Big Chungus We are not ready to promise any deadlines, cause for now the main team focus is on the new IR backend (KT-42289). Once we’ve finished preparing for Beta, we will begin to spend more resources on WASM.
b

Big Chungus

10/22/2020, 3:06 PM
Understandable, thanks!
🤝 1
Does anyone know if there's ban ETA on wasm GC proposal?
View count: 4