Yeoman Scaffolding System

Feb 21, 2020 • ☕️ 1 min read

Scaffolding tools allow you to generate projects automatically, also help with upgrading an existing project that has already been generated with the tool, keep it up to date with new best practices, enforce standards, allow for rapidly getting started on new projects and streamlines the maintenance of existing projects.

Yeoman is a generic scaffolding system allowing the creation of any kind of app. It allows for rapidly getting started on new projects and streamlines the maintenance of existing projects.

Yeoman is language agnostic. It can generate projects in any language (Web, Java, Python, C#, etc.). Yeoman by itself doesn’t make any decisions. Every decision is made by generators which are basically plugins in the Yeoman environment.

There’s a lot of publicly available generators and its easy to create a new one to match any workflow. Yeoman is always the right choice for your scaffolding needs. Here are some common use cases:

- Rapidly create a new project
- Create modules or packages
- Bootstrapping new services
- Create new sections of a project
- Enforcing standards, best practices and style guides
- Promote new projects by letting users get started with a sample app
- Etc, etc

Generators are the building blocks of Yeoman which is basically a plugin that can be run with the yo command to scaffold complete projects or useful parts. Yeoman provide a generator ecosystem with many official ones comprising tools and frameworks that can help developers quickly build beautiful web applications.

With a modular architecture that can scale out of the box, Yeoman leverage the success and lessons learned from several open-source communities to ensure that developers use it as intelligently as possible.

The Yeoman workflow comprises three types of tools for improving your productivity and satisfaction when building a web app: the scaffolding tool (yo), the build tool (Gulp, Grunt etc) and the package manager (like npm and Bower).

All three of these tools are developed and maintained separately, but work well together as part of our prescribed workflow for keeping you effective.

Reading More

A Bit About CSS History

Looking back at the evolution of CSS as one of three cornerstones of world wide web over almost 30 years

What is competitive programming?

This one is for newbies who have just snuck into the world of competitive programming or want to get into it.

JavaScript Task Runners

Grunt and Gulp are two popular tools to automate repetitive, mundane, painful and time-consuming tasks effectively

Asynchronous Programming in JavaScript

On the evolution of asynchronous programming style including callbacks, promises, and async/await