Simple, lightweight, yet powerful way to build real-time web apps.
DotNetify is a free, open source project for creating real-time, reactive, cross-platform apps with React, React Native, Vue, Knockout, or Blazor front-end on .NET.
No more writing tedious REST APIs, and no need to use complicated front-end framework to achieve that sophisticated, highly interactive single-page apps you're aiming for. It's quick to learn, and you'll end up with much less code on both front-end and back-end.
Smart integration of WebSocket technology with popular front-end UI libraries enables reactive back-end driven MVVM architecture, which gives you a real option to avoid too much business logic on the front-end, and keep the client thin and dumb.
This architecture allows most of your application logic to be on the server side, supported through .NET view models which employ reactive push model to get data flowing in and out of the views. This data binding mechanism is built-in and need not be written the way developers do with services and Web APIs - and no, dotNetify does not shuttle the entire view model state back and forth but intelligently sends only the things that get changed, like the text user wants saved or new list items you want to push to the clients.
Application communicates through the WebSocket technology (SignalR or Amazon WebSocket API Gateway) that allows the server to push content to clients immediately as it becomes available. WebSocket which has much less overhead than HTTP, but when used with SignalR, can gracefully fall back to lesser transport. When dotNetify's architecture and these technologies are put together, they form an almost effortless way to implement real-time notification over the web, perfect for IoT consumer applications.
Infrastructure includes dynamic routing mechanism that can be defined completely on the back-end, capable of deep-linking and nested routing, token-based authentication, dependency injection, and WebSocket request and response pipelines. All this can be achieved modularly and simply with only a few lines of code.