At NetConstruct we are always looking for ways to improve our efficiency in the development process. This can be quite tricky because every client and every project is different and we take great pride in hand-crafting the best technical solutions. That being said we can always automate certain aspects of what we do as long as we can make sure the right variables can be added into the process.
This is one of the reasons we love SASS and LESS and have been using them for some time now. But we have still found that the front-end process is either too manual if you do it by hand or too bloated if you use a framework like Twitter Bootstrap. So for this reason we have created our own and decided to open source it so others can benefit from what we have done and provide feedback – therefore making us all more efficient.
Using a Web Scaffolding Tool
Yeoman is a tool to help kick start new projects using a workflow. We can use Yeoman to run generators that perform specific tasks including creating a base project structure and creating new files from existing templates.
From there the generator can accept inputs from the user to modify the end result, such as choosing the right CSS pre-processor, to ensure the end result is customized in the correct manner.
How Did We Do It?
We are not keen at all to reinvent the wheel, so our first port of call was to investigate the numerous other Yeoman generators that exist in the market. Unfortunately we found that there was nothing we could use to fit our exact requirements and so we decided to create our own rather than “make do” with one that wasn’t quite right for us.
What was most important for us was to make sure that the development frameworks we rely on were included and that our development standards and practices were adhered to throughout. We also wanted to make sure that we could intelligently create template files – for example Angular JS controllers and factories – in order to enforce coding standards across our team and ensure code familiarity and efficiency whilst improving maintainability.
The Yeoman generator we have created allows us to set up new projects to a high quality standard in a fraction of the time it would take to do this manually. It helps to reduce user error and avoids repetition of the dull repetitive tasks often needed at the start of the project.
Using the Generator
We decided to Open Source the generator, partly for our own ease of use and partly so that through feedback from a wider community we can continue to improve it further.
If you would like to give it a go, the code is available on GitHub. You can also find instructions on how to use it on GitHub along with what prerequisites are required.
We hope you enjoy using it and would welcome any feedback.