Yeoman is a generic scaffold which can create of any kind of app for us. It is developed for rapid start on new projects.
Yeoman logo and artwork
Scaffolding generally refers to a quickly set up skeleton for an app.
It can be used to describe many things - from abstracting DB layers, to web apps, to folder structures, and to generating and managing project dependencies . It is a tool that is not specific to any language/technology, just like the term skeleton or boilerplate is platform agnostic.
Scaffolding is a term borrowed from real scaffolding. You build some fast, simplified, (sometimes external, sometime temporary) structure that will help you to build the real, more complex, finalized structure under, above, inside or outside, of that temporary structure.
Just like a real scaffolding in a building construction site, scaffolding gives you some kind of a fast/simplified/temporary, “structure” for your project, on which you can rely to build the real project.
Yeoman is language agnostic and since Yeoman is fact generates files and folders, it can be used to generate projects in any language (Web, Java, Python, C#, etc.)
Yeoman runs as a command-line interface written for Node.js.
Yo works by using generators to scaffold apps. These generators define the structure of the application as well as any dependencies you might need.
There’s a lot of publicly available generators and its easy to create a new one to match any work flow.
Here are some common use cases:
- Rapidly create a new project
- Create new sections of a project, like a new controller with unit tests
- Create modules or packages
- Bootstrapping new services
- Enforcing standards, best practices and style guides
- Promote new projects by letting users get started with a sample app
- Etc, etc