If you have been working in the software industry for many years you will probably know that one of the principles in development is reuse . Specifically, in Django we have some design philosophies :
Less Code
Quick Development
Don’t repeat yourself
Usually developers apply these principles to the code they write, so when they begin a new application they begin to import all the modules needed for the construction and to make all the configuration required. When constructing an application from scratch they always have to repeat a long sequence of almost identical steps, and wrongly, most developers think that there is not an alternative to this behaviour.
There is a much better alternative and it is provided by Django . We call it “Starters” and in the next technical posts we will explain how to get your own Starter , but in this one, we will talk about the advantages that Starters bring for our products and clients .
The starters are templates of different base projects which have a set of predefined features that we can implement in a record time to begin to develop the prototype or the final solution for our clients. We obtain a set of very interesting benefits by using them:
Reducing costs . The base code is already done so we are able to save an important amount of hours at the start of a project. Our clients can save the hours required to create most of the initial infrastructure to use them for the features that are really important for their business.
Gaining speed . The other important parameter is time, with Starters we can reduce our initial delivery period up to more than a week which is a considerable amount especially when our client is in a race with competitors, or time is a key factor for the product.
Robust and tested solutions . Some of the features included by default are related to Sign In and Sign up processes, User management, etc. The code that we use has been used previously numerous times and we know that it works. Moreover we share a tested and homogeneous architecture in our solutions that all the team know perfectly, so we can sleep very well every night because unpleasant surprises are not common for us.
It is not something we have invented, in Java we have it with the Maven archetypes and in Django this is provided by the command django-admin startapp/startproject and the parameter --template. If you are interested in getting more technical details, please be attentive to our blog in the next days.