In my opinion, ASP.NET MVC will be more promising. More and more functionality is being moved from desktop to web, especially database interaction, and more emphasis is being placed on saas solutions, which have a backend and can have many different clients – web pages, mobile applications, standard desktop programs.
What is ASP.NET WPF?
Windows, from version 3.11, had a component for display output GDI, later it was updated, in Windows XP, if I’m not mistaken, GDI+ is already used.
The problems with using GDI+ in applications have been and will continue to be numerous, along with GDI was the 3D output subsystem – DirectX, which has been around since Windows 95. It had some other problems, but its main problem – intensive loading of CPU for model redrawing – didn’t exist.
Apparently, Microsoft had the solution for a long time, since they integrated WPF in Vista and Server 2008, which, to my mind, was a major boost to its use, rather than all sorts of seminars and articles.
This, by the way, is an additional plus, because it simplifies the model of redistribution of applications using 3 and 3.5 frameworks. In fact, as I think you have guessed, WPF uses DirectX to display applications on the user’s screen.
But here is the first rake, because user’s display of forms will be different in some places, we can’t all cut corners and buy up 3D middle and high video cards.
In WPF, there are currently 3 levels to determine how the form and other primitives will be “rendered” on the screen.
- Level 0: No hardware acceleration. Approximately DirectX 7.0
- Level 1: Partial hardware acceleration. Approximately DirectX 8.
- Level 2: All chips are involved. Approximately DirectX 9 or higher.
What is ASP.NET MVC?
The term model-view-controller has been in use since the late 1970s. This model was the result of the Smalltalk project at Xerox PARC, where it was conceived as a way to organize some of the early graphical user interface applications. Some of the nuances of the original MVC model were related to Smalltalk-specific concepts such as screens and tools, but the more global concepts still apply to applications, and are particularly well suited to web applications (MVC found great use in ASP.NET, but we’ll look at this pattern in WPF below).
In high-level terms, an MVC architectural pattern means that an MVC application will be divided into at least three parts
Contain or represent the data that users work with. They can be simple view models that only represent the data passed between views and controllers; or they can be subject matter models that contain business data and the operations, transformations, and rules for manipulating that data.
Used to visualize some part of a model as a user interface.
They process incoming requests, perform operations on the model and select views to be rendered to the user.