Our great sponsors
-
van
🍦 VanJS: World's smallest reactive UI framework. Incredibly Powerful, Insanely Small - Everyone can build a useful UI app in an hour.
- VanJS " rel="nofollow noreferrer">https://vanjs.org/">VanJS
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
ctx-core
ctx-core core (ctx-core^2) libraries...used by @ctx-core/* libraries. The development monorepo has been moved to @ctx-core/dev
-
htm
Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support.
-
relysjs
Reactive Web app server focusing on MPAs with a simple server route & browser build api...uses Bunjs, Elysia, ESBuild, rmemo, & ctx-core
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
> How can something feel sugar-ish if it's actually more verbose than ordinary JS code?
I personally find XML much easier to parse than a lot of nested callbacks and I especially like that content is always inside tags, rather than another argument as part of the library's functions. p("Hello, world") is readable enough, but as soon as you start adding html attributes, it becomes less legible to me:
li(a({href: "https://vanjs.org/"}, "VanJS"))
vs.
I'm certain some people probably prefer the former over the latter, but I much prefer how JSX/XML reads. I can immediately tell where the content starts and in formatted code, I think it's a lot easier to see visually where things start and end, because of closing tags, instead of just a parentheses.
One huge benefit to VanJS is it's simplicity. It's easy to fork. I did it writing relementjs. I encourage others to fork it as well. VanJS is well written. You get a state management library (on the browser side) & a UI renderer in < 150 LoC. Very impressive. I encourage anyone interested to experiment with this. It has been very fruitful for me.
In case anyone is interested, here are my forks.
https://github.com/relementjs/relementjs
https://github.com/rmemo/rmemo, which exports https://github.com/ctx-core/ctx-core/tree/main/rmemo
One huge benefit to VanJS is it's simplicity. It's easy to fork. I did it writing relementjs. I encourage others to fork it as well. VanJS is well written. You get a state management library (on the browser side) & a UI renderer in < 150 LoC. Very impressive. I encourage anyone interested to experiment with this. It has been very fruitful for me.
In case anyone is interested, here are my forks.
https://github.com/relementjs/relementjs
https://github.com/rmemo/rmemo, which exports https://github.com/ctx-core/ctx-core/tree/main/rmemo
The preact team also dislikes transpiling jsx so they've developed an alternative using tagged template literals: https://github.com/developit/htm
One huge benefit to VanJS is it's simplicity. It's easy to fork. I did it writing relementjs. I encourage others to fork it as well. VanJS is well written. You get a state management library (on the browser side) & a UI renderer in < 150 LoC. Very impressive. I encourage anyone interested to experiment with this. It has been very fruitful for me.
In case anyone is interested, here are my forks.
https://github.com/relementjs/relementjs
https://github.com/rmemo/rmemo, which exports https://github.com/ctx-core/ctx-core/tree/main/rmemo