1.1. What is Helix and Habitat?¶
Helix is a set of overall design principles and conventions for Sitecore development.
Habitat is a real Sitecore project implemented on the Sitecore Experience Platform using Helix. It is an example that allows developers to see how Helix is applied and lets developers experience a project based on these principles. It also provides an excellent basis on which to develop additional modules and extend existing ones. In addition, it saves the developer from having to create these modules from scratch. Throughout this document is a series of examples of how Habitat implements the described principles and conventions.
Throughout the Helix documentation you will find various examples from Habitat.
You can find the the source code on GitHub: http://github.com/sitecore/habitat
1.1.1. Fuelling fast paced Sitecore development¶
Still not sure? Let’s try an example with racing cars.
When you design a racing car, there are some good things to have. For example, the shape of the car affects wind resistance so you choose the right shape to minimise drag. The engine efficiency affects the amount of fuel you need and thus weight so you design efficiently and lightly to maximise acceleration. To achieve the fastest car, you apply the overall design principles.
If you are a Formula One racing team, you have to apply these overall design principles within the bounds of the Formula One rules for car length, weight, size of engine, spoilers, etc. This is like Helix because you have taken some overall design principles and applied them to a particular type of racing car – in this case a Formula One racing car. The overall design principles are good for any type of racing car in any race but only the overall design principles used with Formula One are correct for a Formula One race.
Habitat is like the Formula One car itself. It is an example of an F1 Car (Habitat) you can race around a track that follows overall design principles for Formula One (Helix). The difference between Formula One and Sitecore is that Formula One does not provide the racing teams with an example car to give all the racing teams a head start, whereas Sitecore does.
1.1.2. Why be interested at all in Helix or Habitat?¶
Helix provide a set of guidelines for your Sitecore projects. The Habitat example provides you with a pre-built and tested set of common modules that you can use as an inspiration to your project. Both improve the efficiency of your projects, reduce costs and time to market. As more and more people and organisations adopt the Helix conventions and principles, it will become a Sitecore standard. This means that people who are familiar with the conventions or the Habitat example will be able to work more easily on other convention-based projects with minimal training. It will be easier for Sitecore Product Support to understand projects built using the conventions, enabling them to resolve issues more quickly. Sitecore will test its software using the conventions so any compatible project that has been implemented for a customer will be more reliable. And since Sitecore will test its software using the conventions, Sitecore will be able to provide better guidance on how to update and upgrade existing Sitecore projects when new versions and new products are released.
Still need a car example? A race engineer has been working for an F1 team and decides to transfer to another F1 team. The race engineer is already familiar with Formula One (Helix). She recognises just about everything on the car (Habitat). There are a few minor differences for which she will need some training but those small differences do not stop her opening her bag of wrenches and getting to work right away.