.NET has become the standard when building applications targeting the Microsoft Windows client, server products, Windows Phone, Windows Store apps, websites, and more. Windows programming and .NET programming are now synonymous.
Many of the user applications we interact with have some if not all of their code base in .NET. This includes rich clients built on Windows, solutions built on Office (including parts of Office itself), mobile apps that also work with web services, web applications that run in a browser and execute on a Windows server, product extension solutions such as those written for SharePoint and BizTalk, and Windows Store applications targeting Windows 8/10.
The good news is that the .NET developer is in high demand, and you can leverage your skills to target a wide audience across an array of user experiences.
Figure 1.1 shows the New Project dialog in Visual Studio; it serves as an example of the myriad user solutions that are possible with .NET. This graphic cannot fit all the possibilities available to you, but it does illustrate that Windows, web, Office, and many other project types are within the reach of .NET developers working with Visual Studio.
As discussed, you have many project templates available for your next solution. What is needed, however, is some sort of road map with respect to user experience. Choosing the right project template is an important part of making the delivery of your solution successful. The following is a high-level overview of the core presentation technologies available to the .NET developer. (There are more, but these are the common ones.)
Note
Visual Studio provides many UI platform options. Many are highlighted here; for in-depth coverage, see their specific chapters in this book: Chapter 17, “Building Modern Websites with ASP.NET 5,” Chapter 18, “Using JavaScript and Client-Side Frameworks,” Chapter 20, “Building Windows Forms Applications,” Chapter 21, “Building WPF Applications,” Chapter 22, “Developing Office Business Applications,” Chapter 23, “Developing Windows Store Applications,” Chapter 24, “Creating Windows Phone Applications,” and Chapter 25, “Writing Cross-Platform Mobile Applications with Apache Cordova.”