Tomas Pinjušić
08/09/2024, 3:29 PMTomas Pinjušić
08/09/2024, 3:30 PMEdoardo Luppi
08/09/2024, 3:50 PMDavid Herman
08/09/2024, 3:59 PMEdoardo Luppi
08/09/2024, 4:02 PMEdoardo Luppi
08/09/2024, 4:08 PMCLOVIS
08/09/2024, 4:13 PMTomas Pinjušić
08/09/2024, 5:11 PMEdoardo Luppi
08/09/2024, 5:13 PMTomas Pinjušić
08/09/2024, 5:15 PMDavid Herman
08/09/2024, 5:43 PMCLOVIS
08/09/2024, 6:03 PMjw
08/09/2024, 6:05 PMSkaldebane
08/09/2024, 7:28 PMHildebrandt Tobias
08/09/2024, 9:24 PMSo felt it was a bit to risky to consider an non release framework.
stop fearing that the tech will be discontinued any day and their work will be for nothingThis was also a huge contention point from my colleagues. They felt like there is no reassuring presence of KotlinJS and back then it was still not stable and the kotlin-wrappers are also not stable yet. So they pushed to make the frontend TS/JS.
Edoardo Luppi
08/09/2024, 9:40 PMHildebrandt Tobias
08/09/2024, 9:45 PMEdoardo Luppi
08/09/2024, 9:54 PMthere were almost no resources onlineThe difference in random tutorials online is noticeable. Online resources are in favor of the typical JS or TS stuff obviously, given they also attract more novice programmers. However, the average resource's quality is on the low end nowadays.
and having to wrap JS libraries that we want to use is time consuming and a maintenance burdenThat's why Kotlin-only libraries needs to be pushed more. Wrapping platform's objects is ok, wrapping existing JS libraries can, indeed, be time consuming, especially around external declarations. Although, once you get the gist of it, development speed adjusts. For example, I had prototyped a full VS Code extension in K/JS with good results, and had to create externals for VS Code APIs and all the other dependencies we needed to use. We ultimately stabilized for a Kotlin core, and a lightweight amount of TypeScript for the basic interactions with VS Code APIs. In the screenshot you can see the language usage.
Edoardo Luppi
08/09/2024, 9:56 PMEdoardo Luppi
08/09/2024, 10:05 PMto do backend and frontend in KotlinJSDoing backend development and deploying on Node.js is definitely more approachable compared to developing SPAs, for example. I haven't encountered any true issue, even in interoping with JS (although, I'd have loved exportable unsigned arrays!) That's why for our webviews we opted for Angular: there is a decade of work from thousands of devs that K/JS is missing. But as I already wrote, this target is relatively new.
Hildebrandt Tobias
08/09/2024, 10:24 PMEdoardo Luppi
08/09/2024, 10:33 PMjs
target and filled the gaps (e.g. the TCP client implementation, logging, charset conversions).Edoardo Luppi
08/09/2024, 10:37 PMHildebrandt Tobias
08/09/2024, 10:40 PMEdoardo Luppi
08/09/2024, 10:43 PMHildebrandt Tobias
08/09/2024, 10:45 PMEdoardo Luppi
08/09/2024, 10:50 PMCLOVIS
08/10/2024, 9:17 AMSetting up a mixed language development environment and getting it to be smooth is * hard *Btw, if anyone of you has the kind of knowledge to do this please get in touch. I'm currently writing a Gradle plugin to use Vite/Rollup instead of Webpack, and it shows promising results (if anything, it's much faster), however as soon as someone is using a thing that's even slightly non-standard it all breaks down. I don't have the knowledge to actually understand what's going wrong. I see multiple here are working for companies that do KJS, it would help me enormously if you could ask your colleagues to help me investigate these cases so I can understand how to fix them 🙏
Edoardo Luppi
08/10/2024, 9:53 AMnx run vsc-extension:build:watch
through a run configuration, which will build vsc-extension and its dependencies, including the correct Gradle projects, before opening up the extension host window.
There is no bundling or minification going on during development, to have faster feedback and not screw up debuggability.
The bundling is then handled at packaging time by esbuild (yet again via an Nx executor).Bernhard
08/10/2024, 4:50 PMcorneil
08/14/2024, 3:58 PM