But there are trade-offs. I don't want to pretend that there aren't. For sure. This one is most upvoted right now. So a lot of web development these days is using React, Next.js, etc. How do you see HTMX fitting into the JSX ecosystem? I know a lot of people are using JSX on the server side, because it's a really good templating language, and so I think that's probably the easiest, if you're familiar with JSX, probably the easiest way. And this is a mistake that I've seen people make, actually, with HTMX. A lot of people get excited about HTMX because they can use a different back-end programming language. So, oh, I'm going to try Go or I'm going to try Rust or something like that, and so they do both HTMX and a new server-side environment, and I think that's a mistake because it's just too much. I think you should do one at a time, and if you're familiar with JSX and you know JSX, then what you should probably do is just use JSX on the server side and start using HTMX. It's not super hard to figure out how to do it. And so I think that's probably the best first step for a JavaScript engineer is to pick something and say, okay, we're going to do this in SSR, but I'm going to use JSX on the server side and start working with it and figuring out what the patterns are because it is just a different mindset. I think also another good and effective way for JavaScript developers to think about HTMX is let's use HTMX for the dumb stuff and let's use JavaScript for the cool stuff. And I often recommend try it out with an internal tool that maybe doesn't have a great user experience right now and doesn't have a lot of attention. Try it out there and ease yourself into it because it is a very different mindset. I think my book, Hypermedia Systems, which you can get at hypermedia.systems, is good, but it's a mindset shift, so you have to give it time, and if you throw another variable in there, like a new server side language, that can often just make it a bad experience. That makes sense. I will mention I have experience with, I think it's called typed HTMX, and you can actually get auto-complete on your attributes inside of your JSX. Yeah, the tooling is coming along for sure. Yeah, they definitely play well together. And there was a question here, like what backend stacks play well with HTMX? I think everything plays well with HTMX, and that's one thing I'm really passionate about is that the web has always been this sort of open system with a bunch of different programming languages, Perl, I hope Perl makes a comeback, but PHP, Java, JavaScript, OCaml, like all these languages, Haskell Lisp, all these languages, I want all of them to be able to do web development and do, you know, nice web development. And so, HTMX, by putting that focus back on the hypermedia side of things, I think allows these languages to be great for web development. And so, I think if you have HTMX, your decision on the backend becomes more, what language do I want to use? What tools are like, if you're in AI, maybe Python is the way to go, because there are so many libraries for it. And so, you can make that decision based on your backend needs, rather than like, well, we're going to have a gigantic JavaScript codebase anyway, so we might as well use JavaScript on the backend. Definitely. And this next question is, it seems JavaScript friendly, but what about TypeScript? TypeScript? Next question. No, I'm kidding. I'm kidding. I've got no beef with TypeScript. I don't know it very well. Obviously HTMX is not written in TypeScript, but, you know, I think it's a, I like, I mean, what am I going to talk smack about TypeScript. I like Java. So, I feel like it's a good programming language, and you can use it on the server side to create HTML, so, great. You know, you can use HTMX with it effectively, I would bet. Awesome. All right. That's all the questions we have time for now, but if you have more questions, you can follow Carson over to the Glassroom, and you can actually ask your questions in person, but thank you so much, and please give it up for Carson one more time. Thank you.
Comments