Microsoft .NET
The .NET (note capitalization) initiative is a Microsoft project to create a new software development platform focused on network transparency, platform independence, and rapid application development.
| Table of contents |
|
2 The Enterprise Infrastructure 3 Supporting Products 4 .NET Languages 5 .NET vs. J2EE 6 .NET vs. COM 7 Standardization 8 Alternative Implementations 9 External links |
First, .NET is a strategic initiative. .NET includes many technologies which are designed with the Internet in mind.
Second, .NET is a software platform, which was released in 2002. It presents a platform-independent target for software development, with many built-in features including Internet integration and features intended to enhance security. It relies fully on the software componentry and component-oriented programming paradigms. In this respect it largely replaces the former component object model (COM).
Third, .NET is a collection of development environments and software packages that are new versions of existing Microsoft products geared toward the .NET platform, including a more advanced Visual Studio.
The CLI is designed to provide support for any object-oriented programming language, sharing a common object model and a large common class library.
Microsoft and other vendors provide .NET versions of many languages, including:
The CLI, the MSIL and C# have similarities to Sun Microsystems' Java Virtual Machine and Sun's Java, hence they are fierce competitors. Both use their own intermediate bytecode. .NET is currently only fully available on Windows platforms, whereas Java is available on many platforms. Sun's product, J2EE, provides equivalent functionality to other Microsoft technologies such as COM+ (previously MTS) and MSMQ which are tightly integrated into the Windows operating system. .NET components make full use of these existing technologies in an abstracted manner.
The previous software component technology endorsed by Microsoft for large-scale software systems was the Component object model or COM, using COM+ or MTS enhancements for distributed transactional components. While .NET may wrap COM-objects and vice versa, it has been clearly stated by Microsoft that .NET will eventually replace COM as a software component architecture. New applications addressing the Win32 platform should not use COM, but .NET, with use of existing services via abstracted interfaces (e.g. transactional .Net components currently use COM+).
Microsoft has submitted a part of the specifications of .NET to ECMA and ISO for standardization. This is a calculated risk, but it may encourage standards-compliant implementations, to provide an ongoing bridge for non-Windows software to be converted to Microsoft .NET.
While the Microsoft .NET Framework is the flagship implementation of .NET technologies, there exist other implementations.
Mono is an open source implementation of the .NET runtime and development libraries. It is quickly maturing, including support for ASP.NET and evolving support for Windows Forms libraries. Mono also includes the development of new libraries and technologies, which include:
Microsoft Rotor, or the Shared Source Common Language Infrastructure is an open source implementation of the .NET Framework by Microsoft. It runs on Microsoft Windows XP, FreeBSD, and Mac OS X 10.2.
The Strategy
The Enterprise Infrastructure
Supporting Products
.NET Languages
Notes:
The Microsoft support resource MSDN is emphasizing the .NET languages..NET vs. J2EE
.NET vs. COM
Standardization
Alternative Implementations
DotGNU Portable.NET is less mature than Mono due to the fact that Portable.NET was not written initially using Microsoft's development framework.External links
In Internet nomenclature, .net is a Top-level domain, or TLD, as is .com.