For some programmers and other technologists, when Microsoft or .NET are mentioned,
modern web technology isn't the first thing that comes to mind. With the introduction of .NET Core and some time for the associated frameworks and tooling to stabilize, it may be worth taking another look. Here are some of the highlights of the new .NET Core platform.
A More Universal Developer Story
When a developer wanted to start working with .NET in e.g. 2008, they would have needed to have the following:
- a PC
- running Windows
- a copy of Visual Studio
...and they're out. Many amateur developers wouldn't have had the money for Visual Studio, and may have had an Apple computer or a PC running a Linux or BSD distribution, which means .NET was a non-starter. They never even got to consider the technology itself.
.NET Core has evolved into something similar - but with all the strengths of the .NET technologies involved. Programmers can now build .NET applications - web or otherwise - without Visual Studio and without being locked into a secondary tech stack that doesn't fit their lives or circumstances.
.NET Core has been designed with platforms other than x86-based Windows PCs in mind. In fact, Microsoft now supports production deployments of .NET Core applications in macOS, Linux (a variety of distributions), and Windows. Other platforms (and CPU architectures) are planned for upcoming major releases.
The entire .NET Core stack is being developed in the open, generally on GitHub. The primary GitHub organization for .NET Core is located here: https://github.com/dotnet. Not only is the core runtime being developed in the open, but so are the compilers for both C♯ and F♯, the base class libraries, as well as the new ASP.NET Core. There is an outstanding
launch page located at this repository: dotnet/core. I highly recommend any reader interested in .NET Core visit that repository early and often.
To see for yourself the new and improved .NET and try it out, download the SDK from dot.net and install it on your preferred environment.
Then, navigate to a folder where you can create a new project, like this:
$ cd projects
$ dotnet new console -n myproject
The template "Console Application" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on myproject/myproject.csproj...
$ cd myproject
$ dotnet run
That's all it takes to get started.