The JavaScript Framework Explosion (or, JavaScript-less SPAs)

The past few years have borne witness to an explosion in the number of JavaScript frameworks—if you visit TodoMVC (a site dedicated to comparing JS frameworks by way of todo sample projects), you can see that there is simply an abundance of choice.

As Allen Pike points out in his excellent article A JS framework on every table most other programming languages support a small number of popular, stable application frameworks. Nowhere  do frameworks come and go so quickly as in JavaScript. This ever-changing landscape can be quite overwhelming for new, or even experienced developers looking for ways to structure and organize their code.

It was therefore with some interest that I read a recent HTML6 proposal for single-page apps without JavaScript. This was submitted to the to the W3.org mailing list by Bobby Mozumder, who states:

There’s a standard design pattern emerging via all the front-end JavaScript frameworks where content is loaded dynamically via JSON APIs. This is the single-page app web design pattern. Everyone’s into it because the responsiveness is so much better than loading a full page - 10-50ms with a clean API load vs. 300-1500ms for a full HTML page load.

Since this is so common now, can we implement this directly in the browsers via HTML so users can dynamically run single-page apps without JavaScript? The HTML body thus becomes a tempting language, with all the content residing in the fixtures that can be dynamically reloaded without JavaScript.

As you might imagine, this proposal generated a reasonable amount of controversy, but it also made me think on something—that most people who are writing client-side JavaScript applications are not doing so because they chose JavaScript, but because they chose client-side web development. Hence the proliferation of choice.

What do you think? Are you able to make sense of the JavaScript framework explosion? Can JavaScript-less single-page applications actually work?

This edtiorial will appear in this week’s issue of the SitePoint JavaScript Newsletter

2 Likes

I think it’s a bit insane. I’m all for lots of competition, but it’s getting to a weekly thing where X new famework is going to be the next big thing.

I’m not a fan of the pre-compiled stuff either, like what Angular 2 is going to be. For me, it kind of defeats a ton of the purpose of decoupling the frontend from the backend. I might just as well use whatever template engine and write HTML natively. Sometimes it feels like the JS community is trying so hard to change and be different, that they are forgetting their roots and going back to what we were trying to get away from in the first place. Things like configuration over convention and pre-compiled frontend applications.

But, I’m not sure if I’m in favor of JS-less SPAs or not. My first impression is that it’s a bad idea, but I really don’t have enough information to develop a strong opinion either way.

1 Like

I completely agree… I was looking for new job last year and Angular 1 was #1 sought skills… After a while, I’ve realized that it needs other sauce to be really powerful…like
Grunt, Yeoman, Bower, …blah…blah blah…

I think JS tech is growing too fast! It needs to stay focused… we don’t need 33 flavors of Vanilla Ice Cream. My biggest grudge for me is that, we only have 1 choice of dynamic html modifier… (f*cking JS … excuse my language). I’ve grown to be expert at JS but it was more like shoving down to my throat. JS is good but I feel there should be more then just 1 choice… why can’t browser community decide to use anything other than JS? They can still support JS but why not add more? Forget new frameworks… promote new dynamic html language for the browsers… that would truly be revolutionary.

1 Like

Funny, they tried with Dark and now browser support is dead. It never really gained much traction in the first place though. I’m not sure why, I never really followed it because I actually like JS.

Never heard of that… I just pray that ECMA 6 will produce better IDE experience. I would be on the same boat if I really liked JS. Still, it’s kind of shocking after 20+ years? that we’re still limited to css/html/javascript

Dart, not Dark. Typo.

Hehe, you guys don’t like the proliferation of frameworks, yet you want a proliferation of core technologies. Jeesh! :stuck_out_tongue:

2 Likes

I agree. It’s kinda like:

The sheer proliferation of choice (not just in frameworks, but in build tools, testing libraries, templating engines etc) makes it hard to know where to concentrate your learning efforts. For quite a while I was worried I would end up investing time in learning the wrong thing.

JS-less SPAs do seem like an interesting idea, but I’m not sure about how effective they will/can be. A lot of people are against using HTML as anything other than a markup language and, as was pointed out in the article I linked to, backwards-incompatibility with previous versions of HTML could be a sizeable problem.

I think the underlying point is that there is a sense of dissatisfaction with having to use JavaScript frameworks (and the ever-changing framework landscape). It’ll be interesting to see how it all pans out, although when I see how popular Angular has become, that might give you a clue as to where we are heading.

2 Likes

And today sees the launch of another JS framework, aptly announced in a post called Oh god, I built another JavaScript framework

1 Like

I think, it is really good idea.making JavaScript less page will reduce the loading time of the site. So that we can use that time some where else optimizing the web. I think it is the future of the web market. Now the time is changing towards the fastest download site. Verginamerica is a good example in front of us.

An interesting read for sure - he sounds almost apologetic for it…

A post was split to a new topic: Need help with JS assignment