Kentico now recommends the MVC development model - what does this mean?
Developers around the world rejoiced to hear that MVC, while having already been an option for Kentico development for years, is now officially the recommended development model as of K12. Marketers around the world smiled and nodded and clinked glasses with the devs, while secretly thinking "what's an MVC?"
MVC stands for Model-View-Controller. If that doesn't mean much to you, don't worry, because it doesn't really matter. It's a common, and popular style of programming that's technically been around since the 70s, in just about every programming language you can think of.
When I refer to MVC in the context of this article, I'm talking about developers being excited about being able to use ASP.NET MVC to build Kentico websites, rather than the previously recommended ASP.NET WebForms technology.
You're right if you think that doesn't explain a lot in terms of how this affects your Kentico website. But it's coming, so I will try my hardest to explain what you do need to know.
History of Kentico's development models
Kentico has been around for close to 15 years now, and in that time technology has progressed quite a bit. In the early naughties when Kentico was born, ASP.NET itself was quite young. ASP.NET introduced a powerful technology called WebForms, which made it possible to produce complex and powerful web applications with features similar to desktop applications. Any WebForms web pages tended to have an .aspx file extension, which led to this approach being popularly known simply as ASPX. I guess 'ASP.NET WebForms' is just too much of a mouthful!
Kentico introduced a revolutionary and very clever product based on WebForms that they called the "Portal" development model, in version 2 of the CMS way back in 2006. With the Portal engine, developers define Layouts and create components called Web Parts, which can then be used by themselves or by CMS users to build or modify templates completely within the browser.
This approach was a point of difference for Kentico, allowing developers and marketers to work efficiently hand in hand, and made the creation and maintenance of content-heavy websites extremely efficient and cost-effective. We personally loved this approach and have used it to successfully deliver literally hundreds of websites since 2008. As of Kentico 11, it is still the recommended development model in Kentico CMS today.
Around 2010, a new development technology from Microsoft started to gain popularity, called ASP.NET MVC. MVC restructures the way developers write their code to generally be more lightweight, and gives them more precise control over exactly what code is produced. It is particularly well-suited to producing high-performing, standards-compliant, responsive websites, which faithfully reproduce exactly what a designer intended. So it's understandable that its popularity in web development took off pretty quickly.
Kentico, like most of the major .NET CMS vendors, followed suit quite quickly and started adding support for this new technology into their product. Since their Portal engine was heavily based on the existing WebForms technology, this new MVC support started a new track for developers, who could then choose between Portal and MVC when developing their sites.
Initially, since the Portal method was so much more mature and developed, the vast majority of developers still chose the Portal engine. MVC support has steadily been improved over the years, to the point where it is now a legitimate option for many projects.
Development models compared
Today, Kentico still provides these three main development models developers can use to build websites. These are not different versions or editions of Kentico - they're supported in every version. Regardless of which of these development models your site uses, you get the same familiar Administration interface, with the same applications and modules available.
The current recommended model for most cases. All Kentico features are available to developers using this model. It's based on the ageing (but still supported by Microsoft) ASP.NET WebForms technology.
The 'old-school' model, with which Kentico was born many years ago. Most features are available, however Kentico's secret weapon - the Portal engine - is not. Only used sparingly, in specific cases where appropriate. Or (in my opinion) when a developer isn't quite sure what they're doing. 🙊
The new hotness, and the subject of this article. Allows for websites to be built using newer ASP.NET MVC technology. Previously lacking some features compared to Portal, but to be the recommended model as of Kentico 12.
Some developers will argue that there is a fourth model; a hybrid 'ASPX + Portal' approach. I won't go into that here, since it's not listed as an official development model by Kentico, and it isn't really relevant to this discussion of MVC's coming of age.
Kentico MVC feature history
MVC support in Kentico is not new. The new part is that it's now complete and recommended by them over the old Portal method.
Kentico 7, 2012
- First hints of native MVC support. Very limited features. Very limited use by partners and developers.
Kentico 9, 2015
- Kentico rewrote and released MVC support to great fanfare at Kentico Connection
- Major features not supported, such as e-commerce, online marketing (EMS), widgets and forms
- First version that major partners really started getting on board
Kentico 10, 2016
- E-commerce support
- Online marketing (EMS) support
- MVC now considered a legitimate option for development, as long as you were happy not using widgets (or did that yourself)
Kentico 11, 2017
- Revamped Kentico libraries in Nuget
- Improved e-commerce
- Improved online marketing (EMS) features
- MVC support in free edition (for newbies and evaluators)
- Lots of sites being developed using MVC, some partners evangelising it!
Kentico 12, 2018 (coming soon)
- Visual page builder (MVC widgets!)
- Online forms (form builder) including new features beyond the old Portal form builder
- New and improved personalisation
- MVC features have caught up, and in some cases pushed ahead of Portal
Why should you choose the MVC model?
Now that the feature set in MVC has caught up, as a marketer or product owner, it's not a case of you choosing the model you prefer anymore. It's about you making sure you've chosen the right platform for the future. If you're planning on continuing to build on your investment in the Kentico platform beyond 2018 and want to get the most out of the product, then you might want to make sure you're taking the MVC path, since that's where the future of Kentico lies.
Do I have to?
No! If your awesome site is already built using the Portal method on Kentico 11 or earlier (which it probably is and should have been!) then you can still upgrade to Kentico 12 and ignore MVC. Portal sites will still be supported by Kentico for years to come. It's just won't be their favourite anymore once the new version comes out.
Why would you stick with Portal?
All of this talk is about the future of Kentico. At the time of writing this post, Kentico 12 hasn't even been released yet! There's absolutely nothing wrong with your current site being built on Kentico's currently recommended Portal/WebForms model. And unless you're planning on making some major changes to your site in the future, there is potentially no reason for you to consider jumping ship. Kentico are not getting rid of the Portal model, and you can be comfortable that your current platform will be supported for years to come.
Q: Can I upgrade from Portal to MVC?
A: No. 😝
Of course you can move to MVC in the future, but I would prefer to use the term 'migrate' than 'upgrade' since there is no simple tool you can run that will do the majority of the conversion automatically, as there is for a regular upgrade.
Certainly, there are a lot of compatibilities between the two - they use the same CMS back end after all! The big difference is that all of your templates and widgets will probably need to be rebuilt. If you have a lot of complex templates and custom widgets, this could be a lot of work. Counter-intuitively (if you've been through a lot of upgrades or re-platforming projects anyway) custom modules and complex back-end integrations with third-party systems, might be absolutely fine.
You will still be able to upgrade your Portal site to Kentico 12, but it won't come with a free re-platforming from Portal to MVC.
The future is MVC
Whether you're talking about Kentico, Microsoft and .NET in general, or even the market for recruiting developers, the message is clear. The future is MVC. While WebForms and Portal will be supported for years to come, once Kentico 12 is released, if you're presented with a choice between development models, the choice is now clear.
More interesting resources
Want more? Here are some other blog posts you might be interested in.
A content calendar can be an extremely powerful tool – if well set-up and maintained. Content Strategist Tami Iseli outlines some of the factors that can reduce the chances of abandonment, along with a downloadable content calendar spreadsheet that automatically syncs your content ideas to a Google calendar.
Our CTO, Andy Thompson, has been named as a Kentico MVP for the fifth consecutive year.