What types of applications can we develop using .Net?

When you hear .NET, the first idea that comes to your mind will probably be internet or networked applications. Although this is absolutely true, there are many more types of applications to create with .NET.

So here is a more or less full list of various types of application that we can develop on .NET.

•ASP.Net Web applications are programs that used to run inside some web server to fulfill the user requests over the http. ASP.NET Web applications can range from simple Web sites that consist of HTML pages to advanced enterprise applications that run on local and remote networks. These enterprise applications also provide components for exchanging data using XML. This type includes dynamic and data driven browser based applications. (Ex: Hotmail and Google).

•Web services are “web callable” functionality available via industry standards like HTTP, XML and SOAP.

•Windows applications are form based standard Windows desktop applications for common day to day tasks. (Ex: Microsoft word). Run only under Windows environment. These applications consume the services provided by the Windows operating system.

•Windows services are long-running executable applications that run on the system as a background process. These applications do not interfere with the working of the other processes that run on the same computer. Windows services execute within separate Windows sessions created specifically for each Windows service. These services do not have a graphic user interface and are ideal for running on the server. Windows services were earlier called NT services.

•Console applications are light weight programs run inside the command prompt (DOS) window. They are commonly used for test applications.

•Mobile applications can run on multiple mobile devices, such as Pocket PCs, mobile phones, or personal digital assistants. These applications provide ubiquitous access to data from mobile devices. The .NET Framework automatically makes changes to these applications to enable them to run on multiple browsers, depending on the mobile device.

•Class libraries are components that you create once and reuse a number of times in multiple applications. Class libraries allow you to define several classes, along with their methods and interfaces, in one file. These libraries compile to .dll files and facilitate rapid development of new applications because of reusability of code. To access the functionality of the classes in a class library from your application, you need to include a reference to that library in your program.

All types of .NET applications use one or more .NET compliant languages for their design and development. The .NET Framework includes various technologies, such as ASP.NET, VB.NET, VC++.NET, and ADO.NET. You use ASP.NET to build Web applications and services, VB.NET and VC++.NET to create Windows applications, and ADO.NET for flexible access to databases.

Can you add the above mentioned list with more types of applications? What applications do you usually develop using .Net? And why do you prefer .Net to any other technology for a particular type of application?

Thanks for sharing your experience with us!