choose-mithril
solid
choose-mithril | solid | |
---|---|---|
4 | 20 | |
46 | 5,767 | |
- | - | |
0.0 | 9.3 | |
almost 5 years ago | about 3 years ago | |
TypeScript | ||
MIT License | MIT License |
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.
solid
-
Why Virtual DOM is considered faster that directly updating the real DOM.
The strength of V-DOM definitely doesn't lay in performance. It made it easier for developers to write more maintainable interactive UI. Other than that I'd rather think of it as a compromise. Fortunately, frontend web dev continuously progresses and there are initiatives like https://github.com/ryansolid/solid which focus on compilation-time diffing.
-
Learning to Appreciate React Server Components
You see I work 12 hours a day. 8 hours of that is my professional job where I am a developer on the Marko core team at eBay. Then after some much-needed time with my family, my second job starts where I am core maintainer of the under-the-radar hot new reactive framework Solid.
-
Hyperapp – Is It the Lightweight 'React Killer'?
They’ve been well received, and the core ideas behind them have inspired the likes of Vue’s Composition API and a big part of Solid’s API.
- Solid Update: March 2021
-
Introducing maple, a VDOM-less fine grained reactive web framework in Rust + WASM
After discovering solid js, I wondered how feasible it would be to write such a framework in Rust. After two days of hacking around, here is the result!
-
Introducing maple, a VDOM-less fine grained reactive web framework running in WASM
After discovering solid js, I wondered how feasible it would be to write such a framework in Rust. After two days of hacking around, here is the result!
-
[AskJS] Any interesting use cases for Proxy?
Solidjs UI library uses Proxies in order to make state reactive https://github.com/ryansolid/solid
-
[AskJS] What you love about Javascript that we don't find in another programming language and why many OO programmer from others language Java, C#, C++ etc hate/don't like it ?
[0] https://github.com/ryansolid/solid#the-gist
-
Server Rendering in JavaScript: Optimizing Performance
The key thing to understand though is this is not a React-only approach. I make heavy use of this pattern in my Solid projects as it makes a really nice isomorphic solution and works really well with the next topic...
-
Building a Reactive Library from Scratch
The main ones that I'm referring to have proxy implementations along with their basic signal atoms. MobX's `observable`, Vue's `reactive`, Solid's `state` all are reactive proxies that properly handle subscriptions.
What are some alternatives?
sciter-js-sdk - Sciter.JS - Sciter but with QuickJS on board instead of my TIScript
Svelte - Cybernetically enhanced web apps
eureka - Lucene-based search engine for your source code
marko - A declarative, HTML-based language that makes building web apps fun
lit - Lit is a simple library for building fast, lightweight web components.
morphdom - Fast and lightweight DOM diffing/patching (no virtual DOM needed)
rust-dominator - Zero-cost ultra-high-performance declarative DOM library using FRP signals for Rust!
react-router - Declarative routing for React
hyperapp - 1kB-ish JavaScript framework for building hypertext applications
htmx - </> htmx - high power tools for HTML
knockout - Knockout makes it easier to create rich, responsive UIs with JavaScript