libera/#shirakumo - IRC Chatlog
Search
12:42:03
hamza
We don't know what to deliver on this page. Are you sure the URL is correct and up-to-date?"
12:45:40
Colleen
<shinmera> common lisp does not run in the browser, so there cannot be by definition.
12:46:08
Colleen
<shinmera> there is parenscript, which compiles a subset of common lisp to javascript, but I have never used it.
12:47:10
Colleen
<shinmera> i don't know what you want to do, so I can't say. I always write my things without any javascript first, and then add whatever flavour or conveniencie with js on top.
12:47:45
hamza
Okay, This is a really big project, the back and front is going to be very huge (atleast from what I planned)
12:48:45
hamza
Since I am mostly going to write this alone. I would want to use something I am quicker at using and have motivation to code in...
12:49:37
hamza
My alternate plan is to use the compiled svelte code, and use those html and css files as input to Radiance.
12:50:44
hamza
However, I want to search for a good frontend framework, you told me that there are compilers for Common Lisp to JS
12:51:37
Colleen
<shinmera> well, I did use Vue for the chat client thingy, since that didn't have a backend. I enjoyed some of that
12:57:04
hamza
Thanks a lot Shinmera! Will look at a few more things and will get back to you on what I have decided!
13:00:29
Colleen
<shinmera> it works fine for what it's meant to do, which is to modify a DOM quickly.
13:03:49
Colleen
<shinmera> lquery doesn't do anything on the frontend. it's used on the server when the page is rendered.
13:04:27
Colleen
<shinmera> you get the data using a standard ajax request to an API endpoint you define.
13:09:10
Colleen
<shinmera> back when I started out JS was still seen as one of those things you can't rely on because people might have it blocked or use a browser that doesn't support it well.
13:09:52
Colleen
<shinmera> yeah. I still write my sites so they're completely usable without js though. It's a fun challenge :)
13:11:57
Colleen
<shinmera> well as I said, all of my sites work that way. JS is just a layer of convenience on top. Like fetching stuff automatically instead of requiring a button click. Making some of the visualisations more nice. things like that.
13:13:44
Colleen
<shinmera> graphql is an over-engineered mess. I tried to write a client/server library for that like five times and gave up every time
13:15:53
Colleen
<shinmera> A REST api is just "here are some urls and parameters for the urls that'll do some stuff when you request it."
13:16:25
Colleen
<shinmera> typically it'll also return data encoded in json or something instead of an html website.
13:18:25
Colleen
<shinmera> there's no way to programmatically "discover" what endpoints there are, what parameters and types it requires, etc.
13:18:55
Colleen
<shinmera> so writing a client for a REST service is always a lot of manual work of reading their docs, hoping they're accurat, and manually writing the endpoint wrappers.
13:19:49
Colleen
<shinmera> I think there's some attempts at standardising the discovery part at least but I've never bothered to look into it.
13:23:33
hamza
Yeah, I think Common Lisp to Javscript Compilers are just a mess. I think I will stick to the more organized and well-known JS frontend frameworks with Radiance and interact with them with endpoints. After all, how much JS can it be? It's just a frontend.
13:27:39
hamza
Also, what problems did you have in mind when you said that I was forgetting a lot of problems.
13:27:58
Colleen
<shinmera> I mean, in general I'm sure you must have a lot of other things to deal with that aren't related to web frameworks :^)
13:29:07
Colleen
<shinmera> I wrote a lotta web stuff around that age, though back then it was with PHP.
13:30:57
hamza
Now that I think about it I am using Svelte which was made 2 years ago or something, and Lisp which was like one of the first languages ever.
13:35:18
Colleen
<shinmera> I really wish I had the time/motivation to rewrite the layouter from first principles and make it cleas
14:56:51
Colleen
<shinmera> you need to put the data you want to insert somewhere, so that's where you put it.