0% found this document useful (0 votes)
8 views

.NET Framework vs .NET Core

Net framework

Uploaded by

Vishnu Gaikwad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

.NET Framework vs .NET Core

Net framework

Uploaded by

Vishnu Gaikwad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

.NET Framework vs .

NET Core
Key Differences, Features, and
Which One is Better

Satyarth Rao
Satyarth Programming Hub
.NET CORE

What is .NET Framework?


• .NET Framework is a software development platform that runs primarily on Microsoft Windows.
• It is designed, developed and maintained by the Microsoft.
• It provides a runtime environment for executing .NET applications.
• It provides a set of libraries for building various applications such as mobile, desktop, web, gaming, IoT
and many more.
• Components for .NET Framework
• Common language runtime (CLR) – Responsible for executing .NET applications.
• Base Class Libraries (BCL) – Provide a wide range of functionality for .NET applications, including
support for file I/O, networking, security, and other common tasks.

2
.NET CORE

What is .NET Framework?


• It supports multiple programming languages such as C#, F#, and VB.NET.
• It includes many frameworks and tools together for building applications such as
• ASP.NET for web development,
• Windows Forms for desktop applications
• WCF for development of web services
• WPF for building modern desktop applications.
• The .NET Framework runs on the Windows operating system.
• Some implementations of .NET, such as Mono and DotGNU, are available for other platforms as well.
• It is a mature and widely used platform for building various types of applications.

3
.NET CORE

Advantages of .NET Framework


• It is a well-established platform with a large user base.
• It is easy to find support and resources for building applications using .NET Framework.
• .NET Framework offers a wide range of libraries and tools for building applications e.g., web
development, desktop applications, and mobile applications.
• The .NET Framework supports multiple programming languages such as C#, F#, and VB.NET etc.
• .NET Framework has strong integration with the Windows operating system, making it a good choice for
building applications that need to take advantage of specific Windows features or APIs.
• It has existed for a long time, with a large user base, so many existing applications and libraries are built
on it. Therefore, it’s easier to integrate new applications with existing systems.

4
.NET CORE

Disadvantages of .NET Framework


• It is primarily designed to run on Windows operating systems and hence it may not be a good choice for
building cross platform applications that need to run on different platforms.
• It is not open source.
• .NET Framework is an extensive, monolithic framework with many libraries and tools, making
deployment problematic.
• It is not as well-suited for building modern, cloud-based applications.
• It doesn’t have built-in support for containers hence makes deploying applications in containerized
environments harder.
• It is no longer actively developed by Microsoft.

5
.NET CORE

When to choose .NET Framework?


• Traditional Desktop Applications – Self Explanatory.
• Server-Based Application – Application that runs on a server in a multiuser environment.
• Strong Integration with Windows – When application needs to take advantage of specific Windows
features or APIs.
• Legacy Systems Support – .NET Framework support this type of system, as it has a long history and a
large user base.
• Enterprise Support – .NET Framework is supported by Microsoft. It is used by many enterprises,
making it a good choice for building business-critical applications.
• Need access to a wide range of libraries and tools – .NET Framework offers many libraries and tools
for building applications.
• Needs Integration with existing systems or libraries built on .NET Framework – Self Explanatory.

6
.NET CORE

Suitable Types of Apps to Develop in .NET Framework?


• Web Applications – .NET Framework includes ASP.NET, that enables developers to build traditional web
applications using .NET Framework.
• Windows Applications – .NET Framework is used to build Windows-based apps such as desktop apps, server
apps, and mobile apps for Windows devices.
• Desktop Applications – .NET Framework is used to build traditional desktop applications for Windows using
tools such as Windows Forms and WPF.
• Mobile Applications – .NET Framework is used to build apps for Windows Phone using tools such as Xamarin.
• Cloud-Based Applications – .NET Framework was not designed cloud in mind, it can be used to build cloud-
based apps deployed to Azure or other cloud platforms.
• Enterprise Applications – Many large organizations use .NET Framework to build business-critical enterprise
applications using .NET Framework.
• Games – .NET Framework is used to build games using tools such as Unity.
• Backend Services and APIs – It is used for building backend services and APIs. It provides a rich set of tools
and libraries that make it easy to build scalable, reliable, and maintainable systems.

7
.NET CORE

Wha is .NET Core?


• .NET Core is now officially known as .NET.
• .NET Core is a free, open-source, cross-platform framework for building modern applications such as web,
mobile, desktop, gaming, IoT, cloud, and microservices.
• .NET Core is designed to be flexible, lightweight, and modular, allowing you to choose the components you
need for your specific application.
• .NET Core is cross platform i.e., it can run on multiple operating systems such as Windows, Linux, and macOS.
• .NET Core supports multiple programming languages such as C#, F#, and VB.NET etc.
• .NET Core is built on the .NET Standard, a common set of APIs across all .NET implementations.
• .NET Core enables developers to create sharable libraries across different .NET platforms, including .NET
Framework, .NET Core, and Xamarin.
• .NET Core is suitable for many application on types such as web apps, microservices, cloud-based apps, and
mobile backends.
• .NET Core provides powerful tools and libraries for building modern applications, including containers,
machine learning, and AI support.

8
.NET CORE

Components of .NET Core?


• .NET Runtime
• It is the core component of .NET Core. It is responsible for executing .NET apps.
• It consists of a garbage collector, a just-in-time (JIT) compiler, and various other runtime services.

