Umbraco - A Developer's Perspective

posted on 13 October 2010 by Jonny Irwin, Lead Developer

Umbraco logo

Over the last number of months I have dedicated many hours of my life to creating websites in "Umbraco". Rarely as a developer do I get so enthusiastic about developing against a product such as this. So, what makes Umbraco different I hear you ask?  The keyword to Umbraco's success has to be flexibility.

Many other Content Management Systems (CMS) try to shoe-horn as much pre-built functionality as possible into the product, hoping for that ultimate "out-of-the-box" website development experience.  While theoretically this sounds like the ideal solution, in reality this causes limitations in the delivered websites.  Rather than creating a website to fit a customer's requirements, these requirements often end up having to bend in order to fit the out-of-the-box components of a CMS.

Umbraco's approach is different.  There is very little functionality automatically provided for the "front-end" of a website.  Umbraco concentrates more on its key goal: to provide an excellent Content Management System (or "back-end") for website editors, rather than making a mass of "add-on" functionalities. Umbraco provides a fantastic administration system for website editors; and a very easy way for developers to create necessary and bespoke functionality quickly and efficiently.

As a developer Umbraco gives me a lot of control.  No longer do I have to struggle with extra unwanted markup being added to my code. Nor do I have to spend 80% of my time trying to make some component work that's not really suitable for the task or requirement in question (like putting a square peg in a round hole).

This is not to say that there isn't a lot of pre-built functionality for Umbraco - there is.  Umbraco has an amazing online community behind it.  The community produces many extremely useful packages of "pre-packaged" functionality - many of which come complete with source code for easy modification by the developer should the package not meet a customer's requirements entirely.  Should a developer have a query on Umbraco, or any of these pre-built packages, we can get answers within a matter of minutes - either on the community website  or via twitter (@umbraco).

Another aspect of Umbraco that keeps developers happy has to be that it is created in industry-standard technologies.  Using, C# (or, XSL and more, means that any developer can pick Umbraco up and start working with it.  No more CMS-specific scripting languages!

Overall, I would have to say that Umbraco has completely changed my perspective on the creation of websites.  Starting from scratch is not the way forward; neither is settling for a one-size-fits-all solution.  Being able to create websites on a platform that supports industry-standard technologies, with an intuitive content-editing interface and having the flexibility to meet any customer requirement, is definitely the way of the future.