The latest and greatest from Microsoft when it comes to web development is Microsoft MVC. Although the acronym is new to many young web developers, MVC was actually quite popular in object oriented UI development in the early eithies. Back then, the best implementation did not only have one Model, they had two. The domain model was the business objects and the application model has used to drive the views. The MVC tools used today have used the MVC acronym carelessly. So carelessly in fact, that when the application model is finaly reintroduced, the vendors feel that they need totaly new acronyms for this beatiful pattern. So say hello to MVVM (Microsoft), MDV (Google) and also to MMVC, MVP and what have you.
The recipe is this. Have your business entity model. Have your application create an abstract user interface as a tree of objects. Render that tree in stylish views and update the view whenever the tree changes. Notify the tree whenever the user interacts with look fancy views. The tree will interact with the controller and then interact with the model entities.
For Starcounter, this trend is a dream come true. Starcounter executes the controller on the server, so in this way, with the new model driven view paradigm change, we can really outperform the traditional database architectures. For web requests per second, we can deliver millions instead of hundreds. For developer productivity, we can write application server side as if there were only one user. For bandwidth, the browsers and clients can ask for static CDN residing resources (HTML templates are rendered on the client, not the server) and ask only for delta updates of their view models. This makes bandwidth requirements from the web servers and database servers go down from megabits to kilobits and from gigabits to megabits.
Hail to Trygve Reenhaug who described MVC 1979 and to various SmallTalk pioneers who divided the two models.
To help you get started with MVVM, MDV, MVP, MVC et al. you can either integrate Starcounter with existing frameworks or wait for our built in view models in Starcounter 2.1. More on this in another blog.