kwasm
Svelte
kwasm | Svelte | |
---|---|---|
2 | 635 | |
12 | 76,639 | |
- | 0.8% | |
0.0 | 9.9 | |
about 2 years ago | 2 days ago | |
Kotlin | JavaScript | |
- | MIT License |
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
Svelte
-
Securing SvelteKit Apps with Keycloak
Svelte and specifically, SvelteKit is an open source web framework that makes developing web applications easier.
-
My opinion about opinionated Prettier: 👎
the technical decision how Svelte should treat self-closing html elements was hindered by Prettier:
-
Composable architecture example: Go headless (best practices)
Svelte
-
How to optimise React Apps?
React has introduced measures like batching state updates, background concurrent rendering and memoization to tackle this. My opinion is that the best way to solve the problem is by improving their reactivity model. The app needs to be able to track the code that should be re-run on updating a given state variable and specifically update the UI corresponding to this update. Tools like solid.js and svelte work in this manner. It also eliminates the need for a virtual DOM and diffing.
-
Episode 24/13: Native Signals, Details on Angular/Wiz, Alan Agius on the Angular CLI
Similarly to Promises/A+, this effort focuses on aligning the JavaScript ecosystem. If this alignment is successful, then a standard could emerge, based on that experience. Several framework authors are collaborating here on a common model which could back their reactivity core. The current draft is based on design input from the authors/maintainers of Angular, Bubble, Ember, FAST, MobX, Preact, Qwik, RxJS, Solid, Starbeam, Svelte, Vue, Wiz, and more…
- Rich Harris: Svelte parses HTML all wrong
- Mario meets Pareto: multi-objective optimization of Mario Kart builds
- Svelte parses HTML all wrong
-
Svelte for Beginners: Easy Guide
Svelte is a powerful web framework that offers a fresh approach to building web applications. Its simplicity, reactivity model, and built-in features make it an excellent choice for developers looking to create efficient and maintainable applications. By following this guide, you should now have a good understanding of how to get started with Svelte and build your first components, routes, and transitions. You can read more about svelte on the official Svelte website.
What are some alternatives?
wit-bindgen - A language binding generator for WebAssembly interface types
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
spin - Spin is the open source developer tool for building and running serverless applications powered by WebAssembly.
lit - Lit is a simple library for building fast, lightweight web components.
spec - WebAssembly for Proxies (ABI specification)
solid - A declarative, efficient, and flexible JavaScript library for building user interfaces. [Moved to: https://github.com/solidui/solid]
lunatic - Lunatic is an Erlang-inspired runtime for WebAssembly
qwik - Instant-loading web apps, without effort
wasmblog - Blog using Bartholomew served by WASI
awesome-blazor - Resources for Blazor, a .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.
bartholomew - The Micro-CMS for WebAssembly and Spin
Next.js - The React Framework