kwasm
wasmblog
kwasm | wasmblog | |
---|---|---|
2 | 1 | |
12 | 4 | |
- | - | |
0.0 | 0.0 | |
about 2 years ago | about 2 years ago | |
Kotlin | CSS | |
- | 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.
kwasm
-
Four Eras of JavaScript Frameworks
Where we will go from here, is pretty obvious.
Now that we've realized SSRs cannot be an optional afterthought, we'll soon realize SSRs with running JS on the server is a nightmare to scale - https://engineeringblog.yelp.com/2022/02/server-side-renderi...
Just search HN for "scaling server side rendering" and you'll land on a bunch of practical complications.
That doesn't mean SSR is bad. It just means we know the solution but stuck with the wrong tools.
My hypothesis is that we'll capitalize WebAssembly to run our UI rendering logic and a tiny platform-specific rendering layer to translate rendering commands from WASM to platform. Interesting side-benefit: Language choices other than Javascript.
I've already started working on a proof-of-concept React-ish library that runs on a WASM VM. IT lets you specify your UI component declaration and behaviour in Kotlin - https://github.com/joelewis/kwasm
-
Spin – WebAssembly Framework
3. A platform specific embedder can then write a tiny layer of renderer that translates commands from the WebAssmelby VM into native UI updates.
This way we can liberate UI programming from being too close to a platform and possibly could run on servers (damn fast SSR)
I'm attempting a proof of concept and I've logged my thoughts as I'm working through the project - https://github.com/joelewis/kwasm/blob/master/notes.txt
wasmblog
What are some alternatives?
wit-bindgen - A language binding generator for WebAssembly interface types
spin - Spin is the open source developer tool for building and running serverless applications powered by WebAssembly.
bartholomew - The Micro-CMS for WebAssembly and Spin
spec - WebAssembly for Proxies (ABI specification)
lunatic - Lunatic is an Erlang-inspired runtime for WebAssembly
component-model - Repository for design and specification of the Component Model
voby - A high-performance framework with fine-grained observable-based reactivity for building rich applications. [Moved to: https://github.com/vobyjs/voby]