• .NET Base Class Libraries (BCL)


• These are a set of libraries that provide standard functionality for .NET apps, e.g., support for file I/O, networking, security, and other common tasks.

• .NET Standard
• It is a common set of APIs across all .NET implementations, including .NET Framework, .NET Core, and Xamarin.
• It enables developers to build shareable libraries across different .NET platforms.

• ASP.NET Core
• It is a web application framework allows developers to build modern, cloud-based web applications using .NET Core.
• It includes support for building web APIs, serverless applications, and single-page applications (SPAs).

• Entity Framework Core


• It is an object-relational mapping (ORM) tool.
• It enables developers to work with databases using .NET objects.
• It supports many database engines, including SQL Server, MySQL, and PostgreSQL.

• .NET Global Tool (.NET CLI)


• It is a command-line tool that enables developers to install and manage .NET Core tools and libraries from the command line.

• Note – Many other tools and libraries are available for building modern applications with .NET Core, including containers, machine
learning, and AI support etc.

9
.NET CORE

Advantages of .NET Core?


• .NET Core can run on multiple operating systems such as Windows, Linux, and macOS.
• It a good choice for building applications that need to run on different platforms.
• It is an open-source framework; hence everyone has access to review and contribute to the source code.
• It makes easier for developers to understand how the Framework works and allows them to contribute to its
development and evolution.
• It is modular and lightweight, allowing developers to choose the components they need for their applications.
• .NET Core is optimized for high performance, focusing on fast startup times and low memory overhead.
• It includes built-in support for containers, making deploying applications in containerized environments
easier.
• The Framework has a robust ecosystem of tools and libraries, including support for building web applications,
microservices, and cloud-based applications.
• Supports multiple programming languages, including C#, F#, and VB.NET, giving developers a wide range of
options for building applications.

10
.NET CORE

Disadvantages of .NET Core?


• .NET Core is not fully backward compatible with .NET Framework.
• Existing .NET Framework applications may need to be modified or rewritten to run on .NET Core.
• Some libraries and frameworks available for .NET Framework may not be available for .NET Core or may
not have equivalent functionality.
• It introduces new technologies and approaches that may require developers to learn new skills and
techniques.
• It may require more setup and configuration than .NET Framework, especially for developers who are
used to working with .NET Framework.
• It is a modern, cross-platform framework that focuses on building modern, cloud-based applications. It
may have less support for legacy systems and technologies.

11
.NET CORE

When to choose .NET Core?


• When you need to develop an application that runs on multiple operating systems, Windows, Linux, and
macOS.
• When you’re building modern, cloud-based applications, including microservices and serverless
applications.
• When you need to deploy your application in a containerized environment.
• When you prefer to use open-source technologies, or if you want to review and contribute to the source
code of the Framework you are using.
• When you need to deploy a lightweight, modular application. It allows you to choose specific
components for your application.

12
.NET CORE

Suitable Types of Apps to Develop in .NET Core?


• Cloud-Based Apps – It is optimized for building modern, cloud-based applications, including
microservices, serverless, and cloud-native applications.
• Web Apps – It includes ASP.NET Core, a web application framework that enables developers to build
modern, cloud-based web applications using .NET Core.
• Mobile Apps – It is suitable for building cross-platform mobile applications using tools such as Xamarin,
which enables developers to build native Android, iOS, and Windows applications using .NET Core.
• Microservices – .NET Core is well-suited for building microservices and other distributed systems.
• Console Apps –.NET Core can be used to build command-line tools and utilities.
• Internet of Things (IoT) Apps – .NET Core can build IoT applications for many devices, including
embedded devices, sensors, and gateways.
• Containerized Apps – .NET Core has built-in support for containers, making deploying applications in
containerized environments easier for developers.

13
.NET CORE

.NET Framework vs .NET Core?


• Platform Support – .NET Core is a cross-platform runs on multiple operating systems whereas .NET
Framework runs on only Windows operating systems.
• Open Source – .NET Core is an open-source framework i.e., the source code is available for anyone to
review and contribute whereas .NET Framework is not open source.
• Language Support – Both .NET Core and .NET Framework support multiple programming languages
such as C#, F#, and VB.NET etc..
• However, .NET Core has a more extensive set of supported languages, including support for languages
that run on the CLR, such as IronPython and IronRuby.
• Modularity – .NET Core is designed to be flexible and modular, allowing developers to choose only the
components they need for their specific application.
• .NET Framework is a monolithic framework that includes many features, even if you don’t need them all.

14
.NET CORE

.NET Framework vs .NET Core?


• Performance – .NET Core is generally faster and more lightweight than .NET Framework, as .NET Core
has modular design and modern runtime.
• Deployment – The .NET Core design is lightweight and modular, allowing developers to choose the
specific components they need for their applications. Its features make deploying applications built with
.NET Core easier, as you don’t need to include the entire Framework with your application.
• .NET Framework, on the other hand, is a larger, monolithic framework comprising a wide range of
libraries and tools.
• Compatibility – .NET Core is not fully compatible with the .NET Framework, as it includes different APIs
and libraries.
• However, .NET Core is built on the .NET Standard, a common set of APIs across all .NET implementations,
including .NET Framework, .NET Core, and Xamarin, which enables developers to build libraries that are
shareable across different .NET platforms.

15
9/3/20XX 16

.NET CORE

THANK YOU
Satyarth Rao
Satyarth Programming Hub

You might also like