The Evolution of .NET: From Framework to Core and Beyond
This article provides a comprehensive overview of the .NET platform’s evolution, covering the original .NET Framework, its comparison with Java, the rise of Mono for cross‑platform support, the introduction of .NET Standard, the modern .NET Core and ASP.NET Core, and guidance on tooling and learning resources.
Reading this text takes about 8 minutes.
The title uses the word "Evolution" because .NET is constantly being improved and refactored.
The purpose of this article is to popularize .NET, essentially a technical evangelism.
Continuous Evolution of .NET
The diagram below shows a learning roadmap that also represents the evolution of the .NET platform and its future direction.
We will explain each term in the diagram to help you better understand .NET.
.NET – What Is It?
In the past, .NET usually referred to the .NET Framework.
Since the development of .NET technology, as of 2018, the broader term .NET includes .NET Framework, .NET Core, and Mono, forming an entire product series based on .NET technology.
.NET is a general‑purpose development platform. Its key features include support for multiple programming languages, asynchronous and concurrent programming models, and native inter‑operability, enabling solutions across many platforms. .NET development can target .NET Framework, .NET Core, and Mono. All implementations share a common API specification called .NET Standard. .NET offers impressive performance, development efficiency, and a large developer community.
The above is the latest introduction to .NET. From now on, .NET no longer refers only to .NET Framework.
.NET Framework
The traditional .NET Framework is a Windows‑only platform based on the Common Language Runtime (CLR) and supports languages such as C#, F#, VB.NET, C++, and Python.
It is the most widely used .NET implementation, mature and stable, but its major drawback is the lack of cross‑platform support; it relies on Mono for that purpose and typically runs on Windows servers with IIS as the host.
.NET Framework vs. Java
When discussing .NET Framework, Java inevitably comes up.
Java, launched in 1995, promoted agile development and cross‑platform capabilities. Microsoft created .NET partly in response to Java’s success.
.NET Framework was released with Visual Studio .NET in 2002 and has evolved through several major versions, the latest being 4.7.1.
Both .NET and Java use just‑in‑time (JIT) compilation: Java compiles to bytecode, while .NET compiles to Intermediate Language (IL). Their runtimes are JRE for Java and CLR for .NET.
Many people claim .NET is inferior because early versions were closed‑source and lacked large‑scale, cross‑platform solutions, whereas Java had abundant enterprise frameworks and talent.
Why Chinese Internet Companies Prefer Java
Major Chinese internet companies (Alibaba, Baidu, Tencent) were founded before .NET 1.0 was released in 2002, so they adopted Java, which already offered mature, open‑source, cross‑platform solutions and a large talent pool. Additionally, Windows server licensing costs were a factor.
.NET’s Cross‑Platform Journey
On November 12, 2014, Microsoft announced the full open‑source release of the .NET framework for Linux and macOS.
Even before that, Mono provided a cross‑platform .NET solution.
Mono – The Cross‑Platform Solution
Mono, originally created by Ximian (later Xamarin), implements the ECMA standards for .NET tools, including a C# compiler and the Common Language Infrastructure. Unlike Microsoft’s CLR, Mono runs on Windows, Linux, macOS, FreeBSD, and even gaming consoles.
Mono’s history includes a transfer to Xamarin in 2011 and later acquisition by Microsoft in 2016, after which it became a community‑supported project.
Mono is a story‑rich project that has survived many changes and even a patent dispute with Microsoft.
Mono is also used by the Unity3D game engine, powering games such as Temple Run, Hearthstone, and Deemo.
Xamarin
Xamarin brings .NET’s power to iOS and Android, allowing code reuse while providing native APIs and performance.
It enables a single language (C#), libraries, and runtime to work across iOS, Android, and Windows Phone.
.NET Standard
.NET Standard is a set of base‑class library APIs that define a uniform contract for all .NET implementations, ensuring code portability across platforms.
.NET Standard further enables cross‑platform, cross‑device code sharing.
.NET Core
.NET Core is the modern, open‑source, cross‑platform application framework that succeeded the .NET Framework.
.NET Core is fully open‑source on GitHub, supports Windows, Linux, macOS, and will eventually support FreeBSD and Alpine.
Unlike the monolithic .NET Framework, .NET Core uses a package‑based model, allowing applications to depend only on the components they need.
Key milestones: .NET Core 1.0 released in 2016; the latest version mentioned is 2.1.4.
Cross‑platform
Unified via .NET Standard
Lightweight
Modern language features (C#, VB, F#, generics, LINQ, async)
Open‑source
.NET Core and ASP.NET Core Relationship
Initially, ASP.NET Core (formerly Project K/DNX) could run independently of .NET Core. As .NET Core matured, the two were merged, and DNX was retired.
ASP.NET Core is now a cross‑platform, high‑performance, open‑source framework for building cloud‑connected applications.
Build web apps, services, IoT, and mobile back‑ends.
Develop on Windows, macOS, or Linux with your favorite tools.
Deploy to cloud or on‑premises.
Run on .NET Core or .NET Framework.
History Timeline
.NET’s naming conventions (e.g., ASP.NET 5 → ASP.NET Core) reflect its evolution from a Windows‑only framework to a truly cross‑platform ecosystem.
ASP.NET Core runs on Windows, macOS, and Linux, marking Microsoft’s first cross‑platform web framework.
Current Responsibilities
ASP.NET Core is a cross‑platform, high‑performance, open‑source framework for building cloud‑connected applications.
Getting Started
If you are unsure where to begin, we recommend trying Visual Studio.
Visual Studio
A full‑featured IDE for Windows to build all kinds of .NET applications.
Visual Studio Code
A lightweight editor for Linux, macOS, and Windows; install the C# extension for the best experience.
Visual Studio for Mac
Use Xamarin to build native Android, iOS, macOS, and Windows apps, as well as ASP.NET Core web services.
OmniSharp
Cross‑platform .NET development support for editors like Atom, Sublime Text, Emacs, and Vim.
JetBrains Rider
A cross‑platform .NET IDE built on IntelliJ and ReSharper technologies.
.NET Core CLI
A command‑line interface for developing cross‑platform web services on Linux, macOS, and Windows.
Conclusion
We recommend the book "The .NET Legend: From Closed to Open" and suggest moving fully to .NET Core in 2018.
If you notice any errors or omissions, please point them out or submit a pull request on GitHub.
References: https://en.wikipedia.org/wiki/Mono_(software) https://wc.yooooo.us/wiki/.NET_Core http://www.cnblogs.com/xishuai/p/mono-dotnetcore.html http://www.jubeat.net/2016/09/25/dotnet-core-prologue/ https://wc.yooooo.us/wiki/.NET框架 https://wc.yooooo.us/wiki/ASP.NET https://wc.yooooo.us/wiki/ASP.NET_Core
DevOps
Share premium content and events on trends, applications, and practices in development efficiency, AI and related technologies. The IDCF International DevOps Coach Federation trains end‑to‑end development‑efficiency talent, linking high‑performance organizations and individuals to achieve excellence.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.