Umbraco as a platform for learning web development
Front-End Developer, Robert Gassmann, discusses the use of Umbraco CMS as a platform for learning web development, whilst reflecting on how the industry has evolved over the decades.
Recalling my experience of web development in the mid-90s, much effort was directed at combating the quirks of the Internet Explorer 5.5 and Netscape Navigator 4 browsers, negotiating the competing effects of HTML properties and inline styles, and confronting the ‘important’ design decisions of selecting screen widths (i.e. 800px or 1024px) and web-safe colours.
Help with web development, and the internet in general, could largely only be sought from libraries and bookstores; and discussions were tinged with an air of academia and nerdiness. While these days were (in retrospect) simpler, they were far from halcyon.
Although web development itself has developed gradually over time, the contrast to now in terms of the societal and business dependence on the internet, online threats, stakeholder size and scope, and the proliferation of mobile devices could not be more stark. Web development has become a profession, is now more mainstream and has been defined and formalised by media, business and academia.
Technology has come a long way since the 1990s
This increase in complexity and reliance is being matched by a wide spectrum of technical platforms, libraries, languages and tools. From experience, Umbraco is a platform that for many developers and businesses is an ideal solution to manage and utilise these complexities and technologies.
Umbraco is an open-source content management system (CMS) that is widely used and is the preferred CMS at PDMS. It was initially released in 2000, while its latest version 10, based on ASP.NET Core 6 technology, was released in June 2022. I don’t propose to go into a full discussion of Umbraco in this article, but the curious and interested can investigate further online. My perspective is that of a developer and my experience of Umbraco as a platform for web development.
Umbraco has many strengths. Out-of-the-box it utilises modern Microsoft technologies and, via the various Visual Studios, provides a ready-made working environment for C#, MVC and Razor pages.
From a web development perspective Umbraco provides a platform that helps to jump-start the rapid learning of common, modern coding patterns and principles, such as clean architecture, separation of concerns, loose coupling, dependency injection, partial views, code reuse and routing. Its biggest strength, however, is its extensibility.
Umbraco helps with learning modern coding patterns and principles
While Umbraco itself can take care of all aspects of delivering a working website, its MVC architecture encourages developers to implement overrides and customisations and to programmatically create and manipulate content.
Umbraco requires extensive use of LINQ and generics to traverse and retrieve content, and integrates well with Angular 2+, React, jQuery, Sass, Bootstrap and many other libraries and frameworks.
In addition, to manage website content, Umbraco has a highly configurable back office, which provides excellent flexibility and a good user experience for our customers
From experience, Umbraco is not a panacea and can be prone to errors in some complex environments that require experience with Umbraco to overcome, although more recent versions have improved. The key here, which PDMS has adopted, is to record and apply observations, fixes and good practice.
Whilst other CMS' are available and are extensible, such as Joomla, Drupal and WordPress, from experience they do well at insulating developers from their inner workings by promoting the use of a vast library of plugins. Plugins are available for Umbraco but are not essential.
Web development in the mid-90s was exciting because it was new, but it was also a slog. The time was characterised by a lack of organised learning resources as well as an absence of accessible standards and good practice.
Now, websites - and their App cousins - are ubiquitous and inseparable from most people’s everyday lives, and consequently technical choices have proliferated.
Whilst PDMS works with Umbraco because it is an ideal solution for many customers, it also provides a catalyst to learning modern web development methods, and one that I highly recommend for any aspiring as well as experienced web developer.