---
title: Kentico development models
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

Kentico provides two development models – **Portal Engine** and **MVC**. This page summarizes the main differences, advantages, and disadvantages of the two approaches:

|                                           | [MVC](https://docs.kentico.com/k12sp/developing-websites/mvc-development-overview.md)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | [Portal Engine](https://docs.kentico.com/k12sp/developing-websites/portal-engine-development-overview.md)                                                                                                                                                                                                                                                                                                                                                                    |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Overview                                  | Allows you to create websites using the **Model-View-Controller architectural pattern** (based on the ASP.NET MVC 5 framework).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Allows you to build websites in a **browser-based interface** using components called web parts. The underlying architecture is based on ASP.NET Web Forms.                                                                                                                                                                                                                                                                                                                  |
| How you work                              | When developing under the MVC model, you work with two independent applications – the Kentico administration is entirely separated from the MVC application serving content, allowing you to fully leverage the separation of concerns for which the MVC approach is known.<br>Both applications store and retrieve content from a shared database.<br>Requires knowledge of MVC architecture, ASP.NET, and C# or VB.NET.                                                                                                                                                                                                                                                                                                        | You build websites and design pages using a browser-based interface: the Kentico administration and live site run within a single web application.<br>No programming knowledge is required for common tasks.                                                                                                                                                                                                                                                                 |
| How you assemble pages                    | The layout of pages is defined via view templates and a chosen View Engine, e.g., Razor (a mix of HTML and server-side code written in C# or Visual Basic), together with the [page builder](https://docs.kentico.com/k12sp/managing-website-content/using-widgets-in-mvc.md) feature, which allows editors to compose page content using predefined widgets and quickly update sections of designated pages.<br>Data is structured using  [content-only pages](https://docs.kentico.com/k12sp/developing-websites/defining-website-content-structure/creating-and-configuring-page-types/creating-content-only-page-types.md), serving as content repositories, and can be edited through the Kentico administration interface. | You use built-in or custom web parts that you place into customizable page layouts (HTML code with placeholder zones for web parts).<br>Page content is separated from the design of the site, and can be edited through the Kentico administration interface.                                                                                                                                                                                                               |
| Site composition and visual inheritance   | Presentation of content is handled solely by the MVC application, giving you complete control over the layout and the site's overall design.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Page layouts are inherited from ancestors all the way to a site's root page. This nesting can be broken and restarted at any level.                                                                                                                                                                                                                                                                                                                                          |
| Custom code integration and extensibility | You are in full control of the MVC application and all related functionality, including customization, OWIN middleware integration, etc.<br>The Kentico API provides a customization model that allows you to extend or modify the system's functionality.<br>See also: [Customizing MVC projects](https://docs.kentico.com/k12sp/custom-development/customizing-mvc-projects.md)                                                                                                                                                                                                                                                                                                                                                | You can create user controls (ASCX files) or [web parts](https://docs.kentico.com/k12sp/developing-websites/developing-web-parts.md) (ASCX files configurable via Portal Engine) to integrate custom functionality.<br>The Kentico API provides a customization model that allows you to extend or modify the system's functionality.<br>See also: [Best practices for customization](https://docs.kentico.com/k12sp/custom-development/best-practices-for-customization.md) |
| Advantages                                | Model-View-Controller architecture.<br>The option of using a View Engine of your choice.<br>Full control over the implementation.<br>Two independent applications, allowing for greater separation of concerns.<br>Greater flexibility when designing websites and no dependence on existing implementations, but at the price of additional development time.<br>Both applications can be hosted completely independently as separate server or could deployments.                                                                                                                                                                                                                                                              | Easier and faster way to build websites.<br>ASP.NET programming knowledge is not required for common tasks.<br>Quick and efficient website creation using only a web browser.                                                                                                                                                                                                                                                                                                |
| Disadvantages                             | Not all Kentico features are supported for MVC development, see [Supported features on MVC sites](https://docs.kentico.com/k12sp/kentico-development-models/supported-features-on-mvc-sites.md).<br>Requires knowledge of ASP.NET MVC and programming.                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Constrained by proprietary architecture and development processes.                                                                                                                                                                                                                                                                                                                                                                                                           |

## Filtering the documentation for a chosen development model

Starting with version 12, the header of the Kentico documentation includes a development model switcher. Using the switcher, you can quickly swap between development models, filtering out irrelevant pages when searching, as well as in the page tree on the left.

![Documentation model switcher](https://docs.kentico.com/docsassets/k12sp/kentico-development-models/switcher.png "Documentation model switcher")

If you switch the development model when viewing a particular page, you will:

- remain on the same page, assuming the covered scenario is identical for both development models.
- be sent to a page covering the scenario for the other development model.

Some pages are only available for one of the development models. In these cases, you will be offered the option to switch to the other model and go to the documentation home page.

![No alternative page available](https://docs.kentico.com/docsassets/k12sp/kentico-development-models/switcher_noalternative.png "No alternative page available")

> **Info:** **Note**: Both development models utilize the Kentico administration interface (which runs as an ASP.NET Web Forms application). Pages that describe how to configure or customize the administration interface are therefore included in both documentation modes (regardless of the used architecture).
