Hacker News new | ask | show | jobs
by yagodragon 1978 days ago
Right now Next.js might be the hottest front end framework but I'm looking for something simpler to build SPA's. I'm not interested in SSR or SSG at all. Mithril.js looks very promising as it provides you with everything you might need to build a simple web app out of the box. The only other frameworks that do that is Angular and Ember, but they're both declining in popularity especially Ember. On the other hand React.js has CRA that is very complicated and doesn't even come with routing out of the box. Is there any other good and modern SPA framework out there?
6 comments

Vue and Svelte are both good. I'm not sure why create-react-app is a problem, but Vue can run without any scaffolding. I think it's worth just accepting that some scaffolding is needed for bundling, transpilation, etc.

There are dozens of alternatives like mithril - small in size, scope and community. You might miss a system for managing state in Mithril, as well as pre-built component libraries like Vuetify or react-bootstrap.

I tried out Svelte recently. I really like the idea of a 'compiler first' framework which offers useful features that compile away to plain old lightweight JavaScript. I got on ok with the bare-bones Svelte compiler, but I found the surrounding ecosystem to be lacking.

There are two different material design libraries for Svelte. [0][1] I wasn't able to get either of them to behave. It looked like they weren't being kept up to date with Svelte, or else the documentation was inadequate.

I then gave Angular a go, and encountered no such issues. Angular has the added bonus that its material design library [2] is very mature and well polished.

[0] https://smeltejs.com/

[1] https://sveltematerialui.com/

[2] https://material.angular.io/

I know Angular seems to not be popular right now, but I am genuinely enjoying my job because of it. Maybe apart from animations, everything seems to consistently work. Even updating major versions is a mere footnote rather than a chore.
> I know Angular seems to not be popular right now

In terms of being in widespread use, I believe Angular is either #1 or #2 (competing against React). It's certainly not a 'cool' choice, it's a boring and stable choice, but there's a lot of value in that.

I've been liking solid-js. It's fast, compact, ergonomic and the people are friendly. https://github.com/ryansolid/solid
I've become a big fan of light weight mostly native web components.

I use lit-html for rendering.

Then I sprinkle in components as I need from things like ionic or shoelace.style

AppRun (https://apprun.js.org) is a very nice JavaScript library for building reliable, high-performance web applications, including SPAs.
It's not clear why there is not more attention paid to apprun...it is a very simple framework/library while being powerful conceptually too.
I think most frameworks take the constellation approach (i.e. separate libs for router, etc). If you're ok with having to install a few extra packages (which isn't all that uncommon these days), pretty much any of them will do the job.

Mithril is sorta unique in taking the more batteries included approach that angular and ember adopt, though it is admittedly far less kitchen-sink-ish

It's not a framework per se, but you can give Mint (www.mint-lang.com) a try :)

It's specially created for SPAs.