There are different development approaches in Kentico CMS development. The easiest and popular one is the Portal engine development approach. It is a really great tool that allows you to set up and develop marketing websites or e-commerce solutions using standard Kentico out-of-the-box features with minimum programming knowledge. It is easy and flexible in terms of support for the site. Because in most cases, you do not need to interact with the codebase to make updates, but only make them within the CMS. This is convenient for clients too. As a lot of clients, even if they do not have a technical background, can go to the admin interface and make some straightforward updates by themselves.
But time flies, technologies change. Good old ASP.Net Web forms that are the base of the Portal engine, become like dinosaurs that are becoming extinct. As well as developers, who want to work with this old technology, are becoming ‘endangered species’. Nowadays, if you want to be competitive, your company needs to keep up with the rapidly evolving technologies.
So Kentico moved toward the ASP.Net MVC framework, leaving Portal engine development behind, and will support it just till 2023. As a result, encouraging clients who use the Portal engine to redevelop their sites to Kentico MVC.
That causes a lot of questions from clients: ‘What does it mean for us in terms of development efforts?’, ‘How does it influence future support?’, ‘How does it affect a project cost?’,
‘What will be my experience in using the admin interface for the MVC development approach?’,
‘What benefits will get if I move my site to Kentico MVC?’.
Let’s analyze these questions in detail from a standpoint of comparison of MVC and Portal development approaches.
If you move your existing website from the Kentico Portal engine to Kentico MVC it is definitely a new development effort. Upgrading from one to another is not possible because these are different frameworks. Here are the most common parts that are required to move to a Kentico MVC:
If you do not plan to make a website redesign or any updates to UI or functionality, UI parts (HTML, CSS/Javascript files) can be reused for a new MVC application. In the other case efforts to create new pages markup are required.
Page types used to store information about your pages and how those are organized in tree structure should be reviewed and updated according to the MVC development approach.
A content import procedure should be developed to re-import all the required content from the old site to the new one. Content examples are users, blog posts, news pages that can count to hundreds and it is time-consuming to move them manually.
Create business logic, models, views, and controllers to make the site functioning.
Now when you have a new website released on Kentico MVC, you are in the process of support and maintenance. It might be a pain for clients who used to go to the Design tab and make some updates to web parts by themselves without developers. Because now this process is only in the hands of developers. Configuring Continuous Integration (CI) won’t impact websites’ delays a lot during hotfix deployments. At the same time, your admin application is totally separated from the live site (unlike Portal engine), and content editors can work on content without break during hotfix deployments. It brings more order into the project and allows the development process to go smoothly. As a benefit, this allows us to divide responsibilities between different participants of the project (customer, editors, developers, etc.).
Transferring your website from the Kentico Portal engine to Kentico MVC definitely is more expensive than just making the upgrade to newer versions. In terms of new website development, the cost for developing the MVC site is almost the same as for the Portal engine. In some tricky cases, the price might be a bit higher, but it depends on how the complex functionality is. But in general the result you get worth the investment.
Now let’s talk about the benefits you get if you invest in the Kentico MVC development model. First of all, all the main Kentico features and modules that you used to use in admin are available. The new page builder, custom layouts, widgets, and the ability to build MVC page templates based on them gives the editor and marketers the powerful tool to build-up the various pages depending on business needs.
When it comes to the custom interactive functionality on a live site (like complex filters, forms, wizards, etc), where we had to code something custom on the Portal engine, Kentico MVC wins. It is easier develop custom CMS functionality with MVC, and the result is much better in terms of user experience and speed of interaction.
In the MVC development model developers have full control over HTML output, which allows them to get clean HTML output of pages. Pages are more lightweight. As a result, better site performance. Also, that has an impact on SEO and your website will rank higher by search engines. It is easier with MVC to provide accessibility standards, as well as such things as Schema.org, OpenGraph, etc.
I guess it is said a lot, to make you think in the direction to use the MVC development model for your website. It will bring benefits not only to your business, but it will also make your developers happy and motivated. Happy developer - efficient developer :)