TechTip: The .NET Core Framework

Development Tools
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Provide support for a variety of chip and OS targets.

 

Since the initial version of .NET Framework (the first beta version of .NET 1.0 was released in the fall of 2000), Microsoft has released many more upgrades over the years. With an intent to make the framework cross-platform, open source, and modular, the software giant has now come up with .NET Core Framework.

 

Designed for adaptability, Microsoft's .NET Core is an open-source, cross-platform, modular platform that enables you to build and deploy applications that are targeted at multiple operating systems. It should be noted that .NET Core is now available on the Windows, OS X, and Linux platforms. It is supported in several flavors of Linux, including Red Hat Enterprise Linux and Ubuntu. This article presents a discussion on .NET Core, its features, and why it is useful.

 

What Is .NET Core Anyway?

.NET Core is a new cross-platform .NET stack from Microsoft that is optimized for open-source development and agile delivery on NuGet. .NET Core is designed by Microsoft to support many different platforms and architectures. It should be noted that WPF and WinForms aren't supported on .NET Core. The MSDN states: ".NET Core is a cross-platform, open source, and modular .NET platform for creating modern web apps, microservices, libraries and console applications."

 

Main Characteristics of .NET Core

The major characteristics of .NET Core include the following:

  • Cross-platform support: It can work on multiple platforms, such as Windows, Mac, and Linux.
  • Flexible deployment: You can deploy a .NET Core application side by side with your application seamlessly. It is a general-purpose development platform that consists of several components. These include the managed compilers, the runtime, and the base class libraries. It also includes many application models, such as the ASP.NET Core.
  • Modular: .NET Core is composed of a set of modular components. This enables you to take advantage of the package you want to use rather than including the entire .NET Core framework. This boosts performance as you end up creating applications that contain just what you need.
  • Open source: .NET Core is open source using MIT and Apache 2 licenses and is available in GitHub.

 

The .NET Core Stack: The Architectural Components

As we have already discussed, .NET Core is designed in a modular manner. Hence, it is componentized. The components of .NET Core include the following:

  • A .NET runtime: This is used to provide type safety, garbage collection mechanism, native interop services, loading of assemblies, etc.
  • A collection of Framework Libraries: These provide the primitive data types, the utilities, etc.
  • A collection of SDK tools and compilers: These provide developer experience when working with the .NET Core SDK.

 

Getting Started with .NET Core

.NET Core is distributed in two ways: via NuGet as a package and also as a standalone distribution. You can download a copy of .NET Core from here.

 

You can use Visual Studio 2015 Community Edition (it's free), install Visual Studio 2015 Update 3, and then install the .NET Core Tools for Visual Studio. Alternatively, you can use Visual Studio Code (if you don't want to use Visual Studio) and then install the C# extension and the .NET Core SDK.

 

.NET Core provides support for languages like C#, VB.NET, and F#, and all the latest language conceptslike generics, LINQ, and asynchronous programmingare supported. It should be noted that .NET Core refers to several technologies. These include .NET Core, ASP.NET Core, and Entity Framework Core. All of these technologies run on top of the CoreCLR runtime environment.

 

Essentially, there are two main distributions of .NET Core: .NET Core and .NET SDK. While the former includes the .NET Core runtime, the latter consists of the .NET Core Tools.

 

Comparing and Contrasting .NET Framework and .NET Core

Let’s now take a quick tour on how .NET Framework and .NET Core compare and contrast to each other. Well, both are managed frameworks, and they have their own runtime environments and garbage collection mechanisms. Here’s the list of the differences between these two frameworks.

  • Open source: While only a subset of .NET Framework is open source, the entire .NET Core framework is open source.
  • Subsystems: .NET Core has adopted a simpler programming model. Some of the features of .NET Frameworklike Code Access Securityare not supported by .NET Core.
  • Multi-platform support: Unlike .NET Framework, .NET Core provides support for multiple platforms, i.e., Windows, Mac OS, and also Linux.
  • Fewer Application Programming Interfaces (APIs) support: As of this writing, .NET Core doesn’t support all the APIs that are available in .NET Framework.

 

You can take a look here at the .NET Core roadmap to get to know more about the recent developments in this framework.

Joydip Kanjilal

Joydip Kanjilal is a Principal Software Engineer in Hyderabad, India.

Read my blog

Awarded the prestigious Microsoft Most Valuable Professional (MVP) award in ASP.NET six times in a row from the year 2007 to 2012. A speaker and author of several books and articles with over 18 years of industry experience in IT and more than 14 years in Microsoft .NET and its related technologies.

Currently working as a Principal Software Engineer at DELL International Services at Hyderabad. Was selected as an MSDN Featured Developer of the Fortnight (MSDN) a number of times and also Community Credit Winner at www.community-credit.com several times.

Authored the following books:

·  Entity Framework Tutorial (Second Edition) by Packt Publishing

·  ASP.NET Web API: Build RESTful Web Applications and Services on the .NET Framework by Packt Publishing

·  Visual Studio 2010 and .NET 4 Six-in-One by Wrox Publishers

·  ASP.NET 4.0 Programming by McGraw Hill Publishing

·  Entity Framework Tutorial by Packt Publishing

·  Pro Sync Framework by APRESS

·  Sams Teach Yourself ASP.NET AJAX in 24 Hours by Sams Publishing

·  ASP.NET Data Presentation Controls Essentials by Packt Publishing

Also reviewed more than 10 books and authored more than 350 articles for some of the most reputable sites, such as www.msdn.microsoft.com, www.code-magazine.com, www.asptoday.com, www.devx.com, www.ddj.com, www.aspalliance.com, www.aspnetpro.com, www.sql-server-performance.com, www.sswug.com, and so on.

Has years of experience in designing and architecting solutions for various domains. His technical strengths include C, C++, VC++, Java, C#, Microsoft .NET, AJAX, WCF, JQuery, ASP.NET Web API, REST, SOA, Design Patterns, SQL Server, Operating Systems, and Computer Architecture. Has been exploring Cloud technologies, IoT and Machine learning these days.

Blog: http://www.infoworld.com/blog/microsoft-coder

Website: www.joydipkanjilal.com

Twitter: https://twitter.com/joydipkanjilal

Facebook: https://www.facebook.com/joydipkanjilal

LinkedIn: http://in.linkedin.com/in/joydipkanjilal

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  •  

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: