Hacker News new | ask | show | jobs
by Magodo 873 days ago
> only 5 lines of javascript in the whole infernal thing. No thanks, I won't be having any of that in my program

I feel exactly the same way. HTMX is a godsend. That and a Tailwind UI purchase can make anybody very dangerous at frontend. I'm curious for other viewpoints though: what exactly about js gives that icky feeling. For me it's just the inconsistent syntax. With TS, on the other hand just seeing a node modules folder makes me nauseous. The whole thing gives me a feeling of a lack of control over what's happening and has thrown me off front end for many years until now

1 comments

Sure the language is a little iffy, but as someone who enjoys shell scripting I have used worse. I think what I don't like is managing the logic two steps removed from where it is used.

I tend to write my web apps in what is referred to today as server side rendered(Which sounds stupid to me, I am not rendering anything, I am outputting html for the html terminal to render) as such, all my logic is on one end, and mixing in logic, in a different language, for the other end feels really ugly.

I have recently tried to be a better person and get more comfortable with javascript. What I have found that works is to completely invert the logic dynamics, give the browser a single static page that has nothing in it. only a single script tag that includes a javascript file. Then generate the whole page from that. Now all your logic is still in one language[1] and really javascript is a lot of fun to write, the language is still sort of crap, but now the dynamic stuff is really simple.

1. as a footnote, the great tragedy of the web is that (script language=) only works for javascript. wasm is an attempt to rectify this, but I think that while they are doing the best they can with the shitshow they have to work with. wasm is solving the problem at entirely the wrong layer.

> I tend to write my web apps in what is referred to today as server side rendered(Which sounds stupid to me, I am not rendering anything, I am outputting html for the html terminal to render) as such, all my logic is on one end, and mixing in logic, in a different language, for the other end feels really ugly.

And you often end up with server side rendering as well (hopefully provided by your framework) to make initial page loads faster.

Using SvelteKit, Drizzle (with drizzle-zod) and tRPC, the process of building a full-stack, highly interactive web app in a single, statically-typed language is quite painless these days.
> as someone who enjoys shell scripting

Ya sick bahstahd! ;]