3 ms·
At this point, I can't really imagine writing a large web app without some sort of framework. I've been using mithril.js a lot this year, and have found it to
by dwaltrip 10y ago
At this point, I can't really imagine writing a large web app without some sort of framework.
I've been using mithril.js a lot this year, and have found it to be unopinionated, minimal, performant, and fairly powerful. You are definitely not locked into some singular way of building applications.
It's a vdom framework, and its views are fairly similar to React (from what I hear, I haven't played with React much). You create a hierarchy of components, which each have a render function written in javascript. I've found this incredibly liberating. I love not having an unnecessary context switch between a limited template system and the rest of my application. Also, you can apply any desired javascript refactoring approaches to your views, instead of relying on pre-ordained approaches like template partials.
The only potential downside to the unopinionated-ness is that you have to decide how to structure things and what higher order patterns you want to use. This has slowed me down a bit, but it has also helped level up my architecture skills, which has been quite rewarding.
I could have chosen React, and I would probably be similarly happy. My main reason for not doing so is that things seemed a bit chaotic in the React world during 2015, and there also seemed to be a lot of spilt milk about doing things the "perfect way". I imagine it the ecosystem has calmed down a bit this year.
- methyl 10y agoBut the point is, neither React nor Mithril are frameworks, they are just unopinionated libraries where you write plain JavaScript code.
- dwaltrip 10y agoIt's much closer to a framework than jQuery. Mithril also provides a few core things beyond just views - basic routing, an ajax helper, and a few others. I admit the boundaries do seem to get a bit fuzzy. Do you think the article author would consider React or Mithril as libraries he could use? Or as frameworks to be avoided?