Showing posts with label News. Show all posts
Showing posts with label News. Show all posts

Monday, January 6, 2020

Countdown to .NET 5

2020 is an excellent year for .NET. This is the year we'll finally see .NET 5 merging .NET Core, .NET Framework and Xamarin.
2020 brings great news for .NET developers. This is the year that, Microsoft expects to consolidate .NET Core and .NET Framework on a single platform called .NET 5 including .NET mobile (Xamarin), ASP.NET Core, Entity Framework Core, WinForms, WPF and ML.NET.. The first preview is expected in the first half of the year with the official release foretasted for Nov, 2020. Excited? You should be!

Update: The first beta release is available now!

Great news for .NET developers

That's great news for folks working on .NET Core since there'll be an influx of projects to work, contribute and develop. But that's even better news for teams working on slow-moving projects (aka, most of us) which have been deferring an update to the more modern, faster and container-friendly .NET Core.

I posted some time ago my insights regarding this update. TLDR, I'm super excited! Being a long time Fedora Linux user and a big open source enthusiast, I have been using .NET Core for my personal projects on Linux (and running them successfully on both Docker, AWS and Azure). While I'm transitioning more and more my workflow to open source software (such as Vim, i3, etc) and and have been working a decent portion of my time with Go and Python, .NET is still my default framework.

So let's take another look at what's coming up next with .NET.

Highlights of .NET 5

Apart from the single codebase, my preferred highlights of .NET 5 are:
  • .NET will become a single platform including Xamarin, ASP.NET Core, Entity Framework Core, WinForms, WPF and ML.NET
  • Unified .NET SDK experience:
    • Single BCL (Base Class Library) across all .NET 5 applications. Today Xamarin applications use the Mono BCL but will move to use the.NET Core BCL, improving compatibility across our application models.
    • Mobile development (Xamarin) is integrated into .NET 5. This means the .NET SDK will support mobile. For example, you can use “dotnet new XamarinForms” to create a mobile application.
  • Native Applications supporting multiple platforms: Single Device project that supports an application that can work across multiple devices for example Window Desktop, Microsoft Duo (Android), and iOS using the native controls supported on those platforms.
  • Cloud Native Applications: High performance, single file (.exe) <50MB microservices and support for building multiple project (API, web front ends, containers) both locally and in the cloud.
  • Open source and hosted on GitHub
  • Cross-platform and better performance
  • Decent command-line interface (CLI)
  • Java, Objective-C and Swift interoperability
  • Support of static compilation of .NET (ahead-of-time – AOT)
  • Smaller footprints

A Unified Platform

This is a more holistic view of what .NET 5 will be:

The Schedule

The proposed merge is expected to happen by November 2020. Here's the plan:
You can also check the release status in real time on GitHub (Jan, 2020):

What's Next

So what's next? Well, the best thing to do is to keep an eye on .NET's official blog as they'll be updating the status of the project through there. Would you like to contribute? Jump into .NET Core and CoreFx repositories in GitHub. For more information on the topic, consider reading .NET Core and .NET merging as .NET 5.0.

References

See Also

For more posts on .NET Core, please click here.

Wednesday, May 30, 2018

.NET Core 2.1 Released

Good news: Microsoft just announced .NET Core 2.1 SDK. Let's understand what changes.
Photo by Anne Nyg√•rd on Unsplash

I've using the NET Core 2.1.0 RC 1 SDK for a couple of days already because I'm testing some SignalR.Core functionalities available initially for that revision and am very happy to know that the final is here.

Long-term Support

Microsoft also announced that this is a Long-term Support (LTS) version. What does that mean?
  • supported for three years
  • security improvements
  • added platform support 
  • superior performance
  • improved reliability
  • much easier to manage .NET Core and ASP.NET Core versions in project files and with self-contained application publishing.

Features

The most important features IMHO are listed below.

Performance and Reliability Improvements

As previously mentioned, there were significant gains related to performance on this version.

