Dot net core: All you can get: Part 1

Something to warm you up:

Dot net core is the latest member in ASP.NET Framework and also the new kid on the block given that either, I am not writing this article too late or, you are not reading this one too late.

Since I will not be able to cover everything I have in just one article, if I have learnt something from my incredibly long, unending saga of my previous article which is a torturous 8 min read and the only thing that will get you to read it is only and only your never ending zeal to learn something new about JavaScript, I have decided that I am going to split this into small articles to hold on to your interest and also try to make this a bit fun for you too in the process by keeping it short.

If you intend to code and do the examples while you follow this series, I will recommend that you install the .NET Core SDK if you haven’t already. At the time of writing this, the latest dot net core version was 2.0.3, you can download it from the following links here.

Windows:

  1. 64 Bit
  2. 32 Bit

MAC OS:

  1. 64 Bit

Enjoy the upcoming content until your download is finished.


What is all this fuss about?

ASP.NET Core is a cross-platform, high-performance, open source framework for building applications. With ASP.NET Core, you can build

  • Web Application
  • REST API Service
  • Web Service
  • And many more

You can also use your favored development tools that you have been using and develop on Windows, macOS and Linux.


Why to use ASP.NET Core?

ASP.NET Core provides the following benefits:

  • Integration of client side frameworks and dependency managers like ‘bower’.
  • An environment based configuration system.
  • Built-in dependency injection.
  • A super flexible , highly configurable and chainable HTTP request pipeline.
  • Plugin your data interaction using Entity Framework Core.
  • Choose IIS, Nginx, Apache, Docker or self-host your application .

.NET Standard

To put it in simple words, this is a set of libraries widely known as BCLs or Base Class Libraries that any .NET implementation, be it .NET core or Xamarin, has to implement in order to call itself a legit implementation of a .NET Framework and that framework has to abide by all the specifications given in that particular version of the .NET Standard.

.NET Standard is also a .NET stack but you cannot build apps for it, only libraries. The current version of .NET Standard at the time of writing this article is .NET Standard 2.0


Base Class Libraries (BCLs)

BCLs are a set of fundamental APIs in .NET that are independent of any UI framework and contain some primitive types such as I/O, Reflection, Serialization, etc.


Analogy:

Confused? Don’t worry, here is an analogy to help you understand better.

Consider ECMAScript as a .NET Standard and JavaScript as .NET Framework, TypeScript as .NET Core, ActionScript as Xamarin and so on. So if you join the pieces together, you may be able to understand what is described above.


Choosing your development platform

You can choose Visual Studio if you want a full blown IDE. You should use a full blown IDE if:

Small but pressing factors:

  • You don’t have Visual Studio already installed in your system and you just don’t have the disk space to install that multi-gigabyte resource gobbling software.
  • You don’t have Visual Studio already installed and just don’t have the patience to install it while it takes forever to do so (time will depend on the internet speed you are on).
  • You have not decided whether .NET Core is the type of framework you would want to invest your time and energy in.

Big Factors:

  • You are already committed to the development life-cycle in .NET Core.
  • Intend to pursue app development in .NET Core.
  • Intend to build a project in .NET Core and ultimately deploy it.

You can choose any other platform like a code editor and use the Command Line Interface (CLI) to build, install packages and deploy your application. Even if you do not fit into any of the above categories, using Visual Studio should not be a deterrent and even if you fit into one or all of the above categories, you could still choose to not use Visual Studio depending on these factors.

  • Exposure to Visual Studio (or the lack of it).
  • Comfort with command line interfaces.
  • Whether you want to use various plugins and extensions in Visual Studio available for development in .NET Core or for development in usual.