Front end tooling is borked big time

8 points by tostitos1979 ↗ HN
I dabble in front end development, and every time I have to do a project, I am amazed at how incredibly bad the process is. The tools in fashion change every few months (grunt, gulp, webpack, babel,browserify). Frameworks deprecate and remove stuff every few months (looking at you react). How do full time front end devs keep up with this nonsense? We seriously need a moratorium on this crap.

8 comments

[ 3.5 ms ] story [ 33.6 ms ] thread
There's a name for this: "Javscript Fatigue"
Go for the more simple, stable tooling and frameworks. They might not be as fancy and they can look unmaintained because they implemented all of the features they needed to add, and mainly only need to fix bugs.
How do the tools change every month? If you're starting projects from scratch, pick one tool and stick with it.

If you're jumping on different projects, well the people that set them up used different tools. It's no different than jumping between a .NET C# app, a Rails app, or a Spring MVC app.

> How do full time front end devs keep up with this nonsense?

I'm not a full time front-end dev, but I find the trick is to keep an eye on what's going on, play about with the bits you find interesting when you have time, but remember that keeping up doesn't necessariily need to involve using any of it - you don't need to use any of it until you're good and ready, just be aware where things are moving when it's time.

I'm developing React apps at work at the moment and my experience of it is that it's easy to ugrade React because they usually deprecate a release ahead and they don't release all that frequently. Meanwhile, I've only played about a bit with Mithril and Vue, took inspiration from Ember's tooling and am keeping a wary eye on Angular 2 because it'll probably end up getting used somewhere where I work.

Extracting all your tools out into your own tooling also helps - all my Webpack/Babel/Karma config and dependencies for React apps, React components and regular npm modules is in one tool and my complete ESLint config is in another. Neither is using the latest and greatest of anything (currently still on Babel@5, npm@2, Webpack@1 and ESLint@1) but when I'm good and ready to upgrade I only need to do it once.

Yes you're more than welcome to use "mature" tools that haven't changed in a while.

But if you spend a lot of time in the Frontend then it becomes fairly obvious about switching to new tools and frameworks. Builds tools are starting with better defaults, react is making it much easier to build intricate UIs without complexity.

Just use vanilla js! Or neapolitan if you prefer.
I had a similar reaction. For personal projects I use Mithril http://mithriljs.org/ which is pure JS. Solved the problems I had with setting up the tool-chain and works in a similar way to react.
Probably the best bet nowadays is Ember.js. You don't have to reinvent the wheel. It works out of the box and you can focus on your application. And no crap. Matured, robust, scalable, faster than others (the new Glimmer 2 is 3x times faster than React...), huge add-on ecosystem. Easy to learn, great tutorials and guide. No more problem at all. ;)