What is .NET
The .NET Framework is a programming model that supports building and running of software applications for Windows, Windows Server, Windows Phone, Microsoft Azure, and XML Web services. It is developed by Microsoft and runs on Microsoft Windows. The .NET Framework consists of a large class library known as Framework Class Library (FCL), and Common Language Runtime (CLR) which provides language interoperability across several programming languages.
This framework was written to overcome many of the problems of application development including long development times, inability to change applications quickly, high total cost of ownership of software and ease of deployment.
Features of Common Language Runtime (CLR):
- Manages memory, execution of threads and code, verification of code safety, compilation, and other system services
- Implements code access security
- Ensures code robustness through a strict type-and-code-verification infrastructure called the common type system (CTS).
- Just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it is executing and memory manager removes possibilities of fragmented memory and increases memory locality-of-reference which enhances performance.
- Runtime can be hosted by server-side applications, such as Microsoft SQL Server and Internet Information Services (IIS) that are high on performance
Features of Framework Class Library (FCL):
- Includes a set of standard class libraries. These class libraries execute common functions, such as graphic rendering, database interaction, and XML document manipulation, among others.
- Collection of reusable types that are closely integrated with the CLR.
- Object-oriented class library which aims to accomplish a range of common programming tasks, such as string management, data collection, database connectivity, and file access
Advantages of .NET for Business Application Development
The success or failure of any project or product in the market is decided by its return on investment. Both the quantum of profits and time taken are important aspects of calculating ROI. The following features of .NET facilitate reduction of developmental and operational cost for an efficient IT organization.
Less Coding and Increased Reuse of Code:
This framework works on object-oriented programming which eliminates unnecessary codes and involves less coding for the developers. .NET consists of re-useable code and many re-useable components. This translates into less time and consequently less cost to develop applications.
With features such as no-impact applications, private components, controlled code sharing, side-by-side versioning and partially trusted code, the .NET framework makes deployment easier post development. The code execution environment supports safe code execution for reduced conflicts in software deployment and versioning, and minimized performance problems of scripted or interpreted environments.
Since its release in 2002, .NET has been used to develop thousands of applications. Its performance on Microsoft® Windows Server™ 2003 and Windows 2000 Server is also very stable and reliable.
.NET offers enhanced application security as web applications developed using ASP. NET have Windows confirmation and configuration. Managed code and CLR offer safeguard features such as role-based security and code access security.
Use across Platforms and Languages:
. NET allows developers to develop applications for a desktop, a browser, a mobile browser (like on your cell phone), or an application running on PDA. .NET is promoted as a language-independent framework, which implies that development can take place in different compliant languages that include C#, managed C++, VB.NET, Visual COBOL, IronPython, IronRuby and more.
Use for Service-Oriented Architecture:
.NET is often used for Web Services, which are a solution for executing an SOA strategy. Through Web Services, applications which are designed in different programming languages or platforms, are able to communicate and transmit data utilizing standard Internet protocols.
Integration with Legacy Systems:
The capability of .NET to process all types of XML documents and write any format of file with swiftness and ease, provides multiple routes for integration.
Types of applications that can be created with .NET
Desktop applications that include:
- Windows GUI application or Windows Forms (or Winforms) applications
- Accounting applications
- Product/inventory applications
- Warehousing applications using hand-held devices
- Applications for value chain/supply management
- Windows services applications
Web based applications including:
- XML Web services
- Applications requiring integration with partners through the Internet
Applications on embedded systems like:
- PDA (hand-held) applications
- Applications for mobiles
- Windows Presentation Foundation (WPF) applications
- Console based applications
- Service-oriented applications using Windows Communication Foundation (WCF)
- Workflow-enabled applications using Windows Workflow Foundation (WF)
- ASP.NET applications
In the recent past, Microsoft announced the introduction of the .NET Framework 4.5.2 and 4.6 Preview.