riganti / dotvvm

Open source MVVM framework for Web Apps
https://www.dotvvm.com
Apache License 2.0
753 stars 97 forks source link
aspnet aspnetcore c-sharp dotnet dotnet-core dotnet-template framework mvvm owin

Component-based MVVM framework for ASP.NET

License Gitter GitHub Actions NuGet

DotVVM lets you build interactive web UIs with just C# and HTML using the MVVM approach.

It simplifies building of line of business web apps and ships with many built-in controls like GridView, FileUpload, Validator and more.

How does DotVVM work?

The Views in DotVVM use HTML syntax with controls and data-bindings.

The ViewModels are plain C# objects with properties and methods.

You can access the ViewModel properties using {value: Name} and call ViewModel methods using {command: Submit()}.

<div class="form-control">
    <dot:TextBox Text="{value: Name}" />
</div>
<div class="form-control">
    <dot:TextBox Text="{value: Email}" />
</div>
<div class="button-bar">
    <dot:Button Text="Submit" Click="{command: Submit()}" />
</div>
public class ContactFormViewModel
{
    [Required]
    public string Name { get; set; }

    [EmailAddress]
    public string Email { get; set; }

    public void Submit()
    {
        // ...
    }
}

DotVVM comes with many features including:

Getting started with DotVVM

Learn the basic principles of DotVVM in our DotVVM Academy tutorials.

The easiest way to start with DotVVM is to download DotVVM for Visual Studio and do File > New > Project.

You can also install DotVVM in existing ASP.NET projects and use it side-by-side with other ASP.NET frameworks (Web Forms, MVC, Razor Pages).

There is also dotnet new template for those who prefer command-line approach. You can get our free extension for Visual Studio Code.

Current status

DotVVM is used in production by hundreds of developers and companies. The first stable release was in June 2016.

ASP.NET Core OWIN
Current stable version DotVVM.AspNetCore 4.2.* DotVVM.Owin 4.2.*
Minimum runtime version .NET 6.0 .NET 4.7.2
Minimum ASP.NET version ASP.NET Core 6.0 OWIN 4.2.2

You can find the plans for next releases in the roadmap.

Commercial components & tools

DotVVM framework is open source and will always be free to use. It's developed under [Apache license]().

There are also free extensions for Visual Studio and VS Code available. They are not open source, but they will also be free to use.

You can get more productive with DotVVM and support development of the framework by purchasing commercial components and tools developed by the creators of the framework:

Get involved

We'll be glad to accept any contribution. It doesn't need to be a pull-request - you can help us by spreading the word about the project in a blog or a user group, fix a typo in a documentation or send us your feedback and thoughts.

You can find more info in Contribution Guidelines. We kindly ask you to respect the Code of Conduct.

Feedback

Feedback is crucial to make DotVVM better. You can reach us at any time on our Gitter Chat.

.NET Foundation

This project is supported by the .NET Foundation.

Further reading