[HN Gopher] The Hitchhiker's Guide to Kotlin ___________________________________________________________________ The Hitchhiker's Guide to Kotlin Author : minnca Score : 28 points Date : 2021-09-21 20:58 UTC (2 hours ago) (HTM) web link (nathan-contino.github.io) (TXT) w3m dump (nathan-contino.github.io) | nassimsoftware wrote: | Kotlin is a really nice language. I wish it was used more | especially that now it isn't just limited to the Android and Java | ecosystems. | | Kotlin can now compile to native binaries : | https://kotlinlang.org/docs/native-overview.html#sharing-cod... | | Kotlin can now compile to Javascript : | https://kotlinlang.org/docs/js-overview.html Edit : You can even | use React with Kotlin : https://kotlinlang.org/docs/js-get- | started.html | | Kotlin can now be used for datascience as well (You can run | kotlin code in a jupyter notebook) : | https://kotlinlang.org/docs/data-science-overview.html#libra... | vips7L wrote: | Does kotlin native have a std lib yet? Last I checked you | couldn't even read a file. | pjmlp wrote: | Kotlin/Native is hardly a stable target, given that they | botched the implementation by going with an incompatible memory | model as Java, and have spent the last year fixing it by | rebooting it with a proper GC implementation. | | Hardly any better than just using GraalVM or any other JVM AOT | compiler, some of which go back to early 2000's even if only | available in commercial JDKs. | | The JavaScript compilation target still needs to do some | catching up with TypeScript. | nassimsoftware wrote: | What catching up is required compared to TypeScript? Could | you go in bit more details on that, I'm curious. | pjmlp wrote: | Ecosystem, tooling, libraries. | smallerfish wrote: | It's actually very good - debugging from the IDE now even | works. I'd recommend building around KVision rather than | raw KotlinJs (https://kvision.gitbook.io/kvision-guide/). | | The main thing that can be annoying is figuring out | module exports from a js library that you want to use | (which is probably easy enough if you have a modern | javascript background). I haven't found a library that's | stumped me yet, but some are more annoying than others. | Jetbrains have a tool called Dukat which will supposedly | one day automate this, but for now it's not there. | | Distribution size can be an issue, but it's not terrible. | My current (moderately complex) app is floating at around | 2MB. I haven't tried splitting it up, though that is | possible. | erpellan wrote: | I feel the non-JVM targets are a real distraction from what | is a lovely language. I'd rather they focussed more on fixing | the issues with kotlin in IntelliJ - you'd think controlling | both the language and the IDE would result in a less buggy | experience than the current situation. | pjmlp wrote: | I agree, to me it feels just like JetBrains turned Borland | just before the Inprise Corporation makeover. | ParanoidShroom wrote: | I do kotlin daily, almost exclusively including side projects. | | Kotlin native has been rocky personally, I'll check back in a | year. | | Kotlin on Android is a must compared to Java, else you're a | fool. Haven't seen any exceptions in the industry. | | Kotless is okay, works, but early days. | | I've seen decent backends on quarkus and kotlin. | | It's a fun language, the couroutine development is pretty nice. | Flow is a lot easier than Rxjava. | smackeyacky wrote: | Has anybody switched to mixing in Kotlin code within an existing | Java Android app? I'm not a huge fan of Java but I don't know | whether it will be too jarring for maintenance tasks if I have | both languages as code. There is a lot of XML floating around in | my app (as most Android apps have) but switching between editing | that and the Java is fine. | | I'm keen on the idea that there would be less code and my app is | getting a little creaky and could use a refresh, but does Kotlin | make the boring stuff easier? Things like inflating classes from | REST json calls, interacting with the SQLite database. | | How does it do on the more "exciting" (ahem) parts of Android | like Bluetooth? I lean heavily on RxAndroidBLE to cope with the | rubbish bluetooth stack and I think the code around that could do | with being simplified. | pjmlp wrote: | On Android, it is kind of clear, Google is doubling down on | Kotlin and the team is hardly motivated to move Android Java | into proper Java, so long term Kotlin seems to be the only path | forward. | | Still cherry picking features from Java 11 when Java 17 just | got released, https://android- | review.googlesource.com/q/project:platform%2... | smackeyacky wrote: | Oh really? Is this still a hangover from the Oracle lawsuit | stuff? | | I might give it a whirl and start replacing the easy stuff | first. In my system the worst part is the Android app and | anything that makes it easier to maintain in the long term is | welcome. | | edit: Not sure how I missed this announcement: | https://www.zdnet.com/article/google-were-using-kotlin- | progr... | pjmlp wrote: | Oracle has nothing to do with it, given that Kotlin and | Android Studio are fully dependent on the JVM ecosystem. | | If that was the reason Dart would have been a better | option, but I bet the Android team is not that keen on | having Fuchsia take away their party, hence JetPack | Composer. ___________________________________________________________________ (page generated 2021-09-21 23:00 UTC)