What are the capabilities of .NET? What can you develop with it?
Microsoft .NET Framework is a universal platform that can solve many problems and its capabilities grow with every new version. Microsoft is investing a lot in the development of .NET and consider the platform as its flagship technology. There are a lot of advantages of .NET development, and what is important, that you can create any software depending on your needs.
Programming for Windows
In this area .NET has become the number one technology for several years and has no real competitors in terms of speed and ease of development. Using .NET you can write WinForm (GUI) applications, console applications, dll files, Windows services, a new type of graphical applications (WPF), and much more.
Programming for the Web
The technology that allows you to develop Web solutions in .NET is called ASP.NET. Unlike Windows applications, here ASP.NET has many worthy and strong competitors: PHP, Python, Ruby on Rails, Perl ... There are interesting solutions that can greatly facilitate and speed up development, for example, ASP.NET MVC Framework or Web Client Software Factory. Using Silverlight, you can create interactive, graphics-rich Web applications.
Development of distributed corporate applications
Web services, enterprise services, Remoting, all this can be developed with .NET. The data access technology (ADO.NET), which is so important for enterprise solutions, has become almost perfect since Microsoft .NET Framework 2.0. The only worthy competitor for .NET in this area is Java / J2EE.
The best known cross-platform implementation of .NET is Mono. This is an open-source project sponsored by Novell. Mono applications run on Linux, FreeBSD, MacOS, and Windows. Mono is currently being ported to the Android and iPhone mobile platforms.
Development for mobile devices
The .NET Framework version for mobile devices running on Windows Mobile is called .NET Compact Framework. Many features of the usual framework are absent in it as unnecessary; instead, special sets of libraries for mobile devices have been added.
There are dozens of times more microcontrollers than conventional processors. They are everywhere: in cell phones and regular phones, televisions, monitors, microwave ovens, air conditioners, washing machines, refrigerators, MP3 players, cars, cameras ... And all of them must be programmed. For a long time, microcontrollers programming was the prerogative of C and Assembler, later it became possible to write in some high-level languages. C # is one of them. With the .NET Micro Framework, you can program 32-bit microcontrollers of the ARM7, ARM9, and Blackfin series directly in Visual Studio 2008.
In the early days of .NET, there was a lot of talk about how slow and clumsy it was to write heavy graphical applications. Currently, .NET is friends with DirectX, and most importantly, the technology has appeared Microsoft XNA, which lets to develop 3D intensive games not only for Windows but also for the Xbox 360 game console.