Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.Start your free trial
Is an automated front-end workflow overkill with Yeoman, Grunt, Bower etc.
I am looking into automating my development workflow a little more but I'm unsure what tools are overkill or not. Git and Sass are great but not sure about all some other amazing tools. I work on mac/sublime/chrome at home and windows/visualstudio at work.
At work everything runs in VS (from source to testing). At home, if my project needs a dependency (be it Foundation or jQuery) I download files from Github. I use LiveReload for live refreshing/preprocessing/minification and DevTools/BrowserStack for debugging.
I like Grunt and there are some great benefits such as https://npmjs.org/package/grunt-browserstack and many repos contain grunt files to effect LiveReload etc.
Are there many front-end developers (css/html/js) using tools like Bower/Grunt/Yo or is it more for web app developers with lots of dependencies, framework customizations and build processes? I could see these tools useful for initiating a chain of events from code validation to automated regression testing. Any insight/experience from the community on these or other tools would be helpful. Especially if they simplify mobile responsive testing.
My intuition is that Yeoman.io is going to be as indispensable to web development as Homebrew is for installing software on mac not from the App Store. I'm just not sure.
Matt West14,545 Points
I'm a huge fan of Grunt. It's made my development process so much smoother since I started using it. (I mainly build reasonably complex web apps.) I used some alternatives for a while (hammer & codekit) but I liked that you have a lot more control over your workflow when using Grunt.
Bower was lost on me for a while, but it's quickly becoming a standard in my web projects. I think Bower becomes most useful if you're managing a lot of different dependencies. If I'm only using jQuery I probably won't worry about Bower, but if the project's more complex it's really useful to have a tool to manage all the different dependencies.
The strongest thing about Yeoman generators is that they give you a decent starting point to build an app from. This is especially useful if you're trying out something new like angular.js or ember.js. When I start out with a new technology I'm not always sure of the best way to structure the application - with regards to folder & file structure - so using Yeoman generators has really helped me solve that problem.
I sometimes wonder if all these tools are making front-end development a little over complicated. I think they're great and use them personally, but if I was just starting out in web development today I'd be a bit overwhelming to see all these tools and recommended workflows floating around. There's nothing wrong with doing things 'the old fashioned way'.
I think the key is to just experiment and see which tools provide you value and which don't.
Thanks for the detailed response and insight, really appreciate it. Now I get how Yeoman would be good for working with unfamiliar application structures. Sounds perfect if I ever want to do a Chrome extension, jQuery plugin etc.
I agree it can seem overwhelming with so many options out there, but it beats the opposite I guess. I feel comfortable cloning repos from the terminal so i'm going to stick with that for now. I will wait on Yo/Bower for now and just focus on Grunt.
Sometimes I get overly excited about technology I don't (yet) know how to use - Like MEAN vs LAMP :?)
Matt West14,545 Points
It's good to get excited :)
I haven't looked at MEAN yet, I'll check out the video.