htmf
-
htmf | - | |
---|---|---|
4 | 5 | |
21 | 79 | |
- | - | |
7.6 | 8.6 | |
6 months ago | 3 months ago | |
JavaScript | JavaScript | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
htmf
-
HTML First – Six principles for building simple, maintainable, web software
I've successfully used this pattern (HTMX hypermedia style) to create an offline-first web app SPA[^1]. One of the pages is pretty dynamic and I wasn't sure if I would need a traditional front end library to work with it. But, nope, hypermedia to the win, it worked fine without a front end framework.
To build it I used my own library called HTMF[^2]. I started out using mpa-enhancer[^3] but found that that pattern is a little to janky sometimes. I think reloading a page every time on every interaction uses too many resources for a browser especially when you use a phone that doesn't have as much power as a laptop.
But overall I find the pattern very easy to use and keeps the complexity down.
I think some of the issues with traditional SPAs is that they have a lot of state and state is nonlinear in complexity. But using templating systems makes the complexity more linear in nature.
Also, I find libraries like React to be overly complex for what it does, see above. The way React works is just odd and counter intuitive. All for problems that are easy to solve. I do think there are places for a React-like library is needed but those are for websites that are inherently highly state-based. But most websites aren't state-based even ones that appear to be state-based at first.
The websites I work on are usually just forms and forms are pretty powerful and can get you a long ways before you need to go outside of that paradigm.
[^1]: https://github.com/jon49/Soccer
[^2]: https://github.com/jon49/htmf
[^3]: https://github.com/jon49/mpa-enhancer
- Things you forgot because of React
- Htmx, WebAssembly, Rust, ServiceWorker Proof of Concept
-
Ask HN: Getting tired of complexity in web development
I wrote a js lib similar to HTMX, which I call HTMF[1]. Unlike HTMX I try to stay as close to the metal of the current semantics as possible. So, all interactions are based off of forms. I also tried to keep the wording similar to HTML/JS semantics. It's pretty small lib but pretty amazing how far I can get with it. These days I mainly build offline-first apps with it. But I built it in such a way that it can easily be a progressive enhancement to an MPA app.
[1]: https://github.com/jon49/htmf
-
- Hyphen is used by 36000 people and has 69 stars on GitHub
- Automatically detecting subclass declaration in JavaScript
-
HTML First – Six principles for building simple, maintainable, web software
I like this. I share a philosophy similar to this: hew close to the grain of the material. It's heartening to see articles like this. I've created many expressions of my ideas on this in code over the years: Brutal.JS, VanillaView, Bang/Good.html and I recently created one that is even simpler and I'm very happy with. It's similar to a unification of these ideas with Custom Elements. You can check it out here: https://github.com/00000o1/-
- Show HN: Hyphen – an elegant custom element base class with good ergonomics
- Show HN: Hyphen – custom element base class for good ergonomics
What are some alternatives?
Soccer - Tracker for players play time
clace - Clace is a web app deployment platform for internal tools
yew-beyond-hello-world - yew rust tutorial
submillisecond - A lunatic web framework
Fragmentify - Django like template inheritance for XML
WeightTracker - Back end for saving data for weight tracker.
fragmentify-js - FragmentifyJs
MealPlanner - A Meal Planner to figure out what we are going to eat each week. Written with Razor Pages and HTMF. https://meals.jnyman.com/
remote-standalone
mpa-enhancer - Minimalist JavaScript to make your MPA work that much better
tailgate - Client-facing generative-AI components without the fuss.