Skip to content

Commit 58beba6

Browse files
author
Zlatko Knezevic
committed
Add overview of .NET Editions
The document lists out different .NET Editions that are planned and their operating system support.
1 parent 7ca5c36 commit 58beba6

File tree

1 file changed

+106
-4
lines changed

1 file changed

+106
-4
lines changed

docs/getting-started/overview.rst

Lines changed: 106 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,108 @@
1-
.. include:: /stub-topic.txt
1+
Overview of .NET implementations
2+
================================
3+
4+
.NET Platform is, at its very core, a set of standards that can be implemented. There are
5+
various implementations, some coming from Microsoft, some coming from other companies and
6+
groups.
7+
8+
.NET Core
9+
---------
10+
.NET Core is a cloud-optimized, cross-platform implementation of the .NET Platform. It currently
11+
supports three main operating systems: Linux, Windows and OS X.
12+
13+
There are several characteristics of .NET Core:
14+
15+
**Cross-platform support** is the first important feature. For applications, it
16+
is important to use those platforms that will provide the best environment for
17+
their execution. Thus, having an application platform that can enable the app
18+
to be ran on different operating systems with minimal or no changes provides a
19+
significant boon.
20+
21+
**Open Source** because it is proven to be a great way to enable a larger set of
22+
platforms, supported by community contribution.
23+
24+
**Better packaging story** - the framework is distributed as a set of packages
25+
that developers can pick and choose from, rather than a single,
26+
monolithic platform. .NET Core is the first implementation of .NET Platform that is
27+
distributed via `NuGet <http://www.nuget.org/>`_ package manager.
28+
29+
**Better application isolation** as one of the scenarios for .NET Core is to
30+
enable applications to "take" the needed runtime for their execution and deploy
31+
it with the application, not depending on shared components on the targeted
32+
machine. This plays well with the current trends of developing software
33+
and using container technologies like Docker for consolidation.
34+
35+
.NET Framework
36+
--------------
37+
38+
The .NET Framework is the premier implementation of the .NET Platform available for
39+
Windows server and client developers. It is a very powerful, very mature framework, with
40+
a huge class library (known as the **Framework Class Libraries**) that supports
41+
a wide variety of applications and solutions on Windows.
42+
43+
There are additional stacks built on top the .NET Framework that allow developers
44+
to build applications ranging from console applications, across rich client (WPF)
45+
applications to scalable web applications.
46+
47+
`Windows Forms <https://msdn.microsoft.com/en-us/library/dd30h2yb(v=vs.110).aspx>`_
48+
and `Windows Presentation Foundation (WPF) <https://msdn.microsoft.com/en-us/library/ms754130(v=vs.110).aspx>`_
49+
are User Interface (UI) stacks that enable you to build desktop applications for Windows.
50+
Windows Forms' strength is in its rich support for common databinding scenarios as well as
51+
access to Windows' native user interface controls. WPF, on the other hand, allows you to exercise
52+
much more control over the look and feel of your application. Both of them allow for building very
53+
rich desktop applications that run on Windows, and you should pick the one that is suited for your
54+
use case.
55+
56+
`Windows Communication Foundation (WCF) <https://msdn.microsoft.com/en-us/library/ms731082(v=vs.110).aspx>`_
57+
is a set of libraries that comprise the middleware services stack on .NET Framework.
58+
It allows you to create services that can communicate through various supported
59+
protocols using various data formats, and that can be hosted in any process
60+
you choose. This leads to one of the major features of WCF: your services are
61+
not tied to any particular hosting strategy or approach.
62+
63+
`ASP.NET <http://www.asp.net/>`_ is a web framework. Being a very rich framework,
64+
it has several distinct pieces which are used to produce modern and high-performance
65+
web applications. `ASP.NET Web Forms <http://www.asp.net/web-forms>`_ is a set
66+
of tools geared primarily towards developer productivity, allowing quick
67+
turnaround on web applications with a drag-and-drop surface
68+
reusing web controls for everything from loging in to data binding.
69+
`ASP.NET MVC <http://www.asp.net/mvc>`_ allows for a different approach, one that gives you greater
70+
control over the entire pipeline, from the HTTP layer to the user interface.
71+
`ASP.NET WebAPI <http://www.asp.net/web-api>`_ is a convention-based framework for creating REST
72+
services. It allows you to set-up a REST endpoint extremely fast. Finally,
73+
`SignalR <http://www.asp.net/signalr>`_ allows you to provide push-based communication to your web
74+
applications using `WebSocket <https://en.wikipedia.org/wiki/WebSocket>`_ protocol.
75+
Finally, `ASP.NET v5 <http://www.asp.net/vnext/>`_ is a new version of MVC and
76+
WebAPI frameworks that is built to run on top of .NET Core.
77+
78+
.NET Native
79+
-----------
80+
81+
.NET Native is not so much an "edition" of the .NET platform as it is a set of tools that
82+
allow developers to have different build outputs. The normal .NET source compilation process takes
83+
the source code written in one of the .NET languages (such as C#, Visual Basic, F# etc.) and
84+
produces something called "Intermediate Language". IL is then picked up by the runtime,
85+
and Just-In-Time compiled at run-time to machine code.
86+
87+
.NET Native NET Native is an Ahead-of-Time (AOT) toolchain that compiles IL
88+
byte code to native machine code, so that when the code is executed, there is
89+
only "native" code running. This means that the resulting binary is what the OS executes;
90+
there is no JIT-ing, no runtime compilation. This leads to better performance, as well as
91+
some security benefits.
92+
93+
.NET Native is the set of tools used to build .NET **Universal Windows Platform (UWP)**
94+
applications.
95+
96+
Supported operating systems
97+
---------------------------
98+
99+
.NET Core is supported on Windows, Linux and OS X.
100+
101+
.NET Framework is supported on Windows operating system. .NET Native is,
102+
at this time, supported on Windows.
103+
104+
105+
106+
2107

3-
|stub-icon| Overview of different editions of .NET
4-
==================================================
5108

6-
.. include:: /stub-notice.txt

0 commit comments

Comments
 (0)