Previewing .NET Core 2.1 with an Expert Developer

Every .NET Core development engineer is excited about the upcoming enhancements that a new release will show to dot net developers. According to the roadmap, 2.1 will be offered for use in the second quarter of this year with every 1-2 months servicing period following the date of release. .Net Core is an open-source .Net realization which is used for developing software that will work on more than one type of operating system. The technology was introduced by Microsoft in June 2016. Over the last 2 years several versions of .Net Core were released. 2.0 release that is today used by programmers was presented in August 2017. Looks like .NET Core will be very popular topic to discuss at .NET Conferences 2018. .Net Core 2.1 Preview reveals the scope of fixes that have been done by a .Net specialists. Before delving into the study of the enhancements, let us revise the main features and advantages of .Net Core.

What Apps Can Be Created?

According to Microsoft, this .Net realization is designed for text-based computing and enterprise web application development. You can program in F#, C#, and Visual Basic to build the following kinds of software: Software development kits for .Net Core are available for various operating systems. They are equipped with a certain number of powerful tools that add value to Visual Studio options and makes it possible to solve the problems with a command line.

.Net Core Vs .Net Framework

Microsoft’s initial aim was to develop an alternative to .Net Framework for those who need to build apps which can work on different operating systems. The Framework is used for creating websites, desktop apps, and services mainly for Windows.

Should I choose: .Net Framework or .Net Core? Make your own selection. Choose .Net Framework if you need access to things like active directory and Windows libraries. Choose .Net Core to be able to run software anywhere.

Dot Net Core can be easily used by macOS based developers who need to test C# without shifting to Windows. It is also suitable for writing micro services without using JavaScript or Node.js frameworks. The other example is the realization of .Net-written MVC applications on Linux. You can’t gain all those pros with .Net Framework.

Advantages of .Net Core Development 

As soon as you are already aware, Microsoft promotes and invests much in Dot Net Core officially.  It means that it will be actively developing onwards. Here are key benefits that .Net Core offers to its huge community of developers:

Cheaper Hosting Solutions

Net Core is designed to allow you to spin up a software and run it on slightly cheaper hardware. Windows licensing modes will cost you money to host on Windows server whereas on Linux it is traditionally a little bit cheaper.   

High Scalability

.Net Core allows getting better performance and richer experience at lower costs. A growing number of users will demand higher scalability. The .net solution is doing perfectly in this job.
We’ve developed the Sales Rater system that includes a set of web services, web and console apps. All components are hosted at Windows Azure. With .Net Core technology we managed to meet the initial requirements of the project with a certain number of tools for communicating and getting reviews from customers.

Alexander Mykytyn, CTO at Diceus

Rapid Development

Being a framework of base class libraries .Net Core allows you to facilitate rapid development on Windows platform. Being also cross-platform means you can spin an app up on the machines running macOS, Linux, Raspberry Pi, etc.

Visual Studio and CLI Options

Command line interfaces are optional if you’re using .Net Core as you are able to simply turn to the Visual Studio environment. However, if a developer is used to command lines, the framework offers good instruments to work in the integrated development environment.

What Is .Net Standard?

Oftentimes .Net Standard is thought of as something that could be installed. However, it is simply a set of rules. The Standard is a physical document detailing which APIs and which base class libraries need to be present for something to be classed as dot net platform. So like a .Net Framework has code which handles opening and closing ports and things for running on the screen, Mono has the same things but it’s different in some ways so that both can’t interoperate. What Microsoft engineers did was they wrote a standard for developers for them to be able to do what is needful for their apps to be classed as .Net solution.

2.1 Coming Soon

Let’s proceed with finding out what has been done to improve the future version. Below is a general overview of the main improvements.
  1. Incremental build time was improved for both command-line and IDEs. See how Microsoft specialists expect the performance looks like:
As you see, it’s pretty the same for small apps but quite different for larger applications. In 2.0 it takes about 70 seconds to do a build. This time is gonna drop to 22.5 seconds and it proves a massive increasing performance.
  1. Span <T> and friends. Tensor <T> and friends. These two are new framework types that allow for a bunch of high-performance scenarios. Today if you have an array and need to give a part of it to your friend you should create a new array, copy everything in your array, and paste it into the new one. It’s not efficient in time and space. What span of T does is basically lets you to have a virtual array on top of the original one with no need to copy.
  2. Windows compatibility pack was enhanced by the number of APIs. Net Core engineers actually doubled the number of available APIs.
  3. HTTP client performance has become 10 times higher. It means that either you are on a console app or on a web server when you call out for another service you will get a response faster.  
  4. Smaller install time size will help to reduce the cost of R2R assemblies.
Here is a complete list of improvements presented during On.Net show.

What About ASP.NET Core?

ASP.NET Core application development is also gonna see some changes this year. The community is pretty excited about 2.1 release that is expected in the second quarter 2018. Below are some of the new changes in 2.1.
    • SignalR is a framework for doing real-time web development, things like connected clients scenario like chats, push notifications, verification, etc.   
    • Security by default. It means that you will be set up with the development certificate as part of your development experience. All templates are now available at https by default.
    • CDPR compliance. The engineers have developed special identity system according to the new rules of GDPR that will allow users to delete themselves or to download their identity data. You may find our more about new security conventions in the related article Why GDPR Compliance Should be in Your Agenda in 2018?”
    • Web API conventions. Complete Swagger support without attributes.
    • HttpClient will be introduced as a service to handle cross-cutting issues like circuit breaks, retry logic, timeouts, cashing.
    • ASP.NET Core Module in proc-hosting – 6 times higher productivity on IIS. Any errors you see are now much easier to diagnose.  Programming ASP.NET Core with modifications and improvement will become pretty easier and efficient in time as every single change was based on customers reviews.
Diceus .Net Core and ASP.NET Core development company is also excited about the opportunities that 2.1 releases will give to every .NET Core development engineer. We are currently working hard to build an ad-hoc .Net team to study all the fixes and changes made by Microsoft engineers for future releases. However, we keep providing the following services using Microsoft technologies: Let us know your requirements to the project to offer a unique solution!