Boilerplate as an IT term has been used quite recently, but the word boilerplate was used more widely as early as the 19th century to describe a solution that made printing houses employees work faster and more efficiently. What was this solution, and what is the boilerplate meaning today?
Table of Contents
With a constant demand for software and the continuous need for qualified engineers in the market, the cost of building an application is getting more expensive. On the other hand, Software Houses are trying to deliver the best software possible, adding processes such as quality assurance (QA) and mentorship, which inflates prices even further.
For years, companies have been using open-source projects maintained by the community to speed up the development process while keeping up with the newest technology trends. You had probably heard about React.js, Vue.js, or Django frameworks before and wondered what it was all about.
These software initiatives that became standard in web development in recent years are helping the IT industry deliver faster software while maintaining good code quality and the same structure and philosophy. So it's easier for developers to learn the tools and the industry to hire them.
This sounds great and can help bring the development cost down. However, as this is the standard in the industry and everybody is using some form of framework, the development cost doesn’t seem to be impacted anymore.
Fortunately, there are still a couple of things to change this scenario. First, let's take the philosophy of the frameworks and go one step further. We can then extend them to make our frameworks specialized in the industry we are operating, providing a starting point for new projects that contain the most common features requested by the clients.
You may also like: 10 tips on how to find new app ideas
So what is a boilerplate?
In 19th-century newspapers, companies needed to share texts between their branches to publish the same or similar articles. Imagine a powerful story having to be retyped in every city/state so you can print and redistribute it. As you can imagine, this can't be optimal, and it would take several days for the news to be published.
To solve this problem, major newspaper companies adopted "boilerplate text" or simply boilerplate term. These were metal plates with text stamped to share articles or text portions with other publishers easily.
These metal plates were attached to a cylinder printing press to produce a print.
What does it have to do with software development?
But we are a software company that doesn’t print anything and doesn’t need to share text with others, right? So most of what developers do daily is type code, move blocks of semantically organized text from file to file, and analyze every single character to find a bug. This is very similar to the publishers’ problems, but the tools available today make it so much easier to copy & paste portions of text.
How to define boilerplate today?
They are reusable working codes intended to reduce the time to start a new project by implementing standard features and configuration files. For example, imagine you're to create a new blog. You could start from scratch and spend hours and days instituting the necessary features. Or use a boilerplate with a minimum working blog, written in React.js, to extend and modify easily later.
Worth checking: 16 SaaS pricing models and strategies – the ultimate guide
It's not only about reusing code
When you start a project from a boilerplate, you tend to follow the code patterns and styles chosen by the creators of the boilerplate, which indirectly means that you agree with these patterns.
So all the developers working on that project will be familiar with the patterns and consistently implement new features, ensuring the code is as readable as possible, so developers of any seniority can reason about it.
And if you keep using these boilerplates that implement a consistent pattern throughout the company, you will ensure that all developers are on the same page regarding coding styles, making it easier to join new projects or give maintenance on an older one.
Among the technologies we have experience within our company, the most predominant one is React.js. Hence for the past six years, we have been following the patterns introduced by the Create React App team. As a result, every frontend developer in our company is familiar with it.
Also read: Mobile app design process – taking the guesswork out of ‘great’
Extending and creating your own boilerplate
As mentioned at the beginning of this article, everyone is using boilerplates to some extent, which is a standard in the industry. So although we can benefit from all the positives said before, there are still some things you can do to give yourself an edge in speed and quality.
One of those things is extending a boilerplate code and bringing it closer to your needs. So now it's not only a starter kit with premade code that's common between projects but a more robust starter project with many applicable features to the industry you're working on.
In our experience in Apptension, we have built hundreds of web and mobile applications over the years and saw a bunch of standard features. For example, all applications (or 99% of them) need a login. Or email templating, payments and subscriptions, CMS integration, and more.
These are some of the features that became repetitive work throughout the years. But, when added to our boilerplate code and turned into part of the starting project, we get a time advantage for our clients, and we can then think of other meaningful features for the business.
Read more about our SaaS Boilerplate.
Boilerplate meaning - conclusion
We have come a long way from the boilerplate texts used in the 19th century to our modern-day boilerplate code, yet we can still do much for further improvements. It can be a good idea to start every project with a community-based boilerplate such as the Create React App.
Still, you also considered extending it to your industry, where you can add those exclusive features that are most common among your clients or the internal projects you're building.