Front end tooling is borked big time
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 ] threadIf 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.
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.
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.