Wednesday, 17 August 2016

What is .Net Core 1.0

.NET Core is a latest and emerging development platform for web applications, services and console applications by Microsoft. It is important to note that it was initially named .NET 5.0 or .NET Core 5.0. By features, it is sub set of .NET 4.6 framework. It offers following matchless features:
  • Open Source
  • Cross Platform (Windows, Linux and Mac)
  • Modular Platform
  • Modern
  • Evolving

Open Source

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

Cross Platform (Windows, Linux and MacOS)

.NET Core is cross platform. So you can build and execute same application code on any operating system of your choice. At the moment 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. And many other advancements like WCF, UWP, F#, Visual Basic and other language support are under process.

Evolving

.NET Core is a new implementation from scratch. It is in its initial phases and it is not complete yet. At the time of this atrial, it only supports C# while Visual Basic and F# are not supported yet, but soon they 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 to create applications having following advantages:
  • Lightweight
  • Performance
  • Scalability
  • Easy to Learn and Easy to Manage
  • Standardized
  • Cost Effective

Lightweight

Due to modular platform design, we include minimum number of modules as per requirements. This make overall package lightweight.

Performance

Being lightweight and having better implementation, .NET Core application is 3 to 8 times faster than its competitor.

Scalability

It is lightweight, having high performance. It is claimed that an application implemented in .NET Core can server more than 20 time of requests per second. Please refer to open source benchmarking project and its details at https://github.com/aspnet/benchmarks.

Easy to Learn and Easy to Manage

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

Standardized

.NET Core provides a preplanned standardized infrastructure through .NET Standard Library. This Standardized infrastructure is 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 by 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 development cost directly.
  • We have high performance applications with huge scalability means better ROI. Now we can either have more services from same hardware resources or we can get 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 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 as development framework. But consider 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 road map https://github.com/aspnet/Home/wiki/Roadmap for more details about what is coming in features.
  • It does not support features like Code Access Security (CAS).

What is .Net 4.6

.NET 4.6 is a latest full .NET Framework and it is main development platform for windows. It is a mature platform having many features including famous features like WPF, WCF, WF, ASP.NET (Web Forms), ASP.NET MVC, Win Forms, SignalR, Console Applications and many more. It has 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 and proprietary of Microsoft.
  • It is not cross platform.
  •  It has huge set of features and supported languages.

2 comments:

  1. Well structured post. However can you please comment on the existing features of .Net Core ? If WPF, WCF are not available right now, then what can we build on .Net Core as for now ?

    ReplyDelete
  2. At the moment, we have ASP.NET (MVC and Web API) and Console Application with C# only. Few more things will be available in near future like SignalR, VB.NET, WCF Client. But many features and framework are in consideration and they may take some more time.

    ReplyDelete