Xperience development models

Xperience provides two distinct development models – ASP.NET MVC 5 (referred to as MVC) and ASP.NET Core (referred to as Core).

ASP.NET Core

ASP.NET MVC 5

Technical properties

With both development models, websites consist of two applications – an administration application and a live site application. The two applications use a shared database and are synchronized using a web farm mechanism.

  • Based on the ASP.NET Core framework
  • Cross-platform support
  • Lightweight, open-source framework with superior performance
  • Based on ASP.NET Framework. This framework is stable, established and still serviced by Microsoft, however it is no longer being actively developed.
  • Many options for third-party library integration

Future compatibility

The Core development model is the only option supported in the next generation of Kentico Xperience. We recommend using the Core development model for all new projects.

The next generation of Kentico Xperience does not support the MVC 5 development model. Existing projects will eventually need to be migrated to ASP.NET Core.

The MVC development pattern in general remains supported within ASP.NET Core. Only the older MVC 5 model based on ASP.NET Framework will be dropped.

Supported functionality

The majority of Xperience features is available for both development models. However, certain features work differently or are unavailable due to the technical nature of the underlying framework.

All important differences between the development models are described in Migrating ASP.NET MVC 5 projects to ASP.NET Core.

Additionally, External utilities, such as the Xperience installer or Hotfix utility, are not based on ASP.NET Core and cannot run cross-platform (only on Microsoft Windows systems).

Working with content

For end-users, such as content editors and copywriters, there is no noticeable difference between the two development models. The way of working with content and the tools available are identical.

Documentation structure

Pages in the documentation not specifically targeted at Core are written primarily for the MVC development model. The standard documentation applies to Core scenarios most of the time, but certain steps and code samples may need to be slightly adjusted.

Certain pages allow you to switch between content suitable for the Core or MVC models using a selector located under the page heading. Pages that include the development model switcher can be linked with a specific model pre-selected. You can add the devmodel URL parameter with one of the following values to the end of the URL:

  • mvc – e.g., https://docs.xperience.io/developing-websites/page-builder-development/developing-widgets?devmodel=mvc
  • core – e.g., https://docs.xperience.io/developing-websites/page-builder-development/developing-widgets?devmodel=core

Development using ASP.NET Core is documented in a dedicated section: Developing Xperience applications using ASP.NET Core.

The most important differences between the development models are highlighted on the Migrating ASP.NET MVC 5 projects to ASP.NET Core page.