April 8th, 2020 • Custom Software Development Resources: Articles

.NET Core 3 is the most important release of the .NET framework in decades. Here’s why.

First, a tiny bit of history

The .NET Framework is the popular C# framework created by Microsoft used by programmers to build desktop apps, server apps, mobile apps, and websites on a variety of devices.

It was released to the public in 2002 and targeted only Windows platforms at the time. In 2004, a successful open-source effort called Mono was started to port the .NET framework to Linux, giving programmers the choice to have their .NET apps work on Linux. Of course, the user interface side of things was incompatible, as desktops apps built for Windows would use Windows Forms libraries and those for Mono would use Gtk#.

A decade later, building on its success, the Mono founders created Xamarin so programmers could build mobile apps in C# targeting Android, iOS, and Windows Mobile without requiring the use of native languages. Xamarin was acquired by Microsoft in 2016.

At that point, there were multiple versions of the .NET framework and programmers needed to know in advance on which platform (Windows, Linux or mobile phones) their apps were to run so they could select the correct framework before starting to program – as one might suspect, this became tedious.

Introduction of .NET Core

Microsoft recognized the need to unify the frameworks and started producing .NET Core, a framework that could run console programs as DLLs, and thus ASP.NET Core web apps, on Linux and Windows.

.NET Core quickly became popular because it allowed application programmers to build web applications that could run on Windows, Azure, and Linux without being recompiled. That was genius.

However, .NET Core could not be used for building applications with a graphical user interface (GUI).

.NET Core 3 – A Unifying Platform and the New Standard

To remedy this problem, Microsoft announced in mid-2019 that it was working on a next-generation .NET Core framework which would allow programmers to:

  • Build server-side applications, continuing the .NET Core tradition
  • Build graphical user interfaces (GUIs) by integrating .NET 4.8 WPF and WinForm applications
  • Build mobile apps by integrating Xamarin

Today, .NET Core 3 is the standard for building new applications and Microsoft discourages programmers to build applications targeting older frameworks.

Why is Migrating to .NET Core 3 a Smart Decision?

  1. Converting existing applications to .NET Core 3 isn’t terribly difficult, as the libraries are essentially the same.
  2. The framework is a complete rewrite. This means that it runs a lot faster than its legacy counterparts.
  3. Microsoft is deprecating the older frameworks, so maintenance will require a port to .NET Core 3+.
  4. Being able to take a binary and run it on either Linux or Windows, especially in the ASP.NET or Windows Service worlds, brings huge flexibility to IT and DevOps professionals. This opens the door to the following things: 
  • Containerizing a .NET server app
  • Moving a .NET app from on-premise to the cloud
  • Choosing between either Windows, Mac, or Linux
  • Choosing between Azure or AWS
  • Running DevOps on Linux, within GitLab for example

.NET Core 3 is a Full-Featured Framework

Earlier versions of .NET Core required programmers to hunt down specific NuGet packages and to deal with workarounds for libraries that were not well supported. For example, Entity Framework (EF) behaved differently on .NET Core and legacy .NET applications.

Today, these issues are all resolved. .NET Core 3 comes with the entire ecosystem of libraries and NuGet packages. We have tested it heavily and it works well, both for WPF Windows applications and ASP.NET apps.

Our experience working with .NET Core has been incredibly rewarding. We were able to bring production C# code written in the last 18 years into our new applications without having to rewrite much of it. The automation of building .NET apps on Linux saved us from having to manage Windows servers and Team Foundation Servers (TFS).

There are a few quirks involved in porting a traditional ASP.NET web app over to .NET Core, but overall the process isn’t too complicated thanks to it being a modern framework. Read more on .NET Core 3 at Microsoft.

Do you have a project that needs to migrate to .NET Core? The Buildable team would love to help. Give us a call today at (503) 468-4890 or email connect@buildableworks.com.




Ready to work with us?

Request a quote for your next project

Let's talk

Buildable's Logo 1-Color

What can we help you with?

Talk with an expert at Buildable about your project.


This site is protected by reCAPTCHA. Google Privacy Policy and Terms of Service apply.

Copyright © 2024 Buildable.
All Rights Reserved
Privacy Policy | Terms of Service

Web Design and Web Development by Buildable