The Simplest Tech Stack
ฝัง
- เผยแพร่เมื่อ 6 ก.พ. 2025
- A Go + HTMX stack to build modern web apps.
Learn more about the web - v2.scrimba.com...
💬 Topics:
What is HTMX;
HTMX Tutorial;
Go Tutorial;
Go + SQLite;
Advantages of multi page applications;
Working with Go Standard Library;
How to structure a modern web app;
JS framework alternatives;
Build a simple web app.
🥇 Become a Member - / @awesome-coding
✉️ Join the Newsletter - newsletter.awe...
📖 Blog Article - www.awesome.cl...
just reframing what Primeagen said is useless and boring
go read a paywalled medium tutorial
the absolute shock dumb people go through when smart people think with their heads and come to similar conclusions
"Since the web is neither as complex as game development nor as sensitive as the embedded systems, web developers have to create their own job security through useless complexity." That's the strongest line I've heard in a while. I'm stealing it.
Me too
Exactly. Web dev is just a simple select from database and display to browser and input from browser and save to database. Tools nowadays are uselessly complicated 😅
Gold
it depends what kind of what web app?? is it web app like figma? canva? then it's quite complex@@genechristiansomoza4931
To be honest, in my personal experience, anything with a "nice" GUI is going to be complicated because GUIs are complicated...
If you are doing a ultra minimalist interface (maybe just command line), the world is kind of your oyster.
This video is exactly what I need. I actually scared of web dev because of how complicated it seemed so I stick with embedded systems, but now I have a lot of free time and wanted to make a website.
Glad to hear!
Remember folks, it never hurts to just use css and javascript. Abstraction of the same concepts is just a dialect difference.
JSF (Java Server Faces) just waiting in the background like "oh okay we're looping entirely back to thin clients and fat servers?"
You sir should take away your JSF mention and leave this comments section immediately.
Back in the early 2010, JSF was used in one of my real work projects... I still have nightmares about Primefaces...
@@awesome-coding Was using it several years later, fixing up for a "nice" GUI done by dedicated UI\UX designer. You should get a medal for using that premature stuff.
@@awesome-coding I use JSF with PrimeFaces for my job. 😭😭
It's not all sunshine and rainbows.
Btw, it would be interesting to see something related to SPAs as well
So basically we got back to when i was doing the same with php 5 + jQuery ...
We changed this as soon as react was invented to get faster response with json and more reactive pages. Are we going back again?
My thought as well. Just looks like basic PHP
Yes we are, because 90% of the web if not more it's just simple forms, storing data and presenting it. You don't need shared state accross "components". All that mumbo jumbo it's just more fat your devs have to maintain. Back in the day the problem was that the full refresh was expensive, but with this addition HTML fixed the issue that triggered virtrualDOM manipulation.
yes because you don't have to maintain state in 3 places and do serialisation to JSON and back again for every call
Agreed. The original reason of using react was making web dev easier but it had totally turned into opposite way. People was just trying to show off to catch the latest tech ten plus years ago, even though the jobs or projects they did never needed React. I used to say now already 2024, web dev still spent hours and days on frontend to deal with code based css or JavaScript without any dragging and dropping frontend controls, this is a shame.
Hadware is cheaper, browsers are more capable
The Simplest Tech Stack with Go
PHP: "and I took that personaly"
There is an alarming number of PHP enthusiasts in the comments😅
* Coldfusion left chatroom
@@awesome-coding PHP is ❤
@@awesome-coding PHP video next?
ironically GO + HTMX is arguably simpler even then PHP... I don't know if you remember configuring php.ini and your apache httpd.conf... it was "fun"
Microsoft used to call this Active Server Pages 20+ years ago.
This stack is overlaps with every single template based web application server in existence including the original perl-based PHP which predates ASP by a long shot. making this obvious comparison doesn't make you sound as smart as you think it does. Also ASP only ran on the windows platform and there's nothing open-source about he IIS application server that it required.
@@TerenceKearns why did you feel the need to whip it out?
@@guser7137must be a devoted PHP fan
That's why they say: "When you need new ideas, read old books"
0:10 pure wisdom
this video has been on my feed for a while now, today i watched it, liked and subbed
Thank you!
please show the end result, it would make it so much easier to understand
correct
Yeah. That was my only gripe with the video, but I can imagine what it would be like in the browser.
Thanks for your feedback! Will keep it in mind for future videos.
@@awesome-coding I forgot to thank you for making the video. My bad.
I appreciate you making the video. It was the first time I’d watched someone build out anything simple with Go and HTMX.
My other option would be Prime’s video, but it’s so long, I’ve yet to watch it.
@@samuelodan2376 Thank you!
u forgot to say that Go has a nice mascot
True that :))
Lol worst part of the language
gopher? XD
@@popel_ yes that and an http server setup lol
Killer feature for sure
Great video, would love to see a deepdive on pocketbase, using a similar project example
Coming soon! Thanks for your feedback!
awesome innovative way of presenting. Thanks sir
Thank you!
I love this video. Can you make more btw?
Like seriously, its kinda maddening how over complex ts shit is.
Game dev and embedding is so simple and straightforward for me. But trying to deal with 9 quadrillion different frameworks and all this mindless bs makes me suicidal
Glad you like it! More to come!
Awesome Golang + HTMX video! Would love a deep dive on PocketBase.
Coming soon!
I've got this feeling that we're constantly reinventing the wheel somehow...
it is the same wheel - we are just presenting it as "innovation" every 10 years :D
Web devs= complexity is our hallmark
Yay for job security!
A deep dive into pocket base would be great!
Will do! Thanks for the input!
you can add templ in this stack
Especially since net/http in go 1.22 makes Gin and other frameworks mostly unnecessary.
@@charlesbcraigso what is the recommend framework then, htmx+go+templ?
Pocketbase please! I've been poking at it using its static pages with JS and HTMX calling the back end, but very nice to see what someone who knows what they are doing show one around.
I can see how Pocketbase could replace some of the fastapi/flask/quart approaches I've been using.
I really like your videos Mr. Awesome.
Working on it!
You, sir, have awesome content! Instant subscription!
Thank you!
I would like to watch a video about Pocketbase and SPA
Coming soon!
Yes, please!
What’s SPA ??
@@bestskyever Single Page Application
The Go std library now has its own HTTP router. You don't need chi anymore. (chi is what go developers used for routing until the latest release, whereas I think gin is what Node developers use because, well, they just need at least one little thing that can be overly complex to buck against the system)
Nice vid, what VSCode theme are you using?
And we are all the way back again
poketbase is really interesting. I'd like to see a video on that!
Coming soon!
You forgot about data validation, emails, async jobs, caching, etc... Like 99% of the rest of the stack.
If only we would render html, life would be so good.
Right?... It really does feel like that amounts to 1% and the 99% is complexity.
He gave up before getting to those concepts
Would be nice to see a git repository with the final code. I tried to follow along, but got stuck at the end with adding the task.html. I think I missed an update to the index.html that ties it all together?
Same. Did everything the same and in the end it didn't work.
Same. Pretty frustrating result. He never created a "task.html" file, so I'm not sure what that's referencing.
Update, I actually spent a bit of time getting this working, and I have a working repo. TH-cam doesn't like outside links, but my username is ctstewart, and the repo name is basic-todo-with-go-htmx.
I fixed several issues that were in this video that were preventing this from running. One major problem that I could not fix is Windows compatibility. Windows dev for the sqllite and Go requires gcc, something I couldn't get installed properly and gave up on. It was far easier to develop within a Dev Container using VSCode and Docker. The setup file is part of the repo.
If either of you have any questions about the changes I made to get it working, I'd be happy to help!
Yeah, seems to just be a plug for his pocketbase solution.
i convinced my company to migrate over. we decided with poem (rust) instead of go. it's a lot more productive than next.js.
You probably should do a second video about how to add authentication to this basic web app. As is, your one todo list editable by anyone finding your url isn't near anything usable.
Simplicity is no point if you can't go production ready.
Anyway, nice explanation. I'm still not sold on Go, since any back-end language could easily do the same in about as many lines of code.
more HTMX please
the less moving parts and the simplest stack are the reasons why even today there are apps running in legacy code without a single trouble and handling millions of users, and i've seen lot of developers trying to migrate to a new modern alternative creating more issues than what is solving, i know that not all websites are created equally, and some needs heavy interactivity ( which i still wants to know what is a heavy interactive websites ) of course apps like figma, penpot are the exception.
these animations are so cool, how do u make them
Thanks! I’m using Premiere Pro
@@awesome-coding cool
thanks
Can you also please make one about how to add css and interactive components like carousels using this tech stack?
Sure thing! Will add it on my todo list.
Thanks for the feedback!
Waiting on a pocketbase video :)
Fireship from eBay.
😂😂😂😂😂😂😂
A while back I would say the same, but fireship is all about AI now, or tech scandals. Good ol' days when he was doing some coding stuff. So now this is the new fireship!
He's doing a great job and the quality is also pretty good tho
hilarious xD
I'll take it.
Yes! In for a PocketBase video. It's such a cool tool.
Coming soon!
video was so good you earned yourself a subscriber !!
Yay! Thank you!
Your code in the video doesn't work. I had to move the inside the form and update the htmx version. Also the Delete buttons don't refresh the todo list and stay on the screen
Mr. Awesome
Is the shown code publicly available somewhere?
PocketBase mentioned LETSSSGOOO
amazing video!
Is there a video for SPA?
In 8:16 the form should also have method="post" attribute
Good catch!
The simplest tech stack is JS , CSS and HTML.
*the simplest way to make spaghetti
spaghetti is a language-independent phenomenon.
@@yayz_ it depends on the one coding it.
@yayz_ I love pasta!
Came here to say exactly this.
Great video!!! I have a question if you don't mind answering, which font do you use in code snippets? like on 4:48
Hey! MonoLisa :)
Would be great to have timestamps in your videos
Dont forget about Convex too - the realtime backend as a service. I would like to see how you use it with Runes
Please make fast api & fast html tutorial
please do go + html spa
Only showing code and no intermediate steps or a working solution really doesn’t demonstrate much
Thanks for the feedback! will keep it in mind.
"... use a web framework that will be around in10 years ..." :) I like this kind of humor.
:)) Vue and React are 10 years old, Angular is 8 years old. So it's not really that uncommon :D
@@awesome-coding And how different is the current version from 1.0? #ItsStillTheSame #KindOf #SomeHow 😄
Could you do a video on how to do lazy loading with this stack?
I've been using this quite a bit lately.
Please create a crash course atleast 1 hour tutorial
Nice content
Thank you!
Great stack for todo app
Great video ❤
Thank you!!
We want Pocketbase tutorial
Will do!
I think a combination of cloudflare worker with its edge based D1 database & R2 storage makes better tech stack when combined with cloudflare pages. 🤔
This is just my personal choice 😊
Yes
D1 is not edge yet
@@duayenemre I have personally tested the api performance (with D1 operations) on edge servers. It does exist on edge
What was that version of Vue that you put in the same category as HTMX ??
Petite Vue - github.com/vuejs/petite-vue
@@awesome-coding Thanks!!
Could you add a link to a full code?
Go + templ + htmx + tailwindcss is so fireeee
It's a fire until you realise that you need to implement accessible UI. I also wish you good luck in finding professional developers with reasonable salary expectations who will use this technology stack. But overall this is a great stack for hobby projects.
@@alexandershishkovskiy I do frontend at work and enjoy writing in this stack on my free time.
Can you tell me more about the a11y or give some starting point to go and learn about. I'm interested
@@alexandershishkovskiy ehh youre over emphasizing the time bottleneck that UI components are.
gopress has plenty of components already or once could use alpine and set then some components in an afternoon.
Really though, UI components arent much of a write time bottleneck, effective db queries and backend business logic are, both of which this stack excels at speeding up :)
awesome
Astro with htmx is something special btw 🎉
Make an ASP NET Core video:
-MVC
-Web API
-Blazor
I'm actually diving into the .NET code world these days, so this video might happen soon.
wait no github code provided?
03:07 3-TH 🙌
😅
"Frequent Releases" signals the _opposite_ of stack longevity. Do you see PHP getting frequent releases? Sky scrapers still under construction are not fit for occupancy.
Yes, Please SPA !!!
Will do! Thank you!
Fiber is simple and faster. HTMX may need some JS code which can be added with petite-vue
Very high interactivity on the site: use a framework as you mostly write js (or wasm) anyway. You probably won't write most changes to the backend anyway.
Minimal interactivity: return html with your backend and sprinkle in some js of your choice. (e. g. HTML, jquery, etc)
You can also use Interaction between components on site as interactivity.
Yes to Pocketbase ❤
In 9:37 you've managed to build just a Hello World app. It's not the simplest tech stack by any means. In the same time you could have built a functional CRUD app with Rails and Turbo.
Rust ecosystem is getting stronger as well
Itching to try these now . Ig who needs sleep anyway
What's your opinion about Blazor NET8
Hey! I don't have enough experience with it yet so I can't really have an informed opinion :(
Beautiful to build highly maintainable code with both a .netcore server and strong typed components, but get a comfortable wrist wrest and a ergonomic mouse for that. I´ve worked with it for two years, you will thank me for the advice.
@BazzoMusic That's great to hear that you've been working with Blazor for two years! I'd love to hear more about your experiences. What are some of the projects you've worked on? Any tips or best practices you’d recommend? Your insights would be really valuable
Please PocketBase 😊
good tuto until the end, but... where is the example of the app running? show the code working, where is the gist for the code? good animations and voice, but I think the video needs some polish, thanks anyway, it was useful
Thank you for your feedback!
3:40 .. guilty... especially with the new routing capabilities
Back in the day, we called MPAs "web applications".
🤣
Does anyone know the name of the font he is using?
Poppins and Futura for the graphics.
@@awesome-coding Oh i'm sorry, i meant the code font
Can anyone explain why multi-page apps + ssr is faster than single-page apps? 1:29
Js bundle size can make it slow
Please do a proper PB tutorial. It has been so difficult to find a good one that doesn't just stop at showing auth.
Will do! Thanks for the input!
Is React not capable to creating an MPA?
Not on its own - You need to pair it with something like Next JS or Astro to have server side rendering.
SPA please
Will do!
What about Using Rust with HTMX, i mean if you know little bit of Rust already?
It's probably the same mix. I just find Go way easier to learn and work with compare to Rust. (I also have very little experience in Rust, so I might be subjective)
Is this like streamlit?
No
Pocketbase yes
Hey bro, can you make a proper tutorial or course where you connect Pocketbase to Go and use HTMX with HTML or TEMPL? Sure if you have time, thank you and best of luck in the future!
Will do! Thanks for your input!
The only issue with go templates is that you don't have any types
If that's a real issue, you can use Templ instead.
Maybe video on fasthtml ?
Will look into it!
haters will say that latency is an issue and blablabla.
just setup multiregional apps with cloudfare and turso and u are good to go.
Say you couldn’t do that, what is the best framework across languages for latency? Honestly just curious, never really occurred to me
these framework are stupid thing happen to webdev
😂
still waiting for enterprise HTMX web that isn't todo app
I thought the json struct tags were to rename the key so it doesn't export the capitalized value
This the about the stack I'm working on right now but I added templ to the mix. Not sure that was a good idea. I'm not a fan of the fact that templ has to be compiled to go. It's just an extra step that I feel could be avoided.
The templ compilation is extremely fast though.
The fact that templ is type safe made up for the build step for me
Yes, I don't want to sound too negative about Templ.
Just sometimes I feel I get the old version of some html served. Like it couldn't compile the latest version and it serves me the last compiled version without a warning. Also the CSS is my least favorite thing. Give me nested CSS inside css(){} and a way to inject some custom properties dynamically inline.
Overal I like Templ though, i think it is good. When I wrote my first comment I just spend some time trying to my latest changes to show up. And wasn't sure why it didn't work.
why dont u make a video on ruby on rails, it would be even more simple
I don't have that much experience with RoR :(
all cool, but whats the point to learn a new stack when I know react and node well and it does 95 % of what you might need in the web app
It's always good to keep your skills sharp, expand your knowledge and understand how other people think to solve various problems?
That's why I do it at least.