I’m at the point where I’m wondering if choosing Svelte for NodeKit is a design error in terms of cultural fit and goals. (They want to be the “serverless” framework for Big Tech. I feel like I’m hitting my head against a wall whenever I want to adapt anything for small web use because it’s all geared towards corporate web use.)
Anyone here played with htmx and hyperscript? Any experience with the community?
Aral Balkan
in reply to Aral Balkan • • •Question to JavaScript folks who have experience with Node.js… how does the following (theoretical) code listing for a server-side route that renders an index page with a count that’s persisted in memory on the server and updated any time someone loads the page read to you?
#htmx #prototyping #NodeKit #design
Kristóf Marussy
in reply to Aral Balkan • • •my first intuition would be that this always displays
1
, becauselet count = 1
is on the top of the file, and it looks like it always gets executed when the page is renderedI’d expect a clearer separation between the initialization and the rendering, like
or maybe even (goodness forbid!)
(btw, won’t the code display 1 times even on the first request, because the condition
count > 1
gets evaluated after the post-increment? granted, I’m not familiar with the order of side-effects in jsx interpolation expressions)Aral Balkan
in reply to Aral Balkan • • •Right, thanks to your feedback, this is what the “hello, world” would look like in htmx versus the equiavelent of what I have now in Svelte.
But there’s one big drawback to htmx… no ES modules and thus no components. That’s a biggie.
🤔
#htmx #svelte #javaScript #js #nodeKit #smallWeb #prototyping
Aral Balkan
in reply to Aral Balkan • • •professional internet cat
in reply to Aral Balkan • • •count++
in a dedicated statement before returning the template and initialize the variable with 0. depending on how exactly it evaluates templates, you'll probably end up withcount
not being the same value in the two placeholders, which in turn might give you the plural form even if it displays 1.Arne Babenhauserheide
in reply to Aral Balkan • • •I’ve got experience with hyperscript. It pushes you towards a pure-JS plus CSS structure, but aside from that it works pretty well.
But it’s big tech, too. Pair it with web components and you have a powerful abstraction.
Here’s a lessons learned for web components: blog.disy.net/developing-webco…
Developing web components
Disy Tech-BlogEvan
in reply to Aral Balkan • • •out of curiosity, what about something native to the platform like Web Components. You could try a small library like μhtml for dom-diffing updates and probably figure out a way to handle SSR with it.
Platform-native technology like Web Components and template strings feel like they align more with your work.
github.com/WebReflection/uhtml
GitHub - WebReflection/uhtml: A micro HTML/SVG render
GitHubmathew 🦜☕
in reply to Aral Balkan • • •You might want to consider Vue.js. Key features:
1. You can make full use of ES modules.
2. Uses regular HTML, CSS and JS syntax in a single file per component, much like Svelte.
3. Fast builds using esbuild and Vite.
4. Can be adopted incrementally.
5. You can even use it without a special build step if you really want to:
markus.oberlehner.net/blog/goo…
Performance wise it's not quite as good as Svelte (because virtual DOM), but not too far off.
vitejs.dev/
Building Vue.js Applications Without webpack
markus.oberlehner.netandregil
in reply to mathew 🦜☕ • • •Kerfuffle
in reply to Aral Balkan • • •