Grunt gulp bower less sass npm node yeoman brunch underscore moustache… Whenever our frontend devs insist they need whatever deployed on all our servers yesterday, I nod and smile and count the days until they've completely forgotten about it and yell for the next shiney new toy that's totally going revolutionize JS development. This time for real.
Meanwhile I'll stick to my makefiles, thank you very much.
You included underscore, which might as well be named "utils.js", alongside moustache, which is a templating tool, and Grunt/Gulp/Bower/npm, which are build or dependency management tools that have some real complexity.
These things are not like each other! It seems like you're just complaining about a bunch of things based on little more than what their name is.
> These things are not like each other! It seems like you're just complaining about a bunch of things based on little more than what their name is.
I only know the name, because they disappear faster from our tool chain than I (as strictly ops/backend person) can keep up with familiarizing myself with them. The tool churn in the frontend world is insane.
We all have monkeys on our backs. We all search for the best tools to use to make our lives easier and our products better and more reliable. When something new or improved comes out, we evaluate it, we weigh its use against everything from performance to code quality to backwards compatibility to having everyone learn yet another tool/library. If the benefits outweigh the drawbacks, then we make the switch. If not, then we leave our tool chain as it is.
Are there people who blindly switch to the Next Big Thing (tm) every 3 months? Yes. But I've found that in general they are few and far between. Perhaps you happen to work with one or more, but know that the entire web-dev community discourages that behavior.
The web-dev community might discourage that, but in my experience (someone who does backend/analytics and some devops, and who occasionally needs to modify the front-end projects that communicate with said backend) every time I setup one of the projects for local development it's a dependency nightmare and a good couple hours of research to figure out how all these pieces work together.
We've done the jQuery -> Angular -> React mambo. The RoR -> Node.js mambo. The Grunt -> Gulp -> Webpack mambo. The underscore -> lowdash mambo... I could go on. That's without even counting the CSS related fads.
Another thing I've noticed is that we've gone from projects trying to optimize for minimal JS and are light on browser resources, to installing multiple megabytes of Bower/Webpack/NPM dependencies and pages that perform (pardon my French) like crap. Famously, one of our backend devs wrote a Chrome extension that would disable the animated backgrounds in a bunch of stuff because they sucked our laptops' batteries.
So I feel the pain of poster who said it's become almost impossible to support JS projects unless that's your daily job. The tool churn is too big and don't get me started on all the new terms ("isomorphic websites", "polyfills", "shims", etc.) that seem to pop up every couple months.
I understand it's growing pains of a maturing ecosystem, it's just that the churn speed is insane.
Fair point! Although I'm just as tired of the rat race there, too. Of all the things listed, we're only using Git. I've looked at most, but I'm not bothering implementing it unless it's a huge benefit over the status quo. Chances are, better solutions will be around before we've finished migrating to the last Next Big Thing. I wish development finally got that memo.
If only there was a standardized system for installing frontend and backend javascript libraries so that the devops people don't need to learn about the specifics of each library. We could call it something like the "package manager for libraries in node" or something.
I poked bytes into memory too (directly typing numbers from console or using BASIC), but I use everything my team wants to use (make, build scripts, docker, vagrant, grunt, gulp, cmake, autotools, rake, ant, maven, npm, bower, etc.) because it is easier to learn new stuff for me than to couch each member. Moreover, it makes my brain better.
If you know your stuff deeply, then you will be able to achieve your goal with any of these tools.
Grunt gulp bower less sass npm node yeoman brunch underscore moustache… Whenever our frontend devs insist they need whatever deployed on all our servers yesterday, I nod and smile and count the days until they've completely forgotten about it and yell for the next shiney new toy that's totally going revolutionize JS development. This time for real.
Meanwhile I'll stick to my makefiles, thank you very much.