.NET-based Dev Stack for Modern Web Apps

MVVM is a great pattern for large line-of-business web apps with complicated user interfaces and interactive forms.

No need to write tons of javascript code, build your REST APIs, deal with AJAX requests, serialization, date formats etc.


With DotVVM, you only have to write a viewmodel in C# and a view in HTML. The rest is taken care of.

ViewModel = C#

public class ContactFormViewModel 
    public string Name { get; set; }
    public string Email { get; set; }
    public void Submit() 
        ContactService.Submit(Name, Email);

View = HTML

<div class="form-control">
    <dot:TextBox Text="{value: Name}" />
<div class="form-control">
    <dot:TextBox Text="{value: Email}" />
<div class="button-bar">
    <dot:Button Text="Submit"
        Click="{command: Submit()}" />

Get DotVVM for Visual Studio 2015 Read Documentation



Visual Studio Extension

Our free extension for Visual Studio 2015 gives you everything you need to develop an app in DotVVM.

It includes InteliSense for DotVVM controls and directives, project templates and much more.

We also have a commercial version with even more features including full IntelliSense in data-bindings, design-time error checking and smarter HTML completion.

Get DotVVM for Visual Studio 2015


DotVVM includes a set of 20 built-in controls. All controls support data-binding, and render CSS-styleable HTML.

You can of course build your own controls and use them accross multiple projects.

<bs:ModalDialog IsDisplayed="{value: IsModalVisible}" HeaderText="My Modal Dialog"> 
    <bs:Button Type="Primary" Text="Save" Click="{command: Save()}" /> 

You can also buy Bootstrap for DotVVM, a set of controls which wrap all Bootstrap components and widgets. They support data-binding and integrate nicely with DotVVM validation. They will help you build modern-looking app really quickly.

Get Bootstrap For DotVVM

One Framework

You don't have to combine 20 javascript libraries, frameworks and tools to build a modern web app. DotVVM takes care of the UI, data-binding, client-server communication, validation, localization, date & number formatting and other things. It uses Knockout JS on the background.

Read Documentation

Testable and Well Documented

The MVVM pattern allows you to test the viewmodel classes. We have many tutorials and samples for all controls and features in DotVVM.

Read Control Reference

.NET Core Support

You don't have to worry about the future. Currently, DotVVM supports .NET 4.6 only, however we are ready to switch to a new .NET Core platform as soon as it is RTM. Since then, DotVVM will be multiplatform and will support the same platforms as DNX.

Read DotVVM Blog

Open Source & Supported

DotVVM is open source, you can submit issues and send pull requests on GitHub. We also offer the commercial support which includes priority bug fixing, early access to a newer version and real-time developer support over Skype in case you get in trouble.

Contribute To DotVVM Get Support