6 ms·
In theory these principles are really good concepts from an education standpoint. Where I teach, we teach students vanilla javascript and HTML as much as possib
by zelda-mazzy 3y ago
In theory these principles are really good concepts from an education standpoint. Where I teach, we teach students vanilla javascript and HTML as much as possible before moving on to frameworks that make things easier.
Some of these points I'm a bit confused on... is the point behind "Where possible, maintain the right-click-view-source affordance" supposed to be to make the learning barrier lower? While I understand the sentiment behind this, tools like React or Angular have significantly lowered the barrier to entry in their own ways.
- max_ 3y agoHave you used HTMX? I am yet to find a reason for using frameworks like React instead of HTMX.
- silentguy 3y agoI have used HTMX with Flask and Jinja. It makes the process much simpler to do the frontend development as a backend developer. But I can see its limitations. It's not suitable for anything bigger than a hobby project. Also, it doesn't help with keeping the frontend and the api totally separate. You have to return the html object from API which has its own set of problems.
- max_ 3y agoI would like to know more about these limitations. I haven't used HTMX on more than a hobby project myself. >You have to return the html object from API which has its own set of problems. If you mean that HTMX can't consume JSON. Can't you just create a separate end point for JSON responses?
- gitaarik 3y agoOf course that is possible, but wouldn't that make the project more complex again?
- recursivedoubts 3y ago> It's not suitable for anything bigger than a hobby project. This is patently false. It is being used in multiple significant production systems: https://www.commspace.co.za/ https://www.commspace.co.za/ https://zorro.management/ https://zorro.management/ https://www.contexte.com/ https://www.contexte.com/ https://turboscribe.ai/ https://turboscribe.ai/ and many more. There are times where htmx isn't the right choice, but the idea that its not useful for anything more than a hobby project is simply false.
- ativzzz 3y agoThe middle 2 links are by solo developers - I wouldn't call those significant production systems. Generally tools like React are helpful for managing complexity across large systems where nobody understands the whole app and layers of of features, bug fixes and optimizations have been baked in over the years and nobody understands the whole app anymore
- max_ 3y agoThe reason "nobody understands the app anymore" is due to the complexity of React and not the application. HTMX tries to reduce the complexity.
- ativzzz 3y agoNo, nobody understands the app because it is simply impossible to hold in your head 5-10 years worth of development by 100+ people across a complex product with complicated use cases and customer need (unless you were there the whole time and you are a very hard worker) By the time you create the correct abstractions, customer needs and the market will have changed and thus your abstractions are now incorrect
- Xeamek 3y agoIt's both. Sure, if you have project like facebook then you problably won't get away from complexity, and you NEED a tool to help you manage that. But at the same time, if you assume you need such tool from the beginning, chances are you will over-complicate your solution and it will become a self fulfilling prophecy of trying to tackle complexity by adding more complexity
- robertoandred 3y agoWhat's the reason to use a framework like HTMX instead of React?
- David-Guillot 3y agoCost. React will require you to hire a React dev to handle all the complexity. htmx will be mastered by your "back-end" devs (who actually are web devs) in less than a week.
- mostlylurks 3y agoReact is so simple to use that you definitely don't need to hire a "react dev" to "handle all the complexity". Like >95% of the effort is just understanding the basics of standard front end technologies (HTML, JS, and CSS), something that "back-end" devs (especially ones that label themselves as such) are by no means guaranteed to understand, which is an issue, since you'll have to understand these things even when working with htmx.
- David-Guillot 3y agoMy feeling as an old-time "web developer" who has been bullied into becoming a "back-end dev" is: thank you, I think I know quite well the basics of standard front-end technologies, but suddenly some people started yelling at me "you're a grandpa, now you can't send HTML from the server anymore, it's lame, you have to send to the browser a JS app that will manipulate the DOM live instead". This new (in 2015) approach has flooded our brains with a deluge of libs, frameworks, tools, concepts, problems, etc. which are a lot more than 5% of the effort of bootstrapping a React app, let alone optimizing it and maintaining it. I know people who's main job is creating React apps and who are overwhelmed with the complexity of the stack. If you don't hire someone dedicated, the rest of your product (domain rules, database optimization, infrastructure, devops, etc.) will suffer.
- robertoandred 3y agoWhat kind of web dev can't handle React? Meanwhile, htmx uses clunky, non-standard attributes that rely on logic and templates that are split up in a million different places. Plus it requires a context switch to do anything client side.
- mostlylurks 3y agoReact makes it fairly easy to implement your app in a way that makes it easily portable to different platforms. With things like HTMX, you'll more or less have to rewrite everything if you ever end up in a situation where you'd like to release the application on mobile, or as a desktop app, especially if you want it to work when you can't rely on the user having a stable internet connection.
- chrisweekly 3y agoWhen it comes to teaching web dev fundamentals, the sequence HTML -> CSS -> JS makes the most sense to me. They're 3 legs of a stool. CSS is an underappreciated but absolutely essential facet of accessible, standards-based web development. https://every-layout.dev https://every-layout.dev and https://www.joshwcomeau.com/tutorials/css/ https://www.joshwcomeau.com/tutorials/css/ are great resources.