The HATE Stack - Simple and Efficient

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 พ.ย. 2024

ความคิดเห็น •

  • @lukasmolcic5143
    @lukasmolcic5143 9 หลายเดือนก่อน +59

    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

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +2

      Sounds great!

    • @rajivkct
      @rajivkct 9 หลายเดือนก่อน +3

      Can you please point me to your repo? I want to see the work.

    • @pylotlight
      @pylotlight 9 หลายเดือนก่อน +1

      @@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.

    • @LukePighetti
      @LukePighetti 9 หลายเดือนก่อน

      What’s twig?

    • @lukasmolcic5143
      @lukasmolcic5143 9 หลายเดือนก่อน +1

      @@LukePighetti php templating lang

  • @reFLEQzion
    @reFLEQzion 9 หลายเดือนก่อน +15

    this presentation, pure gold

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      Thank you, kind stranger!

  • @marco.garofalo
    @marco.garofalo 7 หลายเดือนก่อน +6

    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.

    • @jakcasey2048
      @jakcasey2048 6 หลายเดือนก่อน

      Then state is on the client?

    • @pookiepats
      @pookiepats 3 หลายเดือนก่อน +1

      Useless abstraction that causes more work and room for error - who is “we”?

  • @mariogutierrez4989
    @mariogutierrez4989 9 หลายเดือนก่อน +4

    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.

  • @uidx-bob
    @uidx-bob 9 หลายเดือนก่อน +3

    Nice video! Would love to actually see the live demo of a working app as part of a video like this.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      Noted! Thank you for your feedback!

  • @maxwebstudio
    @maxwebstudio 8 หลายเดือนก่อน +2

    first time hate feels so good

  • @colinjohnson5515
    @colinjohnson5515 9 หลายเดือนก่อน +1

    Thanks for the vid! Learned about a couple new libraries.

  • @jdawg443
    @jdawg443 9 หลายเดือนก่อน +93

    You need to fix those SQL injection vulnerabilities. Never use string format or string concatenation to build SQL queries.

    • @zlackbiro
      @zlackbiro 9 หลายเดือนก่อน +8

      SQL_Injection doesn't like your comment...

    • @F38U
      @F38U 9 หลายเดือนก่อน +8

      He literally said it in the video

    • @SedBuildsThings
      @SedBuildsThings 9 หลายเดือนก่อน +40

      That wierd moment when you typed the comment without watching the video.

    • @mac.ignacio
      @mac.ignacio 9 หลายเดือนก่อน +14

      @@SedBuildsThings Just proving the point that people will not listen to you if they have pre determined conclusion already.

    • @mohamedr1164
      @mohamedr1164 9 หลายเดือนก่อน

      You can use it but put it into prepared statement before execute it on database

  • @azulamazigh2789
    @azulamazigh2789 9 หลายเดือนก่อน +9

    wouldn't mixing Alpine and HTMX complicate things like in the video haviing x-on:click and hx-post on the same button ?

    • @FirdausAziz
      @FirdausAziz 9 หลายเดือนก่อน +7

      One of the reason why i prefer _Hyperscript over Alpine. Clearer separation of duty.

    • @jaishkhan7442
      @jaishkhan7442 18 วันที่ผ่านมา

      imagine Tailwind into the mix tho 😭😭😭😭
      Now we have classes, hx-* and x-* on the same element...

  • @voidbinary
    @voidbinary 9 หลายเดือนก่อน +1

    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.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      Thanks for sharing this! I 100% agree with everything you said.

    • @rapper-charmer
      @rapper-charmer 9 หลายเดือนก่อน

      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).

  • @mlvki
    @mlvki 9 หลายเดือนก่อน +6

    looking good for solo hobby development 😊

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +6

      You are worried about maintenance in a larger project?

    • @mlvki
      @mlvki 9 หลายเดือนก่อน

      @@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 😎😎

    • @livghit
      @livghit 9 หลายเดือนก่อน

      @@awesome-codingEnds up in a mess anyway 😂

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +7

      @@livghit 100% all projects start great on paper, and then, 3 years later, they are a complete dumpster fire...

  • @ekeminios
    @ekeminios 6 หลายเดือนก่อน

    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?

    • @awesome-coding
      @awesome-coding  6 หลายเดือนก่อน

      Glad it was helpful!
      I don't have any courses, I didn't think anyone would be interested 😅

    • @ekeminios
      @ekeminios 6 หลายเดือนก่อน

      @@awesome-coding Oh yeah, I'm interested :)

    • @awesome-coding
      @awesome-coding  6 หลายเดือนก่อน +1

      @@ekeminios Good to know! I'll work on something :D

  • @Jagungal
    @Jagungal 9 หลายเดือนก่อน +5

    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?

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      Link to repo - github.com/awesome-club/hate-stack

  • @AmanKumar-od6fi
    @AmanKumar-od6fi 8 หลายเดือนก่อน

    JSP JSP JSP!! and it's amazing in 2024 again!

  • @gaurdianAQ
    @gaurdianAQ 9 หลายเดือนก่อน +1

    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)

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +4

      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.

    • @gaurdianAQ
      @gaurdianAQ 9 หลายเดือนก่อน +1

      @@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

  • @amit_go
    @amit_go 9 หลายเดือนก่อน +13

    Can you share this code repository please!

    • @dominikzurek3874
      @dominikzurek3874 9 หลายเดือนก่อน +1

      it's in the video's description

    • @amit_go
      @amit_go 9 หลายเดือนก่อน

      ​@@dominikzurek3874 gotcha !! Thanks

  • @fuzzy-02
    @fuzzy-02 หลายเดือนก่อน

    GoTTH stack,any thoughts?

  • @Moggybaer
    @Moggybaer 9 หลายเดือนก่อน +1

    Nice!
    I am thinking about combinkng Go, HTMX, Templ and web components.....

    • @phanirithvij
      @phanirithvij 8 หลายเดือนก่อน

      I tried it with shoelace using benopotamus/htmx-ext-shoelace, it was good

  • @dwighsonPavion
    @dwighsonPavion 9 หลายเดือนก่อน +5

    Would love to see a more in depth video🙏🏾

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +4

      Noted! Will do my best to provide a more in depth walkthrough.

    • @veddys503
      @veddys503 9 หลายเดือนก่อน +1

      ​@@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?

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +3

      @@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).

    • @veddys503
      @veddys503 9 หลายเดือนก่อน

      @@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.

    • @dwighsonPavion
      @dwighsonPavion 9 หลายเดือนก่อน

      @@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

  • @TedoHamTole
    @TedoHamTole 9 หลายเดือนก่อน +1

    will try to use this stack soon

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      Let me know how this works.

  • @konichan9986
    @konichan9986 9 หลายเดือนก่อน

    Such a good and beautiful presentation
    Btw what color theme is that?

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      Thank you for the feedback!
      It's the default team in IntelliJ IDEA.

  • @faxa22
    @faxa22 9 หลายเดือนก่อน +4

    Any thoughts about jQuery 4.0?

    • @manuelolival949
      @manuelolival949 9 หลายเดือนก่อน

      Good for those that already uses it but not worth to adopt noadays imo

    • @shubitoxX
      @shubitoxX 9 หลายเดือนก่อน

      Go away 😂

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      Hands down the best JS library ever created - I'll post a video on this exact topic on Monday ✌️

  • @liviubarburo
    @liviubarburo 7 หลายเดือนก่อน +9

    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.

    • @quaditz
      @quaditz 3 หลายเดือนก่อน +1

      Often you need some client side interactively. Alpine JS (or Hyperscript or just pure vanilla JS) can get you really far here before you have to spend the complexity of having react or other larger frameworks.

  • @emirs769
    @emirs769 9 หลายเดือนก่อน +2

    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?

    • @XXnickles
      @XXnickles 9 หลายเดือนก่อน +1

      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

    • @FirdausAziz
      @FirdausAziz 9 หลายเดือนก่อน

      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.

    • @remotract6726
      @remotract6726 9 หลายเดือนก่อน

      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

  • @ChrisHaupt
    @ChrisHaupt 9 หลายเดือนก่อน +1

    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? 😄

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      Haha - I'm not a member actually - just an external colaborator helping with their TH-cam content.

    • @ChrisHaupt
      @ChrisHaupt 9 หลายเดือนก่อน

      @@awesome-coding Well you're doing a great job on both channels, always look forward to your content

  • @julian_handpan
    @julian_handpan 9 หลายเดือนก่อน +2

    Let them discover Ruby on Rails scaffolding 😂

  • @atomparish
    @atomparish 9 หลายเดือนก่อน

    HATE Stack vs sveltekit? Which is your pick?

    • @shubitoxX
      @shubitoxX 9 หลายเดือนก่อน

      SvelteKit or Qwik City

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      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 :(

  • @Nerdimo
    @Nerdimo 9 หลายเดือนก่อน +1

    Is this an actual editor or are you displaying what’s happening through a custom viz tool? Ref: 3:27

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +2

      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.

    • @carlosmspk
      @carlosmspk 9 หลายเดือนก่อน +1

      @@awesome-coding That's dedication right there, sir! Kudos

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      @@carlosmspk Thank you! :))

  • @renanbrayner984
    @renanbrayner984 9 หลายเดือนก่อน +2

    I would use hyperscript instead of alpine

  • @abdulkadersafi
    @abdulkadersafi 7 หลายเดือนก่อน

    I am interested
    I will look into this stack

    • @awesome-coding
      @awesome-coding  7 หลายเดือนก่อน

      Glad to hear! Let me know how it goes :)

  • @hariswahidin
    @hariswahidin 9 หลายเดือนก่อน +1

    what if getpath stack (Go Echo Templ Postgre Alpine Tailwind Htmx)

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +2

      You guys are killing it with the acronyms :))

  • @arthurianysarthurov6467
    @arthurianysarthurov6467 9 หลายเดือนก่อน

    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?

    • @nightRobinO_O
      @nightRobinO_O 9 หลายเดือนก่อน

      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.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      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

  • @noahjohnson2611
    @noahjohnson2611 9 หลายเดือนก่อน

    I'm thinking of trying HATFi, replacing Echo with Fiber.

  • @pdox9235
    @pdox9235 8 หลายเดือนก่อน

    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

  • @proATlife007
    @proATlife007 9 หลายเดือนก่อน +3

    Should've called it heat since it's blazingly fast

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +4

      True :)) Hate works better for the algorithm though.

    • @proATlife007
      @proATlife007 9 หลายเดือนก่อน +1

      @@awesome-coding I can't argue against that 🤣🤣

  • @vaisakh_km
    @vaisakh_km 9 หลายเดือนก่อน

    btw.... which CSS libraries are good with this??

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      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.

    • @vaisakh_km
      @vaisakh_km 9 หลายเดือนก่อน

      @@awesome-coding thanks

    • @jeremystone9067
      @jeremystone9067 9 หลายเดือนก่อน

      with chatGPT, I think vanilla everything is going to make a comeback@@awesome-coding

  • @scottmckibbin947
    @scottmckibbin947 8 หลายเดือนก่อน

    Its the Deno guy!

  • @sapito169
    @sapito169 7 หลายเดือนก่อน

    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

  • @BosonCollider
    @BosonCollider 9 หลายเดือนก่อน

    I prefer the CACHE stack:
    Cockroachdb, Alpine.js, Classless.css, Htmx, and Echo

  • @ruannawe6157
    @ruannawe6157 9 หลายเดือนก่อน

    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?

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      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.

  • @kelvinpina3392
    @kelvinpina3392 9 หลายเดือนก่อน

    Alpine distro as well

  • @shaikhspare7019
    @shaikhspare7019 9 หลายเดือนก่อน

    Hi,
    awesome presentation. I wish I could make it work btw.
    Can I get github repo link please.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      Hey!
      Here it is - github.com/awesome-club/hate-stack

  • @a_maxed_out_handle_of_30_chars
    @a_maxed_out_handle_of_30_chars 9 หลายเดือนก่อน +1

    clean :)

  • @eugenmalatov5470
    @eugenmalatov5470 8 หลายเดือนก่อน

    so with htmx go has a big comeback?

    • @awesome-coding
      @awesome-coding  8 หลายเดือนก่อน

      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.

    • @eugenmalatov5470
      @eugenmalatov5470 8 หลายเดือนก่อน

      Better than the other typed languages like C++, Java, C#, Rust?

  • @dwighsonPavion
    @dwighsonPavion 9 หลายเดือนก่อน

    Wanted to go this route for a new project, but im missing 2 features in the dx, hmr and tailwindcss 😢

    • @dwighsonPavion
      @dwighsonPavion 9 หลายเดือนก่อน +1

      Setting this up with tailwind feels like hell

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +2

      UnoCSS might be an alternative which can be dropped in directly in the document header.

    • @inanefool8781
      @inanefool8781 9 หลายเดือนก่อน +1

      You could also look into twind

    • @dwighsonPavion
      @dwighsonPavion 9 หลายเดือนก่อน

      @@awesome-coding looks like a good alternative indeed

    • @dwighsonPavion
      @dwighsonPavion 9 หลายเดือนก่อน

      @@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.

  • @stone-snare
    @stone-snare 9 หลายเดือนก่อน +1

    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.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      Thanks for the feedback and the suggestion.
      Yep, Go's appeal is its simplicity, but that comes of the cost of expressiveness.

  • @axMf3qTI
    @axMf3qTI 9 หลายเดือนก่อน +2

    I use the hateos stack Htmx Alpine Templ Echo gO AND Sqlite.

  • @erikslorenz
    @erikslorenz 9 หลายเดือนก่อน

    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.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      I can relate to that :))

  • @007arek
    @007arek 9 หลายเดือนก่อน +1

    I'm a noob. Why alpine instead of hyperscript?

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      Just a matter of preference at the end of the day.
      On top of that, HATE sound way cooler than HHTE 😅✌️

    • @punkweb
      @punkweb 9 หลายเดือนก่อน +1

      I love me some htmx, but hyperscript is an abomination. Not even a good idea.

    • @hipertracker
      @hipertracker 9 หลายเดือนก่อน

      hyperscript syntax is too different

    • @007arek
      @007arek 9 หลายเดือนก่อน

      @@punkweb can you explain more? Do you think that alpine is also a bad idea?

    • @punkweb
      @punkweb 9 หลายเดือนก่อน +1

      @@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

  • @IvanRandomDude
    @IvanRandomDude 9 หลายเดือนก่อน +4

    All we need is Laravel, really.

  • @kokizzu
    @kokizzu 9 หลายเดือนก่อน +1

    would rather use svelte or svelte-mpa rather than htmx

  • @billymosis
    @billymosis 9 หลายเดือนก่อน

    Currently working on the other way. Rust, Axum, Askama, Sqlite, HTMX. RAASH stack LOL.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      How do you find the DX?

    • @billymosis
      @billymosis 9 หลายเดือนก่อน +1

      @@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.

  • @MadalinIgnisca
    @MadalinIgnisca 9 หลายเดือนก่อน +1

    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...

  • @ibrahimmohammed3484
    @ibrahimmohammed3484 9 หลายเดือนก่อน +2

    i'm one more stack to give up on this field

  • @albinopepegas8391
    @albinopepegas8391 9 หลายเดือนก่อน +2

    What about Laravel + HTMX and sqlite?

    • @echoptic775
      @echoptic775 9 หลายเดือนก่อน

      Laravel 11 will also support sql server so you could use turso too

    • @albinopepegas8391
      @albinopepegas8391 9 หลายเดือนก่อน

      @@echoptic775 ngl Laravel 11 seems interesting also they will release Laravel Reverb which allows you to host your own websocket server

    • @LSS94
      @LSS94 9 หลายเดือนก่อน

      Same ideas, different tech Stack. So a valid Option!

    • @IvanRandomDude
      @IvanRandomDude 9 หลายเดือนก่อน

      Why would you use HTMX with Laravel when you have Livewire?

  • @danilomedeirosmusica
    @danilomedeirosmusica 2 หลายเดือนก่อน

    One word: FastHTML

  • @EddieVillegas-l2u
    @EddieVillegas-l2u 9 หลายเดือนก่อน

    Great I just change Echo for ElysiaJS

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      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.

  • @LuicMarin
    @LuicMarin 9 หลายเดือนก่อน +2

    When I'm tired of modern stuff i just go with pure html js

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      Clean and easy.

    • @roblesrt
      @roblesrt 9 หลายเดือนก่อน

      Isn't this is what svelte is doing when your code gets compiled to pure html js?

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      @@roblesrt Yep - that's the main idea behind SSG, which is supported by a wide range of frameworks these days.

  • @victoralmanzar1273
    @victoralmanzar1273 9 หลายเดือนก่อน

    Do one on DHAT Stack. Django in lieu of Echo.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      Sadly I have very little experience in the Python world.

  • @hipertracker
    @hipertracker 9 หลายเดือนก่อน +1

    Is there any repo with the code used in the video?

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      👋 sorry for the late response.
      Here it is - github.com/awesome-club/hate-stack

  • @stevepottz111
    @stevepottz111 7 หลายเดือนก่อน

    Hahah this is great

  • @RA-xx4mz
    @RA-xx4mz 9 หลายเดือนก่อน +3

    Very informative. One piece of feedback, almost every sentence say you ends in a high pitch and gets annoying after a couple of minutes.

    • @Kasukke
      @Kasukke 9 หลายเดือนก่อน

      valid

    • @shubitoxX
      @shubitoxX 9 หลายเดือนก่อน

      +1 Sounds robotic

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      Thanks for the feedback! I am trying to change that as much as possible, but apparently this is the way I normally talk... 🥲🤦‍♂️

    • @I_SEE_RED
      @I_SEE_RED 9 หลายเดือนก่อน

      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

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      @@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.

  • @TechBuddy_
    @TechBuddy_ 9 หลายเดือนก่อน +1

    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

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      😂 Thank you for the suggestions!

    • @TechBuddy_
      @TechBuddy_ 9 หลายเดือนก่อน

      @@awesome-coding that emote means I am right ?! lmao 🤣

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      @@TechBuddy_ Well... you have to come with good titles for your videos, right? 😅

    • @TechBuddy_
      @TechBuddy_ 9 หลายเดือนก่อน

      @@awesome-coding 💯 percent lol 😂

  • @elvispalace
    @elvispalace 9 หลายเดือนก่อน

    the problem is that people doesn't want to accept the choices of another one

  • @tmthyha
    @tmthyha 9 หลายเดือนก่อน

    ah, yes, the i watch too much youtube and twitch stack

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      😂 I'm not in the Twitch target audience.

  • @edism
    @edism 9 หลายเดือนก่อน +1

    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.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      Thank you for the feedback! I know the voiceovers are not great - working on it :(

    • @edism
      @edism 9 หลายเดือนก่อน

      @@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.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      @@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!

    • @edism
      @edism 9 หลายเดือนก่อน

      @@awesome-coding Cool, I'm looking forward to talking to you. I'll send you a message from my company Twitter.

  • @stanleychan1260
    @stanleychan1260 9 หลายเดือนก่อน

    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?

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      😂😂
      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.

  • @dipereira0123
    @dipereira0123 9 หลายเดือนก่อน +1

    Stack acronym or not, If you dont use HATE to dev you are not dev-ing properly! (or at least not efficiently)

  • @ruannawe6157
    @ruannawe6157 9 หลายเดือนก่อน

    With go 122 you can rename your stack to HAT kkkkkkkkkkk

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      👏🏻👏🏻 exactly!

  • @hipertracker
    @hipertracker 9 หลายเดือนก่อน

    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.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      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.

  • @vaisakh_km
    @vaisakh_km 9 หลายเดือนก่อน

    i love to HATE soo much XD

  • @shadowfaxenator
    @shadowfaxenator 9 หลายเดือนก่อน

    you need to close body after a post http call

  • @gavintantleff
    @gavintantleff 9 หลายเดือนก่อน

    I enjoyed the video, and it’s well made, but it feels too fireship. You should try coming up with a more distinctive style

  • @codokit
    @codokit 9 หลายเดือนก่อน

    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.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      Thanks for the suggestion - I have little experience with Turbo, but I'll give it a try.

  • @guillemgarcia3630
    @guillemgarcia3630 9 หลายเดือนก่อน

    you don't need to make multiple packages man, just put all code into one single folder, or even at the root

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      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)

  • @UrzaRage778
    @UrzaRage778 8 หลายเดือนก่อน

    Love how the Windows support for this is utter garbage.

  • @krullsull
    @krullsull 9 หลายเดือนก่อน +1

    Why don’t we just use rails? Everything is baked into it.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +2

      Definitely an idea worth exploring.

  • @DamienHouse
    @DamienHouse 9 หลายเดือนก่อน

    😂

  • @codeman99-dev
    @codeman99-dev 9 หลายเดือนก่อน

    3:14 if your only make target is .PHONY... you don't need make.

    • @colinjohnson5515
      @colinjohnson5515 9 หลายเดือนก่อน

      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.

  • @manyes7577
    @manyes7577 3 หลายเดือนก่อน

    call heat is much better

    • @awesome-coding
      @awesome-coding  3 หลายเดือนก่อน

      you might be right ✌️

  • @wondays654
    @wondays654 9 หลายเดือนก่อน +1

    First?

  • @ronindevninja
    @ronindevninja 9 หลายเดือนก่อน

    there are something more powerfull and enjoyable, its name is Phoenix liveview.

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      I really need to look into Phoenix more closely :))
      Thanks for reminding me!

  • @saura_
    @saura_ 9 หลายเดือนก่อน

    t := b:= what is that??????? noOOOOO T-T

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      That is called convenience :))
      In all seriousness - it's shorthand syntax, and its use is optional.

    • @saura_
      @saura_ 9 หลายเดือนก่อน

      @@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

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +1

      @@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.

    • @saura_
      @saura_ 9 หลายเดือนก่อน

      @@awesome-coding I'm exactly at that point. Super comfy with TS

  • @cyb3ristic
    @cyb3ristic 9 หลายเดือนก่อน +1

    yeah let me return html from the server as if it’s 2009

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน +4

      You mean everybody is wrong?

    • @XXnickles
      @XXnickles 9 หลายเดือนก่อน +3

      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.

    • @F38U
      @F38U 9 หลายเดือนก่อน +12

      Sorry but turning shit into json then hydrating html on the client is a waste of resources. Just let the backend do that

    • @Famelhaut
      @Famelhaut 9 หลายเดือนก่อน

      SEOless

    • @carlosmspk
      @carlosmspk 9 หลายเดือนก่อน +3

      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 😂

  • @vikkio88
    @vikkio88 9 หลายเดือนก่อน

    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

    • @awesome-coding
      @awesome-coding  9 หลายเดือนก่อน

      The melody playing for the first 15 seconds?

  • @VyomKinght
    @VyomKinght 9 หลายเดือนก่อน

    🤦🏻