WhatsApp Chat

We are attending Dreamforce 2025. Want to connect?  Show Your Interest

August 30, 2022

What is .NET Standard? How it is different from .NET Core and Portable Class Library?

Introduction of .NET framework Even though Microsoft announced the .NET Core 2.0, programmers are still not very clear about the differences between .NET Core, .NET Standard, Xamarin, and the .NET Framework. In this article we will explore the differences and the relevance of each platform. .NET Framework was developed by Microsoft in the early 2000s to build Web and Desktop applications for Windows. A .NET programmer needs to be proficient in C#, Visual Basic, and F# as the applications are written in these languages. .NET Framework consists of two major components: Common language runtime (CLR) – .NET provides a run-time environment, called the common language runtime that runs the code and handles the execution of applications. It also provides services that make the development process easier. Compilers and tools expose the common language runtime’s functionality and enables the programmer to write code that benefits from this managed execution environment.   Base Class Library (BCL) – The BCL provides the most foundational types and utility functionality and is the base of all other .NET class libraries. It also provides a library of tested and reusable code that developers can use in their applications. Since apps often prefer a particular policy, such as low-latency to high-throughput or low-memory to low-CPU usage, the BCL takes a middle-ground approach according to these various performance concerns. BCL is intended to be high-performance.   What is .NET Core? As we have seen, over the years since the 1990s .NET evolved a lot. There was a time when applications were limited to .NET framework and server-desktop architecture only, but the inclusion of mobile phones, smart devices played a huge role in bringing .NET technology to where we see it today, and it has adopted the open source path. Microsoft .NET framework has upgraded itself to Xamarin platform after the company was acquired by the IT giant.  While supporting cross platform development including UWP (Universal windows platform), android and iOS, gradually .NET moved from Xamarin to .NET Core which was a unique framework where cross operating system (OS) development is possible. .Net programmers were not limited to developing applications only for the Windows OS; they developed cross-functional apps for Windows, Macintosh and Linux. There is some set of API (Application Programming Interface) that supports all these frameworks or all .NET flavors.  What is .NET Standard? Microsoft .NET Standard is the set of API that is available on all .NET implementations. Each implementation of the managed framework has its own set of BCL, which contains classes such as exception handling, strings, XML, I/O, networking, and collections. It will create some type of uniformness, a portability that supports .NET Core, Xamarin and .Net Framework. Basically, it is the set of BCL that supports a wide range of technologies like .NET Framework, .NET Core, MONO, Xamarin, Mac, Android, UWP, Windows Phone etc. The relationship between .NET Standard and a .NET implementation is the same as the relationship between the HTML specification and a browser. The latter is an implementation of the former, and for a user, only the final application on which he/she is working matters. Hence, the .NET Framework, Xamarin, and .NET Core each implement .NET Standard for the BCL in their managed framework. Since the IT industry will evolve even in the future and will continue to introduce new hardware and OS, there will be new managed frameworks for .NET in the years to come. However, the developers rely on the consistent set of APIs that can be tweaked and used in the .NET framework anywhere. Why We Need .Net Standard? In last few years as we know, dot net development extended its capability beyond windows OS and platforms. It spread its wings and evolved into .NET Framework, .NET Core and Xamarin, and some base libraries were created to support them, These base libraries are built upon CLR that are supported by compilers and languages.  Now, we can see .NET framework, .NET Core and Xamarin have their different base libraries that reside on CLR but the .NET programmers needed to learn all these base libraries as there was no single platform to run and support all of these. If we take an example of .NET compact framework which was developed in early of 2000’s to support phones, but no common libraries existed for it. We find the same problem even with mono. Due to these multiple .NET frameworks, developers needed to take the support of different base libraries. Here .NET Standard came into picture as it creates a common layer to access all these .NET flavors. What is Portable Class Library? The Portable Class Library (PCL) project enables the programmer to write and build managed assemblies that work on more than one .NET Framework platforms. The developer can create classes that contain code they wish to share across many projects, such as shared business logic, and then reference those classes from different types of projects. Microsoft .NET standard library provides a common, uniform layer and set of API that supports all .NET flavors. PCL supports APIs more than platforms, and hence the programmers need to re-compile applications to support PCL. But as .NET Standard supports more platforms, hence there is no need for the programmers to re-compile applications. Is .NET Standard the alternative to PCL? .NET Standard libraries are no different than PCL libraries except that they put a layer over the top of a different standardized set of APIs, and those APIs may implement different pointers. Microsoft had announced in one of its blogs in 2016, that .NET Standard will replace PCLs as the tooling story for building multi-platform .NET libraries. .NET Standard vs Portable Class Libraries In Microsoft .NET development we can think of .NET Standard as another .NET Framework, except that we use it to develop class libraries only. Microsoft .NET Standard is a successor of the portable class library. PCLs used a union of the common APIs that a platform supported. Hence, the more platforms it supported, the fewer APIs were available. It was then

What is .NET Standard? How it is different from .NET Core and Portable Class Library? Read More »

The .NET Framework Era – An Overview of .NET

