The Sad State of the Backbone Ecosystem
benmccormick.org
benmccormick.org
I hope other Javascript libraries and framework follow this trend until we find a handful of "winner" libraries in the same way that each language has its own "winner" MVC library.
The author of the project just like abandoned it, does that sound healthy to you ? Backbone is totally irrelevant.
I'm using Backbone again, courtesy of CartoDB.js [1] and have no interest in chasing whatever React variant was just pushed to GitHub.
(Un)fortunately I'm an enterprise developer and that means staying a decent distance behind whatever the "state of the art" is.
A recent experience with npm/ruby/grunt has put me off it until I have a chance to sit down for a few hours and unpick what exactly it was doing (can anyone recommend a way to simulate an NTLM proxy?)
As others have pointed out, having a stable API is a wonderful thing for a vast majority of projects. Backbone is stable because its ideas are battle-tested and the concepts are all there. People are seeing less usefulness for Marionette / Chaplin / Aurora, and I don't think that's all that bad.
* Disclosure: I'm a core contributor to Backbone.
Instead of using Backgrid and backbone-validation or alternatives, we've been left creating an in house "tables" approach, and maintaining our own fork of backbone-validation. Neither of those things scale well.
The approach of a small core library with other libraries filling gaps as needed only works when there are good libraries that work well with the small core library :/ For some things its easy to take a "VanillaJS" library and make it work, but for others it really helps to have tight library integration.
Is there any reason your changes can't be upstreamed?
Is that the same sort of concept as a "birthday suit"? ( I.e. none at all)
domvm [1] and Mithril [2] promote the same ideas as Backbone, as far as flexibility but with vdom underneath and are far faster than React. domvm is about 2x Mithril performance and both libs are < 20k min. Mithril is more stable and has a much larger userbase, while domvm 1.0 is targeted for 4/1. If anyone is feeling adventurous, feedback and contributions are welcome!
* Disclosure: I'm the author of domvm.
More details if you're interested: https://github.com/leeoniya/domvm/issues/30#issuecomment-193...
> As others have pointed out, having a stable API is a wonderful thing for a vast majority of projects
Well obviously it didn't change the sad state of backbone ecosystem. Having good API to build things upon is more important than the stability of an API. Backbone is dying because the core libs aren't good enough in 2016.
...and whiskey.
FWIW, it's possible to create messes in Backbone, JQuery, D3, React and plain javascript, if you try hard enough.
Backbone is "dying", if you will, because an awful lot has changed in the last five years, not because it was necessarily fundamentally bad - though, of course, it had its limitations.
Too many chefs throw their hat into the ring as it is (especially in JS framework land), a higher bar isn't necessarily bad.
2) If the rubyist comment is 'odd' to you, how are you sure that it's denigrating? as for 'messes' and 'useless', you've divorced them from context:
> Backbone led to messes bigger than jQuery messes, it's full of useless stuff
> What's the point of backbone model? it's useless so one has to use relational.
Your concern is tone-policing?
Regarding Google Trends, if a framework has big (huge) money behind, it will most likely be more searched-for, sponsored, events held, conferences, hackatons, etc.
Finally, once you set to learn and use a stable tech, you will be profiting from it for a long time. I still have a couple of apps running classic ASP! With JS frameworks I think we can safely assume it will be even longer.
While this is off-topic, I highly recommend PureCSS[0] for exactly this use-case
[1] http://leejordan.github.io/reflex/docs/
[2] http://csswizardry.com/2013/01/mindbemding-getting-your-head...
Is that secure?
I had a look at Backbone a few times and liked that it indeed provided a clean structure without too much overhead, though I've never had the opportunity to use it(I guess I won't now).
I'm wondering though, now that Backbone is apparently on the way to be deprecated, is there any good alternative?
Where do you get this from? Very active IMHO:
If you're using Backbone in 2016 (like I am), it probably means you want your "framework" to be simple, stable, and customizable. Given those priorities, using a wide variety of plugins doesn't make much sense.
If you want 3rd-party code to do a ton of stuff for you in an opaque way, you're much better off using Angular or Ember.
To a first approximation, I think the default for JavaScript development is to treat taking on dependencies lightly. And because the JavaScript zeitgeist moves from project to project so quickly, there's often no historical base to take on supporting open source projects when the original author moves on. I mean Jeremy Ashkenash can take a motorcycle trip in part because of his decision that Backbone is not evolving quickly. The idea that things must evolve quickly equates to more work and more work is a recipe for burnout.
"Here's my tool that is superior because it has no dependencies. Will you make it your next dependency?"
I understand the appeal when you have a very small set of problems and ultimate flexibility, but this always ends up in a lot of duplication of effort and code (how many libraries have a denounce method, or other general utility method?)
Maybe to rephrase, I understand the benefits, I guess I just don't understand the persistence of the fad in the face all of the drawbacks.
I used to think this too. Then I got into machine learning and modern physics. There is still much in both fields left unresolved, both empirically and philosophically. I suspect the same is true of programming. For instance, machine learning aided programming (the next generation of syntax checking, with recommendations) will no doubt open up new ways to be even more productive, and new tools will crop up to support that. Maybe machine-aided debugging gets way better and this leads to bettering ecosystems because it can catch (and maybe fix) breakages better. Right now, I think it's amazing that all these things like npm, pip, and apt hold together as well as they do (but the extent to which they don't is a huge time suck and productivity killer).
- React is off its peak, and may be flat-to-declining
- Angular is declining
- Ember is declining
- Backbone is declining
It looks to me like a consolidation phase.
But, yeah, backbone sure got hammered in the last two years. Having watched a big company make a bet on a client-side library that didn't work out... sorry about that.
But, the technologies aren't usually our decisions, and "what's cool" is generally what wins :-(
And I respect Jeremy, also the author of coffee script, the most expressive language which I also enjoyed working with.
Scaling such a lib for the entire universe and maintaining it is probably quite complicated without strong financial backing, but maybe not all projects are supposed to be scaled.
I still like hacking together quick one-page apps with Backbone, it's too easy to do, although I have to admit that React is much more powerful - in theory.
For many, though, Backbone can still be a very good choice.
I'm confused by his stance on versioning, however: he's very much against semver, which means these tools can be tricky to use with npm (which assumes all packages follow semver).
In this respect, I would say it is a great success! The biggest application I have seen is the slick SoundCloud web interface (though I don't know if they've moved on).
Sometimes, you don't need a gigantic ecosystem that pulls in half the internet when you do an "npm install". Just something to give a basic structure .. a backbone .. hey wait :) !
[0] https://github.com/jashkenas/backbone/pull/3003