Improved Platform Support

Windows, Mac, Linux and Docker. There's a .net core version for everyone. The list keeps growing!

SignalR.Core

As I mentioned above, yes, the new SignalR.Core is finally available with this release. That's awesome news for those who are using this library and were waiting for that upgrade!

Razor Class Libraries

We can now embbed Razor in class libraries so Razor is used in your backend to build views and pages into reusable class libraries.

.NET Core Tools

This is a very important feature. Existing already in NPM, it basically allows us to install global applications from nuget packages. .NET Core tools run on all .NET Core supported operating system and chip architecture by default, with one set of binaries. Installing and using .NET Core tools is as simple as:
dotnet tool install -g dotnetsay
dotnetsay
The following existing DotNetCliReferenceTool tools have been converted to in-box tools.
  • dotnet watch
  • dotnet dev-certs
  • dotnet user-secrets
  • dotnet sql-cache
  • dotnet ef

Build Performance Improvements

Builds are faster on .Net Core 2.1. Here's a comparison from Microsoft:
.NET Core 2.1 Incremental Build-time performance improvements
Source: https://blogs.msdn.microsoft.com/dotnet/2018/05/30/announcing-net-core-2-1/

Docker Support 

Updated Docker images for .NET Core 2.1 are available at microsoft/dotnet on Docker Hub and contain many improvements and simplifications from Microsoft.

See Also

For more posts about .NET Core, please click here.

Thursday, May 10, 2018

Red Hat Enterprise Linux keeps growing

The Red Hat ecosystem keeps growing. Let's understand how much.
Photo by Agnieszka Boeske on Unsplash

Red Hat recently announced that its Red Hat Enterprise Linux is the Linux operating system leader. While that alone is magnificent, there's more in the original article than it seems.

The fastest growing operating system vendor

The stats below released by IDC in May 2018 show 14.5% increase in 5 year, making RH the fastest growing operating system vendor.
Worldwide Operating Systems and Subsystems CAGR by Vendor, 2012-2017
Source: https://www.redhat.com/en/blog/red-hat-linux-operating-system-leader

Strong Growth in the installation base

A growth in the installation base was also highlighted, making RH now side by side with Apple in OS installation base. That's fantastic!
Worldwide Operating Systems and Subsystems 2017 Share Snapshot
Source: https://www.redhat.com/en/blog/red-hat-linux-operating-system-leader
Still according to IDC,  Red Hat “remains a leading innovator of new Linux operating system technologies, as well as complementary technologies such as middleware, virtualization, and PaaS.”

RHEL for the rest of us

So what about the rest of us developers and small shops that can't afford a RHEL licence? In case you wonder, yes it's possible to run RHEL on the desktop but I'd like to point out two community-driven equivalents available for free: Fedora Linux and CentOS.

CentOS

CentOS is a community-drivem free/libre/open-source RHEL equivalent operating system for servers. CentOS is a fantastic distribution, very stable and supported by a big, dedicated community. CentOS is also used in millions of servers worldwide. Want to know more? Check my reasons to run CentOS.

Fedora

Fedora is one of the most cutting-edge distros out there and incubator for Red Hat Linux. If you want to be part of that innovation and run what will eventually be released on RHEL, then I'd urge you to try out Fedora. Fedora is also available on a multitude of options: KDE, XFCE, IoT, containers and more, much more. In case you're interested, learn why I use Fedora.

Conclusion

RHEL is a strong and leading Linux operating system for servers on enterprise software. That fact that it keeps growing worldwide means that, learning and using it is a fantastic opportunity from developers and sysadmins. In that end, both CentOS and Fedora are excellent alternatives and are available for free.

Read Next

See Also

For more posts about Linux on this blog, please click here.

About the Author

Bruno Hildenbrand      
Sr Architect, Software Engineer and open-source enthusiast.
.NET, Azure, Go, Linux, Fedora, i3, Vim, Architecture, Docker & Kubernetes.