Kentico provides three basic development models. You can choose the model that best suits your needs:
- Portal Engine - allows you to build websites in a browser-based interface using components called web parts. Only requires programming in Visual Studio when creating custom components.
- ASPX Templates - can be chosen by ASP.NET developers who prefer to create websites using standard ASP.NET architecture and standard development tools, such as Visual Studio. This model requires you to be familiar with ASP.NET web form development and have at least basic programming knowledge of C# or VB.NET.
- MVC - allows developers to create websites or specific pages using the Model-View-Controller architectural pattern (based on the ASP.NET MVC framework). Working with this model requires knowledge of programming and ASP.NET MVC.
We recommend using the portal engine, but you can use ASPX templates or the MVC model if you prefer Visual Studio development or need to integrate existing functionality built on ASP.NET architecture.
If required, the models can be combined on a single website. For example, you can place documents using ASPX or MVC page templates onto a portal engine website, and even insert custom ASPX pages implementing your own applications. On the other hand, you can create ASPX page templates with areas that can be edited through the portal engine.
How you work
You build the website and design pages using a browser-based interface.
No programming knowledge is required for common tasks.
You build ASPX pages (web forms) that are used to display content from Kentico .
At least basic programming knowledge of ASP.NET and either C# or VB.NET is required.
You implement model objects, MVC controller classes and views for rendering pages.
Requires knowledge of MVC architecture, ASP.NET and C# or VB.NET.
How you assemble pages
You use built-in or custom web parts that you place into customizable page layouts (HTML code with placeholder zones for web parts).
You use built-in or custom ASP.NET server controls and place them onto the ASPX pages. These are standard web forms that are part of the web project, so you can also work with code behind files.
It is also possible to place web parts on the page templates if the required server control is not available.
The appearance of pages is defined through MVC views, which are composed of HTML and inline code. The overall logic of pages and interaction with Kentico data can be ensured through the controller and model classes.
Master pages and visual inheritance
Subpages can nest within any ancestor pages. You can break the nesting on any level.
Page templates may inherit content from a master page, which works just like a standard ASP.NET master page (.master file).
Pages do not inherit content from their parents in the website content hierarchy.
Content inheritance can be ensured through standard MVC master pages for views (master pages that inherit from the ViewMasterPage class). Nested views and Razor layouts are also supported.
Pages do not inherit content from parents in the website content hierarchy, only from their master page or view.
Custom code integration and extensibility
You can create your own user controls (ASCX files) or web parts (ASCX files with a portal engine interface) if you need to integrate custom functionality.
Any custom controls or code can be added to the web parts placed on the website.
You build standard ASPX pages with code behind files, which means you can place any custom controls and code onto the page.
You prepare the content of the MVC views and the functionality of the controller and model classes in Visual Studio, so have full control over customization.