ASP.NET 5 aka vNext

Upcoming ASP.NET 5 (also known as vNext) changes .NET-web development playground quite a bit. As an ASP.NET developer I'm used to get a ready compound set of tools which are extendable with Nuget packages. In vNext this is not a case anymore. vNext core is a small subset of old ASP.NET. For instance it doesn't support Web Forms anymore, so that piece of legacy code is dropped. It has also much smaller HTTP request handling (~3kb vs 30kb in ASP.NET) which means improved performance. vNext architecture is based on small modules which are called middleware components. Middleware components are pieces of code which can affect HTTP responses and do general things. For example vNext contains middleware component for CORS support: https://github.com/aspnet/cors.

Middleware components are easy to implement as seen in this good example: http://derpturkey.com/asp-net-5-custom-middlware/

vNext in practice

In practice vNext development doesn't different much from old ASP.NET. You will still probably use Visual Studio, create controllers and pages like before. However there are slight changes which tells you that you are developing vNext project:

Services

Dependency injection is strongly baked into vNext. Dependency injection was supported in previous versions of ASP.NET also, but in vNext you can use it throughout the entire stack. A minimalistic DI container is provided out of the box, but vNext leaves door open for custom containers.

All the framework components uses same IOC so its easy to flow dependencies through stack.

Nice Middleware support

Middleware usage is very easy in vNext. For example to add CORS support, just use CORS middleware!

Add service call into startup method:
services.AddCors();

And add service module to project.json: Microsoft.AspNet.Cors

Project.json

Project.json is a new "csproj" file for vNext projects. In Visual Studio the solution explorer looks the same than in ASP.NET, but the folder is lacking .csproj file. Nice!

Project.json file contains almost all the information need to run the project like webroot, version, dependencies, commands, frameworks, exclude, packExclude and scripts. However it doesn't contain list of files which are used in project (which is huge improvement).

Visual Studio is synchronized with project.json file, so you can change it manually or through Visual Studio (like add a reference) and it always presents the current situation.

When vNext is released?

Well according to vNexts roadmap (https://github.com/aspnet/Home/wiki/Roadmap) in Github, the release should happen at Q1/2016.


3 comments:

  1. nic post..
    http://mkniit.blogspot.in

    ReplyDelete
    Replies
    1. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging. If anyone wants to become a .Net developer learn from Dot Net Training in Chennai. or learn thru Dot Net Training in Chennai. Nowadays Dot Net has tons of job opportunities on various vertical industry.
      or Javascript Training in Chennai. Nowadays JavaScript has tons of job opportunities on various vertical industry.

      Delete
  2. This is highly informatics, crisp and clear. I think that everything has been described in systematic manner so that reader could get maximum information and learn many things.
    Web development Company in India Company | Web development Company Bangalore
    Web Development Company in Bangalore | Responsive Web development

    ReplyDelete