Microsoft released the final version of .NET Core 2.0. Microsoft also said it would present ASP.NET Core 2.0, Entity Framework Core 2.0, and a complete .NET Standard 2.0 specification. This new update adds a lot of technology from the standard .NET version, as well as some improvements to performance and security.

According to Scott Hunter, who works for Microsoft as Director of Program Management for .NET, the company’s mission is to be able to deploy .NET anywhere and everywhere. This is important in the midst of increasing competition with Oracle’s Java Framework. Hunter says that .NET Core represents “.NET awakening” which makes it possible to remain relevant.

Since 2002, Microsoft has been pushing .NET as a premium way to build software and applications for all Windows platforms, and is only available on Windows. In late 2014, Microsoft surprisingly launched .NET Core, a cross-platform open source version of the .NET Framework. According to Microsoft, the .NET Framework will not disappear, but their focus is currently on .NET Core as the future of its development platform.

Microsoft’s steps at that time were seen as self-defense against the Java Frameworks (which at that time were still owned by Sun Microsystem), which continued to threaten Windows thanks to cross-platform capabilities combined with programming languages ​​that were easier and more productive than C or C ++. Java proved to be popular for developing business applications, something Microsoft wanted to achieve with C #, the programming language used by .NET.

Similarities in C # and Java

C # and Java are two programming languages ​​that try to increase C ++. Java launched first in 1995. From the beginning to program for television devices, Java then quickly became popular thanks to the ability of cross-platform – which is famous for the slogan “Write Once, Run Anywhere” – and the amount of support from existing web browsers. Whereas C # was launched in 2000 by Microsoft with the aim of facilitating the Windows operating system to operate with other platforms through web services.

Like Java, C # is an object-oriented programming language and also includes “garbage collection”, which is the ability to free up the memory allocated to run applications when the application is turned off.

“Naturally, Java is present before C #, and C # is not created in a vacuum. It’s natural for C # to learn from Java’s strengths and weaknesses, just like Java learns from Objective-C, which learns from C. So, C # should be different from Java “If Java is perfect, there is no reason to make C #. If C # is perfect, there is no reason to create a new programming language,” said Kirk Radeck, a senior software consultant and holder of Windows Embedded MVP.

Open Source Accelerates .NET Core Development

The development of .NET Core and C # programming language in open source was started by Mono Xamarin, who succeeded in presenting a cross-platform version of the .NET Framework on devices based on Android, iOS and Linux.

In February 2016, Microsoft acquired Xamarin in the hope that its software can also be used by more platforms and mobile operating systems, so that application developers are not only concentrated on Android and iOS. Steps that were previously also carried out by Apple that made his Swift programming language work on Linux.

“Xamarin has more than 15,000 customers in 120 countries, including more than one hundred Fortune 500 companies – and more than 1.3 million unique developers who have taken advantage of their offerings,” said Scott Guthrie, Executive Vice President for Cloud and Enterprise Group at Microsoft. “We see that this acquisition is an opportunity to take what they have built and make it a core part of our strategy.”

Making .NET become open source and then acquiring Xamarin has been recognized by Microsoft as accelerating the development of the .NET Framework.

“By being open source, we have seen many changes over the past year that have come from the [open source] community,” said Scott Hunter. “As a [.NET Standard] customer, you will see us move faster with .NET Core.”

Support for a variety of operating systems

One of the initial motivations for creating Java was creating a programming language where compiled code could run on any operating system. The fact is that compiled Java doesn’t run on any “operating system,” but runs on most of the existing operating systems.

“At present, Java is a ‘winner’ in this category because it is supported by more operating systems than C #,” Kirk Raderk said.

From the beginning, targeting various web services, Java became increasingly popular after the release of Java 1.2 Micro Edition (J2ME), which was widely used by feature phones for third-party application support. The popularity of Java among mobile phone users has made Google really hope to be able to cooperate with Sun Microsystem to develop a mobile operating system. Google at that time was very worried that Microsoft would master mobile software, while in the market there was no open source option for Google to use to sell their mobile services.

“If Sun doesn’t want to work with us, we have two choices: 1) Leave our work behind and adopt the MSFT CLR VM and C # or – 2) Still using Java anyway and defend our decisions, which might bring many enemies along the way, “said Andy Rubin, founder of Android who was later bought by Google. This statement was revealed through an email document from 2005 which was one of the court evidence of a Java-related patent dispute between Oracle – which Sun acquired in 2009 – and Google.

Whatever happens, C # is probably the best choice for making mobile applications other than Java, which meet criteria that can be easily learned. This might be Samsung’s thinking to cooperate with Microsoft on open source .NET Core and Xamarin.Forms projects, to enable .NET support.

OSVersionArchitecturesNotes
Windows Client7 SP1 +x64, x86
Windows Server2008 R2 SP1 +x64, x86Configurations: Full, Server Core, Nano (2016 only) 
Windows IoT10+[C] arm32IoT Core (for Raspberry Pi)
Red Hat Enterprise Linux7.3+x64This includes Centos and Oracle Linux
Fedora25+x64
Debian8.7+x64Debian 9 (Stretch) workaround
Ubuntu14.04+x64, [C] arm32       This includes Linux Mint 17 for 
Raspberry Pi for arm32 x64
openSUSE42.2+x64
Tizen4+[S] arm32Tizen .NET Developer Preview
Mac OS X10.2+x64
  • Note: The goal is to support these OS’s up to the version that has been released when .NET Core 2.0 releases. Microsoft and / or Samsung supported several will be while others may be made available with community support. Entries will be supported by Microsoft support policy where they are called out as coming from elsewhere.
  • [S] This is supported by Samsung.
  • [C] This is supported by the Community
error: Content is protected !!