If I could rewrite
this article (please ignore the fact that its possible), Yeoman would top the new list for 2014. I mean this guy does all the dirty work. I like to think he solves all my web development frustrations.
For those familiar with Rails, there is a handy scaffolding feature that allows you to build out different MVC aspects of the application with considerable ease. It’s a very handy tool, and does its Rails Magic building out your server and client side code in preferred Rails fashion. And Rails developers love not having to spend the first few days of app development writing boilerplate code. Working with node.js I had been missing this scaffolding aspect, and with Yeoman it has been found.
Oh, but it’s so much more!
Alongside my preferred
Angular Fullstack Generator, I am able to get an up and running, scalable app with user hierarchy and authentication in mere seconds. But more so, a few command line entries and I have all my server (models, routes, unit specs) up and running, as well as my angular (routes, services, specs). This way, I can immediately focus on the important things for my app. I can start making the careful Model design choices, specialized AJAX routes, and the ever-so-damn-important-immediately-needs-to-get-done-design. More importantly, yeoman takes pride in making these generators customizable to the choices of the developer. I prefer my angular services all in the same place, and not jumbled with my controllers, and I love that Yeoman obliges.
And its modular
Like everything I have come to love about node.JS, yeoman has a community focus on building in a modular fashion. When you add a angular-fullstack:endpoint, it neatly encompasses the relevant code into the api route for that endpoint. It’s a beautifully coupled way of building server routes, with scalable functionality. I can immediately head to that directory and start building out its more extensive features. Yeoman establishes basic CRUD capabilities, and a spec file for testing.
Yeoman for everything
Now, I am not a yeoman expert, I have yet to build my own generator, but it’s been such a useful process to explore a number of the community yeoman generators. There are yeoman generators for all your favorite frameworks, and I encourage you to explore them all. In fact, I’m not sure there has ever been a better way to explore best practices, than get acquainted with the generators of that environment. I know I may be getting a little carried away about boilerplate code, but I think Yeoman is worth the hype.