August 21 2017

The Problem

Often when starting a new project, a developer can have doubt on how to implement the structure, which patterns to follow or which of the many frameworks should you choose to achieve a single goal when there are hundreds out there. Many times this reason is why the kickstart is so hard.

The Solution

Use a structure/template generator for applications where you can specify or choose every piece of software that fits your needs.

Introducing Yeoman

Yeoman is an open-source development stack to help developers build applications, it runs as a command line interface written for Node.js.

It uses "generators"

Yeoman generators are created to let you define app templates to:
* Rapidly create a new project
* Create modules or packages
* Enforcing standards, best practices and style guides
* Promote new projects by letting users get started with a sample app

Besides being an open-source project they have multiple templates to start with. So instead of creating your own template, let's say you want a classic MVC java spring angular template. You can search for different types of generators in and find the one that fits you.

Inside every generator, there's a webpage or a GitHub with the description of the structure, tools and builds included.

For instance: JHipster which is a Spring Boot + Angular


Once you find the generator that fit your needs you can create the whole structure from it.

Make sure you have installed yeoman with:

npm install -g yo


Generators are npm packages named generator-nameofthegenerator

In our case to install the JHipster we need to execute

npm install -g generator-jhipster


And then in the desired directory we do

yo jhipster


Right after the generator will ask a series of questions to customize the new project as of:

And we can check that the whole structure was created as expected.

Besides the great use of the generators to start projects in no time, I found this tool really helpful to start playing with webapps. When building a front-end application there are thousands of options to use and if you really want to give a try a certain configuration without getting into the full details of what the framework-library-building tool does or how the structure should look like. This is a really good approach.


About the Author


My name is Alvaro Zorzini I'm from Buenos Aires, Argentina. I'm a student of computer science engineering and been working for AVIO since 2014 as a Full Stack Developer. 

Join the Conversation

Enter your first name. It will only be used to display with your comment.
Enter your email. This will be used to validate you as a real user but will NOT be displayed with the comment.