4 ms·
So how does developing a modern website using CL looks like? If I understood correctly, this produces the pages on server-side (so SSR). But how does "styling"
by ducktective 3y ago
So how does developing a modern website using CL looks like? If I understood correctly, this produces the pages on server-side (so SSR). But how does "styling" and "interactivity" comes into place?
- medo-bear 3y agoIt generates HTML from common lisp s-expressions. This is useful because s-expressions are much easier to write and manipulate, especially with a package like paredit. https://paredit.org/ https://paredit.org/
- fiddlerwoaroof 3y agoI’ve been using spinneret + htmx + lass[1] + parenscript (as needed) + hunchentoot for various interactive applications for a while. I don’t have a ton to show, but it’s a nice quick way to quickly produce one-off apps. And, with htmx’s websocket capabilities, you can use the browser as a sort of repl sidecar for visualizing things (together with something that generates svg) [1]: https://github.com/Shinmera/LASS https://github.com/Shinmera/LASS
- aidenn0 3y agoHave you written up anything about htmx with lisp? My last CL webapp used MithrilJS and parenscript, but htmx looks like a better fit.
- fiddlerwoaroof 3y agoNot really, I’ve intended to come up with a sort of framework for automatically serving partial pages when the relevant headers are present, but it’s pretty straightforward to use. The only slightly tricky part is spinneret’s attribute validation
- aidenn0 3y ago> The only slightly tricky part is spinneret’s attribute validation I'm firmly in camp cl-who, so not a problem for me :)
- fiddlerwoaroof 3y agoI’m not a huge fan of cl-who: I wrote a couple things with it and spinneret just seemed to work better.
- mmmm2 3y agoYeah, it does server-side rendering. I use spinneret for a flashcard / boggle website I made. It's nice and compact compared to writing the HTML by hand or using something like Jinga2. You get the full power of a programming language (the same one you're using for other stuff) to generate your html. I don't do anything fancy. I just use regular Javascript and CSS, though I do want to look into some of these other technologies.