.NET is an open source & cross platform developer platform developed by Microsoft to build diverse types of applications across a range of OS.
With the platform, we can use numerous languages, libraries, and editors to build apps for Mobile, Desktop, Web, Gaming, & IoT devices.
It is now maintained under the .NET foundation as per the open source licenses. It is an independent organization which works upon to improve the collaboration & open development of the .NET ecosystem.
Language Support
Several languages can be used to develop apps for .NET:
• C#, a modern, simple programming language which is object-oriented and type safe language.
• F#, which is a functional language to write apps for .NET. It is a cross platform language & open source, which supports imperative programming. It is also an object-oriented language.
• Last, but not the least, VB (Visual Basic) is an approachable language with a simple syntax to build object-oriented applications. It provides the syntax which is the closest to ordinary human language.
Platform Support
The best part about the .NET platform is the fact that it is a cross platform framework, which means that it supports a gamut of OS. The Code written in .NET runs natively on all supported and compatible OS, making it easier for the developers to write apps for a range of platforms.
Different implementations of .NET run on a variety of platforms:
1. .NET Core is a cross-platform implementation of the .NET Platform which supports Server programming, Websites & Console apps on Windows, Linux & MacOS.
2. .NET Framework is oriented towards development of Desktop apps, Websites, and other features on Windows.
3. Xamarin is another implementation of the platform, intended to develop apps that run on the major mobile Operating Systems. It is also known by the name Mono.
The .NET standard serves a collection of APIs which are common to all implementations of the framework. Each implementation can also provide additional APIs, unique to the Operating System on the top of which it is running. For Example: the .NET Framework provides APIs which enable apps to tap into Windows features like Registry.
Application models
Harnessing the power of the .NET, a range of apps can be coded. Apps developed with .NET can utilize the cross-platform variations to run across different OS. They can also point towards a specific OS or an implementation of .NET:
1. Web Apps that run across Windows, MacOS, Linux and Containers powered by Docker.
2. Mobile apps coded using a single codebase to run natively across iOS, Android, and Windows.
3. Desktop apps across Windows and MacOS which are fast, beautiful and perform reliably.
4. Microservices which can run on Docker containers and are independently deployable.
5. Creation of 2D & 3D games for Desktop, Phones & Consoles.
6. AI features like Cognitive services, Speech Processing, Predictive Models for apps.
7. Use of Cloud services using pre-existing or our own set of codes.
8. IoT apps with support for Single board computers like Raspberry Pi.
Tools for development of Apps
Apps for .NET can be made on different tools. There are many IDEs that provide complete environment to develop apps using the framework. The best in class features & experience is delivered by Microsoft’s IDE, Visual Studio, which can be used to develop apps not only for .NET, but also for other languages like Node.js, Python, C++ and more. Visual Studio Code is a lightweight editor which can also integrate with the MSVC Compiler & provide environment to write the apps. For other editors like Code Blocks, Eclipse etc., there are many plugins & CLI tools available since .NET is an Open Source platform.
To enhance the feature set even further, Microsoft & other IDE makers maintain a healthy ecosystem of different Library packages which are built on the .NET standard. NuGet is a package manager for .NET, containing a huge library of 90,000+ packages.
Community
As per Microsoft, a total of 60,000+ developers and 3,700 companies contribute to the platform & use it in their daily workflows to create amazing experiences with the platform.
Advantages of using .NET over other platforms:
1. Powerful & Productive: .NET helps in developing high quality apps faster, since it supports various Modern Language constructs. Modern Language constructs include support for Asynchronous programming, Language Integrated Query & Generics.
2. Cross Platform: The platform can be used to make applications for different OS across the Desktop & Mobile. The code and Skills can be reused in a familiar environment, accelerating the development. The platform provides solutions for running apps across Android, iOS, Windows, Servers ranging from Windows Server to Linux Server, or Microservices running in the Cloud.
3. Performance gains: While the development is fast in .NET, the unique runtime features of .NET enables the apps to run really fast which enables the apps to provide better Response times & reduced Computing Power. It provides faster runtime than JAVA and Node.js.
4. Secure Platform: .NET provides with immense security benefits using the managed runtime. A collection of services is designed to prevent issues like bad pointers or Malicious attempts to alteration of Compiled Code. Updates are released quickly upon discovery of the threats.
5. Open Source: The work around the platform is manages by the .NET foundation, which is a non-profit independent of Microsoft. It supports the innovative system. Over 60 thousand developers and 3,700 companies contribute to the platform, making it better day by day. In addition to Microsoft & the fantastic community, the Technical Steering Group members involving companies like Google, Samsung, Red Hat, JetBrains & Unity guide the future of the platform.
6. Automatic Memory Management: .NET makes the use of garbage collection (GC) to deliver automatic memory management for programs. The GC operates on lazy approach to memory management, preferring app throughput to the immediate collection of memory.
7. Large Ecosystem: Using the packages through the NuGet Package Manager & the Visual Studio Marketplace, the ecosystem is the largest and most powerful platform for the developers. The network of the community, support & MVPs enable the developers to write the apps for the platform daily.
Does that make you inclined towards exploring more about .NET?
Jump right here.
Happy Coding!
References:
Comments
Post a Comment