Yeoman
A Scaffolding Tool
Yeoman is a generator that installs and combines the workflow of three different tools: Yo, Grunt, and Bower. Together, these tools provide a developer with everything needed to kickstart a new web project.
Yeoman Takes Care of the Menial Setup Tasks
Yeoman is an open source client-side development stack that provides a generator ecosystem to scaffold entire web applications or just useful parts and pieces. The creators of Yeoman describe it as "a robust and opinionated set of tools, libraries, and a workflow that can help developers quickly build beautiful, compelling web apps."
The components and workflow of Yeoman provide a project’s basic framework and prescribe best practices and fast, efficient solutions to increase development productivity. Running as a command-line interface written in Node.js, Yeoman combines several functions into one place; it can generate a starter template, manage dependencies, run unit tests, provide a local development server, and optimize production code for deployment.
Yeoman Packages Together Useful Tools
Yeoman is built on both official generators developed by the Yeoman team and third party generators made by the open source community. Yeoman itself simply provides the infrastructure to build and run these generators. While each of these tools are independently developed and maintained, they all work well together as part of Yeoman’s package and boast large and cooperative communities that push their continued advancement.
Yeoman’s structure is comprised of three different types of tools that improve productivity and app quality: a scaffolding tool (Yo), a build tool (such as Grunt), and a package manager (like Bower).
- Yo is a command line interface (CLI) for running Yeoman generators; more generally, it is a tool used for scaffolding a new application. It provides an easy way to create all of the boilerplate code necessary to start a project. It creates common project assets, writes your Grunt configuration, and pulls in relevant Grunt tasks and Bower dependencies for your particular build.
- Grunt is an automation tool used to simplify and speed up such processes as compiling Sass files, optimising images, or minifying CSS or JavaScript files. The Grunt taskrunner, along with Gulp, is a popular option for Yeoman’s Build System. As part of the Yeoman package, Grunt is used to build, preview, and test your projects.
- Bower is the most popular option for Yeoman’s Package Manager; it is used for dependency management, so that you don’t have to worry about manually downloading and managing scripts.
Get Your Project Going Quickly
Yeoman takes care of providing all the necessary requirements to get started on a web application with none of the usual headaches associated with a manual setup. Creating a project setup with the normal tools and dev support requires expert knowledge and costs lots of time; Yeoman can get you up to speed quickly. Yeoman assembles the best practices tools currently available on the market so that you can begin immediately. Choosing Yeoman is a great way for you to learn lots and lots of new tools. And once you have become more acquainted and comfortable with these tools, you can adjust Yeoman’s configuration to make it an even better fit for your specific project needs.