Give the benefits and limitations of .NET technology.
Benefits of .NET technology
.NET technology offers a number of benefits to developers. Some of them are given below:
1. Consistent programming model.
2. Direct support for security
3. Simplified development efforts
4. Easy application development
5. Easy application maintenance
6. Cross-language compatibility
7. Automatic management of resources
8. Cross-platform support
1. Consistent programming model:-
The functionality that the .NET class library provides is available to all .NET languages resulting in a consistent object-oriented programming model regardless of the programming language the developer uses. So, one can use this model to create programs for performing different tasks, such as connecting to and retrieving data from databases, and reading from and writing to files.
2. Direct support for security:-
It uses industry-standard protocols such as TCP/IP, XML, SOAP, and HTTP to facilitates distributed application communications. This makes distributed computing more secure because .NET developers co-operate with network security devices instead of working around their security limitations.
3. Simplified development efforts:-
The .NET framework simplifies development by separating the application logic and presentation logic, making it easier to maintain the code. In web applications, design code and the actual code are written separately eliminating the need to mix HTML code with ASP code.
4. Easy application development:-
The .NET framework makes it easy to deploy applications. In the most common form, to install an application, along with the components it requires a directory on the target computer. The .NET framework provides easy deployment of the application by installing new applications or components that do not have an adverse effect on the existing applications. In .NET, applications are deployed in the form of assemblies; therefore, registry entries are not required to store information about components and applications. In addition, problems that used to arise due to different versions of an assembly are also overcome or eliminated in the .NET framework since assemblies also store information about different versions of the components used by an application.
5. Easy application maintenance:-
The .NET framework ensures that all the components that the application depends on, are available on the computer before the application begins to execute. Thus, it becomes easier to maintain the application in .NET framework.
6. Cross-language compatibility:-
Cross-language compatibility means .NET components can interact with each other, irrespective of the languages that they are written in. An application written in VB.NET can reference a DLL file written in C# or a C# application can refer to a resource written in VC++ etc. This allows the reusability of code and improves the efficiency of the development process.
7. Automatic management of resources:-
When you create a .NET application, you do not need to manually free application resources, such as files, memory, network, and database connections. The CLR automatically tracks the resource usage and saves you from the task of manual resource management.
8. Cross-platform support:-
Any windows platform that supports CLR can execute the .NET application, i.e., the .NET application enables interoperability between multiple windows operating system.
Limitations of .NET technology
Following are the limitations of .NET technology:
- Security is comparatively lesser and many familiar things can reveal as reverse engineering of codes is easy.
- Newer versions of frameworks are not at all pre-installed in any version of windows.
- In the older versions of windows, the framework may not be pre-installed. Hence it should be checked first and if not, you should follow the guidelines in the user manual.
- Time consumption may be more in some cases due to regularly occurring garbage collection for reclaiming memory.
- Limited object-relational (OR) support as it comes only with entity framework.
- Does not come with multi-platform support from Microsoft, and is not available right after installing visual studio.
- Involves a vendor lock-in, and future development solely dependent on Microsoft.
- Migrating applications to .NET can be expensive.