EV5.MVC

ASP.NET MVC View Engine and utility library for .NET CORE 5

About EV5.Mvc

EV5 Mvc is a custom view engine for the latest ASP.NET MVC on .NET Core 5. It is built on a different paradigm than Razor, Blazor and the current view engines.


EV5.Mvc library contains:

  • Plugin system that does not require separate static file deployment
  • Utilities to serve embedded static content (images, css, etc...).
  • A View Engine that uses static embedded html as markup and a separate c# view class for markup (DOM) manipulation.

EV5.Mvc promotes a back to basics common sense approach:

  • Easy drag and drop application deploy and extensibilty
  • Full Separation of server side control and markup
  • Opt-in view processing

Main Features of EV5.Mvc

EV5.Mvc is trying to promote a clean transparent apporach to constructung the html markup, where only the necessary processing is happening. It is easy to deploy to and extend web applications without interfiering with existing code, thus it is ideal for quick prototyping and fast project setup.

  • 01 Extending an existing MVC app

    Extedning an existing ASP.NET MVC application with EV5.Mvc is easy, and it will not need any static file deployment. Adding new functionality and endpoints to an existing MVC app can be as easy as a dll drop.

  • It is important to defend your applications from any dll to be loaded to the application domain. Thus EV5.Mvc contains the necessary hooks and API for you to make sure only calid and securely signed code. It is still your responsibility ti use these features, but safety first is EV5.Mvc's primary concern too. While EV5.Mvc can extend your application in a very encapsulated manner, it is always the main application that is in control to choose which parts to use.

  • For most modern applications HTML markup needs litle modification and processing. Client side javascript libraries are fully adept at manipulating the UI from client side. Thus the initial markup rendering needs to be simple and effective. EV5.Mvc still uses the notion of master page, partial views and sections, but these are location independent. No special markup folder or file structure is needed, you are free to place markup templates to any location within your project.

  • EV5.Mvc markup templates are well formed XMLs files, partial HTML code. No mix of imparative code and declarative markup is needed. Markup files are processed and understood as what they are: HTML snippets, nothing less and nothing more.

 
  • 05 True to designer output

    Web designer output is usually nicely structured, however due to the processing needs and required folder structures it is often disected to unrecognizable pieces in the web applications. EV5.Mvc markup templates can and should fully conform to the designer page sections, without even the need to mix them with imparative code. Original designer markup is only decorated with extra attributes to guide processing where needed.

  • Whenever server processing of the view is needed the view is accessed and understood as HTML and not as an object structure, thus eliveating the need of serializations and additional formatting. Debugging of the EV5.Mvc views is simple as the processing code sees the same content as the browser.

  • EV5.Mvc is not an all knowing view-engine, that would spend time on analysing the and modifying the view for every possible current and future feature, such as data-binding, localization, custom extensions etc... With the fast evolution of client side javasript UI libaries many of these features are not needed. In EV5.Mvc you have to opt-in to features your views will use, thus you can optimize the perfromance, clean your code and use only what is needed during your processing.

  • Adding new view processing capablities is easily done via Extension Methods and fluent interfaces.

Demos

These are EV5 plugin project containing full well known bootstrap temlates

  • All
  • Admin
  • LandingPage
  • Others

Admin LTE 3.1

Admin LTE 3.1

Creative

Creative

SB Admin 2

SB Admin 2

Shop Homepage

Shop Homepage

Download

Get the nuget packages

Get the latest from the GitHub repo