Introduction Microsoft developed and designed an easy-to-program .NET software development framework and ecosystem which allows easy desktop and web application engineering. Even though it is a popular free platform, the developers get to use the entire programming environment in their software development phases.  Businesses that are looking for a myriad of features like web-based services, desktop software, and cloud infrastructure support prefer to go for different types of applications which are developed in the .NET framework.  The .NET Framework era The work on the .NET framework started way back in late 90s by Microsoft when the world was embracing computers and internet had started connecting the entire world. Those were the initial days of the IT boom and the C/C++ developers had to keep security operations, active memory management, and other low-level efforts in mind while developing any application. Microsoft wanted to improve the development experience and relieve the programmers from keeping everything in mind while developing a software program. Microsoft .NET Development evolved and C# programming language was released in 2002. This language had a design similar to C++ and the .NET framework was meant for Windows-based computers and servers. This framework included WinForms which was a GUI (graphic user interface) library for desktop applications. Using dot net development principles, GUI based programs could be easily written which became extremely popular due to the ease-of-se. Microsoft .NET Development also included ASP.NET which was a framework for web, and hence can assist in developing web applications. ADO.NET was meant for data access and all these elements were driven by Common Language Runtime (CLR) which helped the programmers to compile and execute managed code. The .NET CORE era In 2016, .NET Core was introduced by Microsoft and this new cross-platform, cloud-friendly, and open-source version of the framework became the stepping stone of dot net core development. It was announced by Microsoft two years before in 2014, and eventually Microsoft started integrating existing services to work with .NET Core. Some that didn’t receive official ports, like Windows Communication Foundation (WCF), were substituted by alternatives sourced from the community as the entire framework was on open source. In 2018, Microsoft open-sourced Windows Presentation Foundation (WPF), Windows Forms, and WinUI frameworks. Meanwhile, in 2016, Microsoft acquired Xamarin, a leading platform provider for mobile app development and made it open source as well.   The .NET 5 and .NET 6 eras In 2019, Microsoft made the announcement that the .NET 5 big release would tie the ecosystems together. Due to COVID-19, the release was delayed, however the .NET 5 unified development platform was finally introduced in November 2020. The .NET 5 provides a lot of features to build applications on Windows, Linux, macOS, iOS, watchOS, Android, tvOS, or using WebAssembly, and uniting the ecosystems helped the dot net development program immensely. Being a successor to .NET Core 3.1 and .NET Framework 4.8, the Microsoft .NET 5 puts the fragmented .NET world into order and allows the developers to look at a solution comprehensively. The Microsoft .NET 5 platform comes with new APIs (Application programming interface), language features, and runtime capabilities. Since .NET 5 includes ASP.NET Core, Xamarin, Entity Framework Core, WPF, WinForms, and ML.NET, it can help the programmer build robust and modern web applications. While .NET 5 set the unified the various open source applications, the newest .NET 6 version launched in November 2021, with Visual Studio 2022 will build projects across cloud, browser, IoT, mobile, and desktop environments, enabling all to use the same .NET libraries, SDK (software development kit), and runtime. Microsoft .NET 6 works on various platforms like Linux, macOS as well as windows and hence covers all types of operating systems and aides the developers in integrating applications on various platforms further. Today, it has embraced all latest technologies like desktop cloud, machine learning (ML), gaming APIs, and building web pages incorporating HTML, CSS as well as JavaScript. One of the most noticeable .NET 6 features is .NET MAUI (Multi-platform App UI) that acts as the cross-platform framework for building native desktop and mobile apps with C# and XAML. .NET 7.0 is in the development phase and was announced by Microsoft in 2022.   What is .NET development platform? Microsoft .NET comes in four flavors: .NET Framework, .NET Core, Xamarin, and Universal Windows Platform (UWP), and when a solution is designed using all these four elements, it is known as the .NET development platform. Each component has its own frameworks and libraries which helps the developers to build the wide range of applications. The first .NET Framework released back in 2002 included three main application models – Windows Presentation Foundation (WPF), Windows Forms, ASP.NET Forms and Base Class Library (BCL). Since this first .NET Framework supported only Windows-based devices, there was a need for a cross-platform package. Microsoft .NET Core which was released in 2016 was a cross-platform re-build of .NET Framework and unlike the first version, developers now could use the product on Linux and Macintosh operating systems and create applications that were not tied to the Windows family. Microsoft .NET Core includes ASP.NET Core and Universal Windows Platform (UWP) and different versions of this program can also be installed side by side on the same device which aims at integrating cloud to the solution. In 2016 Microsoft also introduced .NET Standard, a library that combines APIs from .NET Framework, .NET Core, and Xamarin allowing the developers to use a single base-class library rather than working on three different ones related to each .NET implementation. This step unified the ecosystems and made the job of the solution architects and programmers easier.  UWP provides a common type system, APIs, and application model for all devices running on the latest Microsoft OS Windows 10 and above. So, UWP enables the development of universal applications for personal computers, tablets, Xboxes, Surface Hub, HoloLens, or Internet of Things (IoT) devices. Unfortunately, .NET 5 and .NET 6 will not be coming to UWP project types. Common Language Runtime (CLR) is the main feature

The .NET Framework Era – An Overview of .NET Read More »

Scroll to Top