The HATE Stack - Simple and Efficient

2024 ж. 22 Мам.
49 213 Рет қаралды

Building an app with Go, Echo, HTMX, Alpine and Turso.
💬 Topics:
- What is HTMX;
- HTMX Tutorial;
- Go & Echo Tutorial;
- Working with Alpine;
- Go advantages;
- Build a full stack app in 3 easy teps;
- Scale your app with Turso;
✉️ Join the Newsletter - newsletter.awesome.club/
🥇 Become a Member - / @awesome-coding
📖 Blog Article - www.awesome.club/blog/2024/ha...
💻 GitHub Repo - github.com/awesome-club/hate-...
#javascript #htmx #go

Пікірлер
  • Thanks for sharing this, sounds like a more straightforward (and sensible) way to build modern apps. The only thin I'd disagree with you is that apps are built database-first, we have moved away from that approach decades ago, for many reasons, we don''t need to use the database as an integration layer anymore, applications now have their own persistence model and that is not shared with other apps, hence we get the luxury of designing the database last (not first), instead try domain-first and focus on the customer/user experience and journeys.

    @marco.garofalo@marco.garofalo28 күн бұрын
  • this presentation, pure gold

    @reFLEQzion@reFLEQzion3 ай бұрын
    • Thank you, kind stranger!

      @awesome-coding@awesome-coding3 ай бұрын
  • I call the more general version of this the HAT stack, htmx, alpine and a template engine, I am using it with twig to build custom wp themes with great DX and UX

    @lukasmolcic5143@lukasmolcic51433 ай бұрын
    • Sounds great!

      @awesome-coding@awesome-coding3 ай бұрын
    • Can you please point me to your repo? I want to see the work.

      @rajivkct@rajivkct3 ай бұрын
    • @@awesome-coding Also I'm testing out the new routing features in native go 1.22 so no extra framework needed keeping it even more native.

      @pylotlight@pylotlight3 ай бұрын
    • What’s twig?

      @LukePighetti@LukePighetti3 ай бұрын
    • @@LukePighetti php templating lang

      @lukasmolcic5143@lukasmolcic51433 ай бұрын
  • Thanks for the vid! Learned about a couple new libraries.

    @colinjohnson5515@colinjohnson55152 ай бұрын
  • will try to use this stack soon

    @TedoHamTole@TedoHamTole3 ай бұрын
    • Let me know how this works.

      @awesome-coding@awesome-coding3 ай бұрын
  • looking good for solo hobby development 😊

    @mlvki@mlvki3 ай бұрын
    • You are worried about maintenance in a larger project?

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-coding no, I'm just programming only as a hobby just now. Until I'm in highschool I don't plan to work somewhere But I suggest you check Laravel + Splade. I'm focusing now on Laravel. It's so good 😎😎

      @mlvki@mlvki3 ай бұрын
    • @@awesome-codingEnds up in a mess anyway 😂

      @livghit@livghit3 ай бұрын
    • @@livghit 100% all projects start great on paper, and then, 3 years later, they are a complete dumpster fire...

      @awesome-coding@awesome-coding3 ай бұрын
  • Nice video! Would love to actually see the live demo of a working app as part of a video like this.

    @uidx-bob@uidx-bob2 ай бұрын
    • Noted! Thank you for your feedback!

      @awesome-coding@awesome-coding2 ай бұрын
  • Such a good and beautiful presentation Btw what color theme is that?

    @konichan9986@konichan99863 ай бұрын
    • Thank you for the feedback! It's the default team in IntelliJ IDEA.

      @awesome-coding@awesome-coding3 ай бұрын
  • Nice! I am thinking about combinkng Go, HTMX, Templ and web components.....

    @Moggybaer@Moggybaer2 ай бұрын
    • I tried it with shoelace using benopotamus/htmx-ext-shoelace, it was good

      @phanirithvij@phanirithvijАй бұрын
  • clean :)

    @a_maxed_out_handle_of_30_chars@a_maxed_out_handle_of_30_chars3 ай бұрын
  • Great! Thanks for sharing. As a Go developer learning HTMX, this is helpful! Do you have a full course on building the blog in the video?

    @envitab@envitab14 күн бұрын
    • Glad it was helpful! I don't have any courses, I didn't think anyone would be interested 😅

      @awesome-coding@awesome-coding14 күн бұрын
    • @@awesome-coding Oh yeah, I'm interested :)

      @envitab@envitab13 күн бұрын
    • @@envitab Good to know! I'll work on something :D

      @awesome-coding@awesome-coding7 күн бұрын
  • We've come full circle to a modern jQuery + server pages of old. Waiting for a modern Ruby on Rails so we can repeat the cycle all over again.

    @mariogutierrez4989@mariogutierrez49893 ай бұрын
  • first time hate feels so good

    @maxwebstudio@maxwebstudio2 ай бұрын
    • 100%

      @awesome-coding@awesome-coding2 ай бұрын
  • Thanks for the video, this is really interesting, would there be a repository of the code anywhere to study it in detail and better understand the thinking?

    @Jagungal@Jagungal3 ай бұрын
    • Link to repo - github.com/awesome-club/hate-stack

      @awesome-coding@awesome-coding3 ай бұрын
  • Would love to see a more in depth video🙏🏾

    @dwighsonPavion@dwighsonPavion3 ай бұрын
    • Noted! Will do my best to provide a more in depth walkthrough.

      @awesome-coding@awesome-coding3 ай бұрын
    • ​@@awesome-codingsame here, would be great to see more videos like this. Thank you for this video too! I am considering a stack like this but would love to be able to quickly add npm packages when / if absolutely needed. For example, a date picker. Can I recreate it in HTMX without any js? I can. But there is already hundreds of them on the npm and sometimes, especially if you are in a rush you just want to reuse an already existing solution. In this case I wouldn't use it for state management but just client-side "magic" to make it prettier, interactive and looking more modern. Would Astro with island architecture be better than alpine for this use case? also how would I approach with final bundling, packaging (minifying, tree-shaking)? Vite?

      @veddys503@veddys5033 ай бұрын
    • @@veddys503 This is a pretty complex discussion. In this stack you should probably consider using Web Components, and go with the HTML standard. If you know you are going to rely on NPM quite a lot, and you have a Vite setup in place, Astro + Solid is the way to go. You'll lose the benefits of having Go on the backend (which, at the end of the day, performs way batter then server side JS). The truth is that Astro + Solid is way more appropriate for people who are already heavily involved in frontend. The HATE stack is more useful for backend developers who want to be able to build full stack apps, but they want to avoid the frontend JS mess (which is pretty bad, especially if you come from a mature / established environment like Go or Java).

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-codingyeah it is a little bit complex requirement. I had a similar conversation with some other devs on reddit at the r/htmx and some of them shared their vite config for their projects. Even though they use different backend languages (like Node and PHP) it pretty much addresses the same requirement. I might play a bit with vite setup and see if it gets me anywhere. My ideal setup would be go+htmx for most of the project and then if situation is "hey I need to show a diagram here" - Step 1: npm i [some package], Step 2: include, Step 3: I have a diagram.

      @veddys503@veddys5033 ай бұрын
    • @@veddys503 to make it make sense, you really need to forget about things like NPM and anything that the front-end world brought into existence haha. For most of the Js-heavy components, you could look into alpine plugins. They got things like date pickers, calendars etc

      @dwighsonPavion@dwighsonPavion3 ай бұрын
  • What is the benefit of using alpine with htmx? (Just from a brief look at alpine, it feels like htmx already does a lot of what alpine is doing, though alpine looks a bit nicer to work with in some scenarios)

    @gaurdianAQ@gaurdianAQ3 ай бұрын
    • Hey! Alpine runs JS code on the client, so you have some control in creating nicer user experiences. HTMX is a more rigid in this sense - you can update the DOM and make changes, but those changes are usually linked to some HTML response received from the server.

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-coding right that makes sense, I guess htmx can call javascript functions but they have to be predefined right? where as this allows you to more dynamically run js

      @gaurdianAQ@gaurdianAQ3 ай бұрын
  • wouldn't mixing Alpine and HTMX complicate things like in the video haviing x-on:click and hx-post on the same button ?

    @azulamazigh2789@azulamazigh27893 ай бұрын
    • One of the reason why i prefer _Hyperscript over Alpine. Clearer separation of duty.

      @FirdausAziz@FirdausAziz3 ай бұрын
  • I am interested I will look into this stack

    @abdulkadersafi@abdulkadersafi22 күн бұрын
    • Glad to hear! Let me know how it goes :)

      @awesome-coding@awesome-coding21 күн бұрын
  • Alpine distro as well

    @kelvinpina3392@kelvinpina33923 ай бұрын
  • Is this an actual editor or are you displaying what’s happening through a custom viz tool? Ref: 3:27

    @Nerdimo@Nerdimo3 ай бұрын
    • Hey! The right hand side are screen captures from IntelliJ IDEA. The left hand side (the file explorer) is custom made by me in Photoshop.

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-coding That's dedication right there, sir! Kudos

      @carlosmspk@carlosmspk3 ай бұрын
    • @@carlosmspk Thank you! :))

      @awesome-coding@awesome-coding3 ай бұрын
  • JSP JSP JSP!! and it's amazing in 2024 again!

    @AmanKumar-od6fi@AmanKumar-od6fi2 ай бұрын
  • The problem even with this is that it still adds to the loop of hell what is web dev. Everyday something new pops up solving problems of XY doing A better but lacks in B And regardless if some solution might be more complicated or more simplified. The constant switch between stacks is what is the core problem. The speed of things being re-invented is substantially higher than what it realistically would require to even switch over to a new stack, meaning most of the time new stacks or modern replacements are more a question of newer projects rather than existing projects. And over the years web dev space overcomplicated a lot of things, while in terms of efficiency from a code-perspective PHP alone could cover everything, given one builds that framework for the required need. But obviously for ease of access and quickly spooling up projects modern solutions are better, but the implied chaos of the modern web is counterintuitive to what progress is meant to solve. And this is even disregarding personal bias and devs preference, cause that in itself already starts wars apparently, lmao.

    @voidbinary@voidbinary3 ай бұрын
    • Thanks for sharing this! I 100% agree with everything you said.

      @awesome-coding@awesome-coding3 ай бұрын
    • While I kind of agree it's good to see alternatives to the popular frameworks. Theoretically the Go part of this, which does all the heavy lifting, wont be affected by future Go version updates or be obsoleted in 2 weeks (preserving backwards compatibility is a core belief of Go team).

      @rapper-charmer@rapper-charmer2 ай бұрын
  • Very surprised you didn’t add Fresh to that group of framework icons at 0:32. Aren’t you a member of the Deno team? 😄

    @ChrisHaupt@ChrisHaupt3 ай бұрын
    • Haha - I'm not a member actually - just an external colaborator helping with their KZhead content.

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-coding Well you're doing a great job on both channels, always look forward to your content

      @ChrisHaupt@ChrisHaupt3 ай бұрын
  • Thanks for the video! But I have some questions. Are pure SSR apps still viable? This stack is still considered MPA, which means client has to wait for each page to render server-side, resulting in a less seamless user experience. But thanks to efficiency of this minimal stack, the server-side operations seems to be extremely fast, and the file sizes are small since it ships zero JS. So, can we consider this stack to be able to compensate for the core weaknesses of SSR? Or should we follow a different approach for the real world cases?

    @emirs769@emirs7693 ай бұрын
    • You can use this stack in a single page style. Just need to deliver the container app, load something after loading and rely on the browser history helpers that HTMX offers. The main difficulty you will have is you need to work in your backend to render the routes you will be using client side when accessed directly..which btw is exactly what the js frameworks that support SSR do

      @XXnickles@XXnickles3 ай бұрын
    • Give it a try first. Don't get stuck with preconceived notions or biases. You'll be surprise MPA can be more responsive than SPA. Unless you're building something like Google Sheet/Map.

      @FirdausAziz@FirdausAziz3 ай бұрын
    • no, it's not an MPA it's the same as SPA, just instead of getting JSON response and the client devices turn it to HTML, in the HTMX the server does that. but the user experience is the same.@@XXnickles

      @remotract6726@remotract67263 ай бұрын
  • Can you share this code repository please!

    @amit_go@amit_go3 ай бұрын
    • it's in the video's description

      @dominikzurek3874@dominikzurek38743 ай бұрын
    • ​@@dominikzurek3874 gotcha !! Thanks

      @amit_go@amit_go3 ай бұрын
  • Anyone else have trouble with the turso CLI tool? I have been fiddling with it for a bit now and I cant even get properly logged in on windows

    @pdox9235@pdox92352 ай бұрын
  • Any thoughts about jQuery 4.0?

    @faxa22@faxa223 ай бұрын
    • Good for those that already uses it but not worth to adopt noadays imo

      @manuelolival949@manuelolival9493 ай бұрын
    • Go away 😂

      @shubitoxX@shubitoxX3 ай бұрын
    • Hands down the best JS library ever created - I'll post a video on this exact topic on Monday ✌️

      @awesome-coding@awesome-coding3 ай бұрын
  • Its the Deno guy!

    @scottmckibbin947@scottmckibbin9472 ай бұрын
    • ✌️

      @awesome-coding@awesome-coding2 ай бұрын
  • I am trying to do the tutorial but I get an error in main.go in port := os.Getenv(key: "PORT") What PORT is suppose to be?

    @arthurianysarthurov6467@arthurianysarthurov64673 ай бұрын
    • I'm not sure about the rest of the code, but the output of the os.Getenv is a string, you may want to convert the data retrieved to a number type.

      @nightRobinO_O@nightRobinO_O3 ай бұрын
    • Hey! Take a look at 3:15 The PORT is set up as an environment variable before the "go run" command. You can find the project here - github.com/awesome-club/hate-stack

      @awesome-coding@awesome-coding3 ай бұрын
  • Let them discover Ruby on Rails scaffolding 😂

    @julian_handpan@julian_handpan3 ай бұрын
  • you should check out the axum rust framework. it has an interesting feature called extractors. axum is very simple and easy to use as well. at work we migrated from go to rust and while i enjoy go it has limitations. it doesn't feel as feature complete as rust. that can be a positive but for us to was a negative.

    @stone-snare@stone-snare3 ай бұрын
    • Thanks for the feedback and the suggestion. Yep, Go's appeal is its simplicity, but that comes of the cost of expressiveness.

      @awesome-coding@awesome-coding3 ай бұрын
  • HATE Stack vs sveltekit? Which is your pick?

    @atomparish@atomparish3 ай бұрын
    • SvelteKit or Qwik City

      @shubitoxX@shubitoxX3 ай бұрын
    • This is debatable :) Qwik City is a good choice. Svelte Kit is nice and powerful, but it's very easy for you do make a small mistake and end up with backend code running on the frontend - this is very scary from a security perspective :(

      @awesome-coding@awesome-coding3 ай бұрын
  • Currently working on the other way. Rust, Axum, Askama, Sqlite, HTMX. RAASH stack LOL.

    @BillyMosis@BillyMosis3 ай бұрын
    • How do you find the DX?

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-coding I'm newbie on both rust and golang. As solo dev I Love the strictness of all rust framework, It will tell you what's wrong. I think Golang not good detecting potential error. DX speed wise I spend 10 times more than developing JS/TS lol.

      @BillyMosis@BillyMosis3 ай бұрын
  • Wanted to go this route for a new project, but im missing 2 features in the dx, hmr and tailwindcss 😢

    @dwighsonPavion@dwighsonPavion3 ай бұрын
    • Setting this up with tailwind feels like hell

      @dwighsonPavion@dwighsonPavion3 ай бұрын
    • UnoCSS might be an alternative which can be dropped in directly in the document header.

      @awesome-coding@awesome-coding3 ай бұрын
    • You could also look into twind

      @inanefool8781@inanefool87813 ай бұрын
    • @@awesome-coding looks like a good alternative indeed

      @dwighsonPavion@dwighsonPavion3 ай бұрын
    • @@inanefool8781 I did a little bit of digging, and tailwind just isnt made for these kind of environments :/ you could get it to work with twind, but all the add-ons/plugins you would usually use, arent available then.

      @dwighsonPavion@dwighsonPavion3 ай бұрын
  • btw.... which CSS libraries are good with this??

    @vaisakhkm783@vaisakhkm7833 ай бұрын
    • Hey! CSS is really a matter of preference. In my experience, there are 3 big choices: - vanilla CSS; - SASS; - Tailwind / UnoCSS. I'm not a big fan of the utility class approach, but, if you are, you can drop UnoCSS directly in your document header and you should be good to go. I'm a fan of SCSS (mainly because of nester rules & mixins), so most of my projects are using that. These days, there are a lot of people pushing vanilla CSS, so that's always the safest option.

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-coding thanks

      @vaisakhkm783@vaisakhkm7833 ай бұрын
    • with chatGPT, I think vanilla everything is going to make a comeback@@awesome-coding

      @jeremystone9067@jeremystone90673 ай бұрын
  • Hi, awesome presentation. I wish I could make it work btw. Can I get github repo link please.

    @shaikhspare7019@shaikhspare70193 ай бұрын
    • Hey! Here it is - github.com/awesome-club/hate-stack

      @awesome-coding@awesome-coding3 ай бұрын
  • Great I just change Echo for ElysiaJS

    @user-nh2dg4lz1q@user-nh2dg4lz1q3 ай бұрын
    • Interesting idea! I'm still on the fence with Bun though... I'm not sure they'll be able to get a lot of market share from Node.

      @awesome-coding@awesome-coding3 ай бұрын
  • I'm thinking of trying HATFi, replacing Echo with Fiber.

    @noahjohnson2611@noahjohnson26113 ай бұрын
  • I’m currently making my first production app in like 7ish years that isn’t using a front end framework with a separate backend api. I feel like such a noob again lol.

    @erikslorenz@erikslorenz3 ай бұрын
    • I can relate to that :))

      @awesome-coding@awesome-coding3 ай бұрын
  • I use the hateos stack Htmx Alpine Templ Echo gO AND Sqlite.

    @axMf3qTI@axMf3qTI3 ай бұрын
  • what if getpath stack (Go Echo Templ Postgre Alpine Tailwind Htmx)

    @hariswahidin@hariswahidin3 ай бұрын
    • You guys are killing it with the acronyms :))

      @awesome-coding@awesome-coding3 ай бұрын
  • java programer yes java is dificult but if u use the lates version of spring boot u will gain simplicity spring security is complex and big but this is a general problem and its dificult if you are implementing the first time

    @sapito169@sapito169Ай бұрын
  • I prefer the CACHE stack: Cockroachdb, Alpine.js, Classless.css, Htmx, and Echo

    @BosonCollider@BosonCollider3 ай бұрын
  • Why do you use the functions attached with a struct instead left the functions and just call these functions that you need from another module?

    @ruannawe6157@ruannawe61573 ай бұрын
    • I believe this to be a good practice, since the functions addressing the same business areas are grouped together. This could help down the road if I need all these functions to share some common state or references to other services, since that struct can hold that together.

      @awesome-coding@awesome-coding3 ай бұрын
  • So you choosed Torso just for the sake of naming it Hate? I got another stack HTMX + Alpine + Nginx/NJS + CouchDB... Besides HTTP, HTML, and basic JavaScript you don't need ever to learn anything. Hardest remains CSS...

    @MadalinIgnisca@MadalinIgnisca3 ай бұрын
  • I'm a noob. Why alpine instead of hyperscript?

    @007arek@007arek3 ай бұрын
    • Just a matter of preference at the end of the day. On top of that, HATE sound way cooler than HHTE 😅✌️

      @awesome-coding@awesome-coding3 ай бұрын
    • I love me some htmx, but hyperscript is an abomination. Not even a good idea.

      @punkweb@punkweb3 ай бұрын
    • hyperscript syntax is too different

      @hipertracker@hipertracker3 ай бұрын
    • @@punkweb can you explain more? Do you think that alpine is also a bad idea?

      @007arek@007arek3 ай бұрын
    • @@007arek alpine seems fine to me, I'd try it out. There's just no good reason at all to use hyperscript. Unless you really hate JS so much that you have to use something worse to prove a point. And it's syntax is confusing and awful imo

      @punkweb@punkweb3 ай бұрын
  • Should've called it heat since it's blazingly fast

    @proATlife007@proATlife0073 ай бұрын
    • True :)) Hate works better for the algorithm though.

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-coding I can't argue against that 🤣🤣

      @proATlife007@proATlife0073 ай бұрын
  • All we need is Laravel, really.

    @IvanRandomDude@IvanRandomDude3 ай бұрын
  • so with htmx go has a big comeback?

    @eugenmalatov5470@eugenmalatov54702 ай бұрын
    • I think Go is on a steady rise from its inception. It started as a lower level solution for building systems, but it is now getting into other domains as well.

      @awesome-coding@awesome-coding2 ай бұрын
    • Better than the other typed languages like C++, Java, C#, Rust?

      @eugenmalatov5470@eugenmalatov54702 ай бұрын
  • When I'm tired of modern stuff i just go with pure html js

    @LuicMarin@LuicMarin3 ай бұрын
    • Clean and easy.

      @awesome-coding@awesome-coding3 ай бұрын
    • Isn't this is what svelte is doing when your code gets compiled to pure html js?

      @roblesrt@roblesrt3 ай бұрын
    • @@roblesrt Yep - that's the main idea behind SSG, which is supported by a wide range of frameworks these days.

      @awesome-coding@awesome-coding3 ай бұрын
  • Do one on DHAT Stack. Django in lieu of Echo.

    @victoralmanzar1273@victoralmanzar12733 ай бұрын
    • Sadly I have very little experience in the Python world.

      @awesome-coding@awesome-coding3 ай бұрын
  • Is there any repo with the code used in the video?

    @hipertracker@hipertracker3 ай бұрын
    • 👋 sorry for the late response. Here it is - github.com/awesome-club/hate-stack

      @awesome-coding@awesome-coding3 ай бұрын
  • Hahah this is great

    @stevepottz111@stevepottz11128 күн бұрын
    • Thank you!

      @awesome-coding@awesome-coding28 күн бұрын
  • I would use hyperscript instead of alpine

    @renanbrayner984@renanbrayner9842 ай бұрын
  • i'm one more stack to give up on this field

    @ibrahimmohammed3484@ibrahimmohammed34843 ай бұрын
  • would rather use svelte or svelte-mpa rather than htmx

    @kokizzu@kokizzu3 ай бұрын
    • fair enough :)

      @awesome-coding@awesome-coding3 ай бұрын
  • What about Laravel + HTMX and sqlite?

    @albinopepegas8391@albinopepegas83913 ай бұрын
    • Laravel 11 will also support sql server so you could use turso too

      @echoptic775@echoptic7753 ай бұрын
    • @@echoptic775 ngl Laravel 11 seems interesting also they will release Laravel Reverb which allows you to host your own websocket server

      @albinopepegas8391@albinopepegas83913 ай бұрын
    • Same ideas, different tech Stack. So a valid Option!

      @LSS94@LSS943 ай бұрын
    • Why would you use HTMX with Laravel when you have Livewire?

      @IvanRandomDude@IvanRandomDude3 ай бұрын
  • You need to fix those SQL injection vulnerabilities. Never use string format or string concatenation to build SQL queries.

    @jdawg443@jdawg4433 ай бұрын
    • SQL_Injection doesn't like your comment...

      @zlackbiro@zlackbiro3 ай бұрын
    • He literally said it in the video

      @F38U@F38U3 ай бұрын
    • That wierd moment when you typed the comment without watching the video.

      @SedBuildsThings@SedBuildsThings3 ай бұрын
    • @@SedBuildsThings Just proving the point that people will not listen to you if they have pre determined conclusion already.

      @mac.ignacio@mac.ignacio3 ай бұрын
    • You can use it but put it into prepared statement before execute it on database

      @mohamedr1164@mohamedr11643 ай бұрын
  • the problem is that people doesn't want to accept the choices of another one

    @elvispalace@elvispalace3 ай бұрын
  • ah, yes, the i watch too much youtube and twitch stack

    @tmthyha@tmthyha3 ай бұрын
    • 😂 I'm not in the Twitch target audience.

      @awesome-coding@awesome-coding3 ай бұрын
  • i love to HATE soo much XD

    @vaisakhkm783@vaisakhkm7833 ай бұрын
  • Very informative. One piece of feedback, almost every sentence say you ends in a high pitch and gets annoying after a couple of minutes.

    @RA-xx4mz@RA-xx4mz3 ай бұрын
    • valid

      @Kasukke@Kasukke3 ай бұрын
    • +1 Sounds robotic

      @shubitoxX@shubitoxX3 ай бұрын
    • Thanks for the feedback! I am trying to change that as much as possible, but apparently this is the way I normally talk... 🥲🤦‍♂️

      @awesome-coding@awesome-coding3 ай бұрын
    • you could write your script then read it all in one go then clip it into sentences for the video. it’ll minimize the upspeak and you don’t have to change

      @I_SEE_RED@I_SEE_RED3 ай бұрын
    • @@I_SEE_RED This is how I'm doing it these days - write the script, have a 20 minutes recording session and then edit that sound. The main issue I believe is that I'm not a native english speaker. So despite the fact I'm reading it in one go, I'm mentally splitting the text in sentences. I'm still working on it, and hopefully it'll get better over time.

      @awesome-coding@awesome-coding3 ай бұрын
  • Stack acronym or not, If you dont use HATE to dev you are not dev-ing properly! (or at least not efficiently)

    @dipereira0123@dipereira01233 ай бұрын
    • Facts!

      @awesome-coding@awesome-coding3 ай бұрын
  • With go 122 you can rename your stack to HAT kkkkkkkkkkk

    @ruannawe6157@ruannawe61573 ай бұрын
    • 👏🏻👏🏻 exactly!

      @awesome-coding@awesome-coding3 ай бұрын
  • how many stuff I need to learn? every now and then there's something new. modern new concepts are not adopted by most companies, so it's more or less is like masturbation, dont't you think?

    @stanleychan1260@stanleychan12603 ай бұрын
    • 😂😂 Honestly I believe that the most important thing is mastering the basics. If you have a good understanding of the core concepts, you'll be able to easily transition between what's trendy. After all, there are very few really new concepts. Most of them are recycled or slightly modified and presented like the next best thing purely for marketing reasons.

      @awesome-coding@awesome-coding3 ай бұрын
  • you need to close body after a post http call

    @shadowfaxenator@shadowfaxenator3 ай бұрын
  • Lol 🤣 I have a strong feeling that every technology except htmx has been chosen just to make HATE happen Also I'd strongly recommend watch mode in the templ cli and a tool like air or gow to hot restart the go server

    @TechBuddy_@TechBuddy_3 ай бұрын
    • 😂 Thank you for the suggestions!

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-coding that emote means I am right ?! lmao 🤣

      @TechBuddy_@TechBuddy_3 ай бұрын
    • @@TechBuddy_ Well... you have to come with good titles for your videos, right? 😅

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-coding 💯 percent lol 😂

      @TechBuddy_@TechBuddy_3 ай бұрын
  • After the initial excitement of using Echo with HTMX and Alpine for their simplicity, everything becomes much more complicated as the complexity increases, for example, with greater UI interactivity. What is trivial for a framework like Vue turns into some grotesque complexity here. For instance, something as simple as displaying a spinner and disabling editing and clicking on a form while sending a request to the server. HTMX has hx-indicator, but it is too primitive; you can't assign it a JavaScript function, only specify a piece of HTML code to display.

    @hipertracker@hipertracker3 ай бұрын
    • I get what you are saying. You can create / use extensions when core HTMX is not enough. For your specific "form disabling" scenario you could use something like this - htmx.org/extensions/disable-element/ Anyhow, I agree that HTMX is too rigid to support a lot of UI interactivity. This is why I believe pairing it with something like Alpine is a must.

      @awesome-coding@awesome-coding3 ай бұрын
  • If you change the narration your channel will blow up. The random up tones and down tones are annoyingly distracting from an otherwise great presentation.

    @edism@edism2 ай бұрын
    • Thank you for the feedback! I know the voiceovers are not great - working on it :(

      @awesome-coding@awesome-coding2 ай бұрын
    • @@awesome-coding sorry for causing offense, perhaps that was a bit blunt. I would like to help you, your channel is amazing (one of the best full stack channels) maybe we should get on a call, how do I contact you? I'll delete OP shortly.

      @edism@edism2 ай бұрын
    • @@edism Hey! Don't worry I was not offended. And no need to remove your comment. I know I speak in uptalk mostly because English is not my native language, but I'm trying to fix it. You can always reach out via Twitter DM (twitter.com/AwesomeCodeClub). Thanks again for the feedback!

      @awesome-coding@awesome-coding2 ай бұрын
    • @@awesome-coding Cool, I'm looking forward to talking to you. I'll send you a message from my company Twitter.

      @edism@edism2 ай бұрын
  • 😂

    @DamienHouse@DamienHouse3 ай бұрын
    • ✌️

      @awesome-coding@awesome-coding3 ай бұрын
  • First?

    @wondays654@wondays6543 ай бұрын
    • ☝️

      @awesome-coding@awesome-coding3 ай бұрын
  • Why HTMX, why not Hotwired Turbo? Turbo is more natural than HTMX. For example, if you need perform POST request you define form, not hx-post that is not standardized and will not work with broken JS. Yes, more code, but you'll follow standards, not strage opinionated library. And Turbo operates on higher level than HTMX, which is better.

    @codokit@codokit3 ай бұрын
    • Thanks for the suggestion - I have little experience with Turbo, but I'll give it a try.

      @awesome-coding@awesome-coding3 ай бұрын
  • Love how the Windows support for this is utter garbage.

    @UrzaRage778@UrzaRage7782 ай бұрын
  • t := b:= what is that??????? noOOOOO T-T

    @saura_@saura_3 ай бұрын
    • That is called convenience :)) In all seriousness - it's shorthand syntax, and its use is optional.

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-coding I was kidding, thanks for sharing a super valuable content! I'm learning go now. But coming from frontend I feel the DX is a lil bit rough

      @saura_@saura_3 ай бұрын
    • @@saura_ Glad to hear! Honestly I had the same problem when I first started to look at go. I blame JS's simplicity for this problem. One of my main takeaways after 15 years of coding is the importance of always studying new languages, and looking at how different people are tackling the same problems. I spent quite a bit of time doing mostly TypeScript, and I was getting to a place where it was too comfortable to try anything else.

      @awesome-coding@awesome-coding3 ай бұрын
    • @@awesome-coding I'm exactly at that point. Super comfy with TS

      @saura_@saura_3 ай бұрын
  • you don't need to make multiple packages man, just put all code into one single folder, or even at the root

    @guillemgarcia3630@guillemgarcia36303 ай бұрын
    • This is debatable. For small projects you might be right. For larger projects, splitting your code in packages helps with maintaining your codebase. (At least this is my experience)

      @awesome-coding@awesome-coding3 ай бұрын
  • there are something more powerfull and enjoyable, its name is Phoenix liveview.

    @ronindevninja@ronindevninja3 ай бұрын
    • I really need to look into Phoenix more closely :)) Thanks for reminding me!

      @awesome-coding@awesome-coding3 ай бұрын
  • yeah let me return html from the server as if it’s 2009

    @cyb3ristic@cyb3ristic3 ай бұрын
    • You mean everybody is wrong?

      @awesome-coding@awesome-coding3 ай бұрын
    • Actually, more like 1993. People still forget you are going to be returning some sort of HTML from the server, and that has been te case since the beginning.

      @XXnickles@XXnickles3 ай бұрын
    • Sorry but turning shit into json then hydrating html on the client is a waste of resources. Just let the backend do that

      @F38U@F38U3 ай бұрын
    • SEOless

      @Famelhaut@Famelhaut3 ай бұрын
    • There is no single website in this world that doesn't work by having html returned from the server... that's the whole point of having a website hosted any where Do you want the server to give you an URL to a google drive folder with the html in it? I really don't understand this comment 😂

      @carlosmspk@carlosmspk3 ай бұрын
  • I enjoyed the video, and it’s well made, but it feels too fireship. You should try coming up with a more distinctive style

    @gavintantleff@gavintantleff3 ай бұрын
  • Why don’t we just use rails? Everything is baked into it.

    @krullsull@krullsull3 ай бұрын
    • Definitely an idea worth exploring.

      @awesome-coding@awesome-coding3 ай бұрын
  • 3:14 if your only make target is .PHONY... you don't need make.

    @codeman99-dev@codeman99-dev3 ай бұрын
    • Presenter said in the video he made some choices like creating multiple folders in the project since they are needed pretty quickly. I'm a fan of his repo's Makefile actually it keeps anyone new to teml from trying to run against old generated code.

      @colinjohnson5515@colinjohnson55152 ай бұрын
  • you didn't simplified anything. why waste htmx with templ (jsx style), also for what alpine? why go and not php for just returning html? why not sqlite and not turso at all? the simplest stack ever is HPS (HTMX PHP SQLITE), i wouldn't even use composer. and it will work everywhere with just drag and drop.

    @liviubarburo@liviubarburoАй бұрын
  • man, I love your video but that melody you put on whilst speaking is so annoying that keeps me want to stop the video, please stop that

    @vikkio88@vikkio883 ай бұрын
    • The melody playing for the first 15 seconds?

      @awesome-coding@awesome-coding3 ай бұрын
  • 🤦🏻

    @akashjan4@akashjan43 ай бұрын
KZhead