7 ms·
I'd be more interested to see a performance comparison with Mithril[1] rather than React, their core functionality is similar but Mitril strives to be lean and
by beefsack 11y ago
I'd be more interested to see a performance comparison with Mithril[1] rather than React, their core functionality is similar but Mitril strives to be lean and fast.
[1] https://lhorie.github.io/mithril/ https://lhorie.github.io/mithril/
- rattray 11y agoAgreed. Mithril's performance is incredible, and it's also closer to React in philosophy. That's the alternative I'd be looking at (perhaps along with Vue, which also goes unmentioned). EDIT: though, one difference is this supports server-side rendering out of the box, while Mithril requires a (tiny) third-party module: https://www.npmjs.com/package/mithril-node-render https://www.npmjs.com/package/mithril-node-render
- lhorie 11y agoThere's also another more ambitious Mithril isomorphism project called misojs https://github.com/jsguy/misojs https://github.com/jsguy/misojs Definitely worth looking into if you're looking for a full stack solution.
- jatins 11y agoI wish Vue were more popular. It has one of the nicest APIs of all the JS frameworks and offers good performance.
- keslag 11y agoMithril's use of helper assisted javascript for it's view templating is a giant drawback for me. I'd be using it exclusively, but as an old crusty dev, I've gone down that path more than once, and it's always been a train wreck.
- Meai 11y agoWhat do you mean by "helper assisted javascript"? Can you give an example where this has caused problems for you? I'm trying to decide between mithril and this library.
- keslag 11y agoSorry, poor word usage on my part. As vvpan more eloquently puts it, DOM construction via js functions. This is the example from their website. This is very difficult to maintain, and personally, I become very adverse to making changes. Though it appears vvpan has a link to a project attempting to fork(?) React's transformer to be usable in mithril. todo.view = function() { return m("html", [ m("body", [ m("input"), m("button", "Add"), m("table", [ m("tr", [ m("td", [ m("input[type=checkbox]") ]), m("td", "task description"), ]) ]) ]) ]); };
- pygy_ 11y agoNot "attempting to fork", MSX is a JSX fork that outputs Mithril-compatible virtual DOM JS objects. It works as advertised :-)
- keslag 11y agoSince I've been called out twice on my use of language in this thread alone, I serious need an editor to proof my comments before I submit them from now on.
- vvpan 11y agoYou mean how the DOM is constructed via JS functions? There's this project to fix it: https://github.com/insin/msx https://github.com/insin/msx
- jonahx 11y agoI thought this at first too -- the syntax turned me off. But having it used it for a while now, I can say any drawbacks are purely cosmetic, and it's easy to get used to. If that's the only thing holding you back, I'd say to give it a try.