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. | |
|
| |
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.