choose-mithril
eureka
choose-mithril | eureka | |
---|---|---|
4 | 2 | |
46 | 12 | |
- | - | |
0.0 | 0.0 | |
almost 5 years ago | over 1 year ago | |
JavaScript | ||
MIT License | GNU General Public License v3.0 only |
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.
choose-mithril
- I Prefer Mithril over Angular and React
- Ask HN: Why can't I learn anymore?
-
[AskJS] What's your opinion about React 18 and do you feel the framework is at the forefront of innovation compared to Vue, Angular, Ember, Meteor, Mithril, Polymer and the others... is it going the right way for you or you would have changed a few things ?
Another selling aspect for me is the dirty checks mithril uses and how efficient the redrawing engine runs. While not a Svelte/Mithril comparison, this write up explains some the key goodies of mithril.
-
Alternative lightweight UI library to modern day frameworks
Hi Leo. Thanks for creating Mithril.
Likewise at work I currently have to deal with React and its challenges. I have previously built other applications in Mithril (and still do in my spare time). I much prefer Mithril. But sadly React has so much more mindshare which was persuasive to management despite that. The only plus to that is that I can increasingly see firsthand how better the developer ergonomics are for Mithril over React, and eventually wrote the essay about that linked below.
As an example on libraries and React patterns, the emphasis on Redux for React in particular can rapidly create messy bloated codebases that are hard to maintain. That is due to the accidental complexity in React by its premature optimization of requiring use of setState() on components to queue redraws and then how Redux tries to wrap that to support global state. Mithril by contrast makes it possible for developers to store state however they want by the brilliance of (by default) just assuming any time the user touches the UI (via anything with an added event handler like for a button press) that the UI needs to be rerendered (unless the developer choose otherwise).
Here's a longer list of reasons why I prefer Mithril to React: https://github.com/pdfernhout/choose-mithril "l;dr: Choose Mithril whenever you can for JavaScript UI development because Mithril is overall easier to use, understand, debug, refactor, and maintain than most other JavaScript-based UI systems. That ease of use is due to Mithril's design emphasis on appropriate simplicity – including by leveraging the power of JavaScript to define UIs instead of using an adhoc templating system. Mithril helps you focus on the essential complexity of UI development instead of making you struggle with the accidental complexity introduced by problematically-designed tools. Many popular tools emphasize ease-of-use through looking familiar in a few narrow situations instead of emphasizing overall end-to-end simplicity which -- after a short learning curve for Mithril -- leads to greater overall ease-of-use in most situations."
You rock, Leo!!! Thanks again for making the programming world a better place.
eureka
-
I Almost Got Fired for Choosing React in Our Enterprise App
Here's an example vanilla JS app: https://github.com/Rajeev-K/eureka It is not at all hard to read, and easy to maintain. I would love to get feedback if you don't agree.
I used two TINY libs in this project. The first is this 500-line router: https://github.com/Rajeev-K/mvc-router and the second is this 200-line template library: https://github.com/wisercoder/uibuilder
I have written large enterprise apps using these libs.
-
Alternative lightweight UI library to modern day frameworks
I have noticed newer generations of developers believe they need heavy frameworks like React to develop web applications. Most apps don't need such heavy frameworks. Here's a 500-line "framework" (if you can call it that) https://github.com/Rajeev-K/mvc-router and here's an example app built using it: https://github.com/Rajeev-K/eureka For templates I used https://github.com/wisercoder/uibuilder which is a 200-line lib. This is about as "close to the metal" as you can get, and still be productive.
What are some alternatives?
solid - A declarative, efficient, and flexible JavaScript library for building user interfaces. [Moved to: https://github.com/solidui/solid]
Next.js - The React Framework
sciter-js-sdk - Sciter.JS - Sciter but with QuickJS on board instead of my TIScript
advanced-redux-patterns - The source code to the talk by Nir Kaufman titled Advanced Redux Patterns, I found it difficult to find his source code so I made this
lit - Lit is a simple library for building fast, lightweight web components.
Svelte - Cybernetically enhanced web apps
react-router - Declarative routing for React
htmx - </> htmx - high power tools for HTML
rfcs - RFCs for changes to Ember
hn-search - Hacker News Search