You are viewing a single thread.
View all comments View context
2 points

Karax has the appeal that it is just Nim code, so there is no new syntax.

permalink
report
parent
reply
2 points

Nim does a lot of things very well, I love writing JSON and parsing JSON in Nim, probably the best experience I’ve had with JSON, followed shortly by just implementing it as a protocol in Elixir.

Karax’s pattern of just using language constructs to assemble HTML isn’t really novel, as nice as it is; Ruby has had one for ages in Builder (and several offshoots), Elixir has Temple, and there are probably some in other languages. They’re sort of one level of abstraction less than slim/haml, but its quite pleasant writing them. But they suffer some of the same issues Slim/Haml suffer, but also can suffer when trying to use them with component frameworks, or anything that exposes custom tags. This can, of course, be solved via metaprogramming or language-level templates, but it is a concern

permalink
report
parent
reply
2 points

The Temple examples look very nice; the Builder ones to my eye look quite cluttered in comparison, which I’m guessing is due to differences in syntax between their respective languages.

I tink the main downside of templating in general is that it ends up making interfacing with JavaScript and plain HTML harder, compared to CustomElementRegistry based components.

permalink
report
parent
reply
2 points
*

Builder is mostly targeted at building XML files, and so compared to XML its fairly terse. HTML is just a nice also-have. There are template langs in ruby that are a lot closer to the Elixir temple variant, but I can’t remember any of them off the top of my head haha.

A good template would make interfacing “easy”. JSX[1] is a very good example of how you can interface quite easily, and the templates used in Surface work really well to bridge some of the complexities of a server-rendered but client-dependent syntax.


  1. I know JSX isn’t a template language, the differences don’t matter for the purpose of this discussion ↩︎

permalink
report
parent
reply

Programming

!programming@beehaw.org

Create post

All things programming and coding related. Subcommunity of Technology.


This community’s icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

Community stats

  • 239

    Monthly active users

  • 246

    Posts

  • 1.6K

    Comments