Introduction To .NET Core

What is .Net Core 1.0

.NET Core is the latest and emerging development platform for web applications, services, and console applications, provided by Microsoft. It is important to note that it was initially named .NET 5.0 or .NET Core 5.0. By features, it is a subset of .NET 4.6 framework. It offers the following matchless features.

  • Open Source availability
  • Cross-platform support (Windows, Linux, and Mac)
  • Modular Platform
  • Modern
  • Evolving

Open Source

.NET Core is open source. That means, it is free of cost and its source code is available. We can get the advantages of the community work supported by Microsoft. So, we can not only review the code but can add new features or fix bugs as per our needs (as per open source license).

Cross-platform (Windows, Linux and MacOS)

.NET Core is cross-platform. So, you can build and execute the same application code on any operating system of your choice. At the moment, the supported operating systems are Windows, Linux, and MacOS.

Modular Platform

.NET Core has been built to be modular platform. So, you have to pay for play only. This decision has been made to make .NET Core simpler and easier to implement for cross-platforms and to make it lightweight and faster.

Modern

.NET Core has provided many modern features, like generics, LINQ, asynchronous programming etc. And many other advancements such as WCF, UWP, F#, Visual Basics, and other language support are under process.

Evolving

.NET Core is a new implementation from scratch. It is in its initial phase and not complete yet. At this time, it only supports C# while Visual Basic and F# are not supported yet. But, soon these will be part of .NET Core (in couple of months approximately). Similarly, SignalR support has not been delivered yet. It only allows development for web applications, services, and console applications while other development tools have not been announced yet.

Advantages of .NET Core 1.0

New exciting features are going to open new paradigm for .NET developers for creating the applications having the following advantages.

  • Light-weight
  • Performance
  • Scalability
  • Easy to learn and Easy to manage
  • Standardized
  • Cost effective

Light-weight

Due to modular platform design, we include minimum number of modules as per requirements. This makes the overall package light-weight.

Performance

Being light-weight and having better implementation, .NET Core application is 3 to 8 times faster than its competitors.

Scalability

It is light-weight, having high performance. It is claimed that an application implemented in .NET Core can serve more than 20 time of the requests per second. Please refer to open source benchmarking project and its details to know more.

Easy to learn and easy to manage

.NET Core is very simple for both, new and legacy developers. You have a lot of resources available online.

Standardized

.NET Core provides a pre-planned standardized infrastructure through .NET Standard Library. This Standardized infrastructure is the base for unified development of cross-platform applications.

Cost Effective

.NET Core is going to open a new arena. It is going to be cost effective in many ways.

  • It is cross-platform. You can chose any operating system of your choice, even a free one.

  • Think about an application which has to be available on all major platforms. For example, our company has a web application product. Now, we may have single code repository for all platforms. It will reduce the   development cost, directly.

  • We have high performance applications with huge scalability which means better ROI. Now, we can either have more services from the same hardware resources, or we can get the same services with very fewer hardware resources.

  • It is open source. So, it is free and we are going to have lot of technical resources available. Although, all IDEs like VS 2015 are not free but we can chose one of the many options like Visual Studio Code, or use any editor of your interest, even Notepad with command line through .NET Core SDK.

Cautions while choosing .NET Core 1.0

Obviously, we are going to consider .NET Core as first choice for development framework. But consider the following, before making final decision.

  • At the moment, .NET Core does not have features like: WPF, WCF, WF, Web Forms, Win Forms, and SignalR.
  • It also does not have support for languages: VB.NET, F#.
  • If our project relies on third party components, then make sure those are available for .NET Core too.
  • Please refer to the road map https://github.com/aspnet/Home/wiki/Roadmap for more details about what is coming in features.
  • It does not support a few features, like Code Access Security (CAS).

What is .Net 4.6

.NET 4.6 is the latest and full .NET Framework that is the main development platform for Windows. It is a mature platform having many features including the famous features, like WPF, WCF, WF, ASP.NET (Web Forms), ASP.NET MVC, Win Forms, SignalR, Console Applications and many more. It has the following characteristics,

  • It is successor of .NET 4.5, following a steady path starting from .NET 1.0 since 2002.
  • It is not open source but a proprietary of Microsoft.
  • It is not cross-platform.
  • It has huge set of features and supported languages.