Which development model will be best for your Kentico CMS project - Portal Engine, ASPX, and MVC? We take a look at the benefits and challenges inherent with each develpment framework to help you with your next Kentico project.We have written this article in response to some questions from our customers on the development models used by Kentico. Kentico has matured their development models over time to bring greater performance and connectivity for Kentico-based websites and applications.
The versatility of Kentico allows for three development models: Portal engine, ASPX, and MVC. This article aims to summarise each model, outlining its strengths and weaknesses, in order to provide a high level guide to selecting the best fit for any type of project.
The Portal Engine model is the standard and most feature-rich model. It offers all of Kentico’s CMS features out of the box and is the most commonly implemented architecture. Most website development is done via drag-and-drop, where developers (& others) have the choice of a multitude of ready-made web-parts to apply across their page templates. Customisation of all web-parts is simple and this allows very rapid site development for any relatively simple website.
Anything requiring more complexity is not a problem, as the portal engine can also handle more complex customisation as it allows for straightforward integration of custom .Net components to be created in Visual Studio and seamlessly integrated into the existing website. Once implemented and registered against the CMS, the custom components are then treated as the out-of-the-box web-parts and components, creating seamless development.
There is one significant drawback of the Portal-engine – page load speed is noticeably slower which negatively impacts the visitor experience on the website and SEO performance. In tests where cache has not been utilised we can see a significant increase in page load speed (up to 30% in some sites we tested) when compared to the ASPX and MVC models.
Kentico ASPXThe ASPX model is a variation of the Portal-engine which assumes that development will be done (in part) in Visual Studio. All templates are coded using ASP.Net languages and the drag-and-drop functionality of web part placement is disabled. However, full access to all source code relating to both templates and web-parts is provided, eliminating any restrictions from the Portal-engine model, thus allowing for more complex development requirements. In our experience at Revium, the ASPX model also results in faster page load speeds, when compared to the Portal-engine model.
However, a draw-back is the inability to utilise the full set of Kentico EMS tools (on page Marketing features from v9 onwards) which are all available using the Portal-engine. The other most notable issue is the limited support of the content personalisation functionality.
Kentico have started to sunset the support for ASPX model and instead they are concentrating on the Portal-engine and the progressively emerging MVC model.
The MVC model is the up-and-coming development architecture model for Kentico. Though MVC is nothing new in the larger .net world, it has been on the side-lines in the world of Kentico for quite some time. Of late, the MVC model has had an injection of interest and functionality; most likely led by the interest from developers to utilise this superior development architecture.
In the current version of Kentico (version 11 at the time of writing this article), the MVC model is still emerging. Kentico 11 sites developed using the MVC model miss out on some EMS functionality available in portal and there are restrictions on how site editors can work with content. For example there is no drag-and-drop web part functionality, there is no ability to edit content in a page tab and no nice front-end site overlay. Though we should see this feature in the upcoming version 12, with the introduction of widget support.
What you do get is the ability to create ultra-fast websites (with no restrictions on UI) and the capability to more easily develop anything from the simplest websites through to the most feature rich, complex websites. In our work at Revium we really value the faster page load speeds that MVC can deliver – as it gives the end user of the site a better experience and makes it a lot easier for our SEO team to get the site higher Google rankings.
Going forward, Kentico have indicated that they are making a shift to have an MVC-first CMS, with the Portal-engine taking somewhat of a back-seat and the ASPX option getting phased out.
Kentico Headless CMS
What about the new Kentico headless CMS model?
The concept of a headless CMS is starting to gain some momentum for certain client use cases and there is a lot of buzz around it at present. That said, the decision on whether to use a headless CMS or traditional CMS is a very different discussion to the considerations around development models for standard Kentico CMS website development. It is definitely an interesting topic and one that we will explore in more detail in a future article.
It seems the historically popular ASPX method is now the ugly duckling of the Kentico world and given support for it is ending it would not be a good choice for any new projects.
This leaves us with the choice between Portal and MVC.
The Portal-engine does offer the richest Kentico experience for content editors and the most comprehensive feature set but the trade-off is website speed. Conversely, whist MVC is faster it doesn’t have all the of features of portal – but given there is a renewed focus from Kentico on improving it this may change in the future.
There are definitely pros and cons for each model and choosing between them will be a case of deciding what is the best fit for your specific project’s needs.
Contact us today for help with your next Kentico project.