After having created waves in the world of web development frameworks, Microsoft recently announced the next generation of its very popular series of ASP.NET frameworks. Named as ASP.NET vNext, this framework includes a brand new cloud optimized version of the Web API3, SignalR3, MVC6, Web Pages4 and Entity Framework7. Through this blog, I’ll be throwing some light on the unique and highly impressive features of ASP.NET vNext and MVC6.
ASP.NET vNext – What new is in store for you?
One of the greatest changes introduced into ASP.NET vNext is the collaboration with MVC. In simple words, the ASP.NET vNext will come with MVC6 wherein the MVC, Web API and web pages framework will be merged into a single framework. This new framework has been named as MVC6. Being a unified framework, MVC6 will also include a unified controller and routing concepts. That means, now even a single controller can easily return MNC views in addition to Web API responses, all on the same HTTP verb.
ASP.NET vNext – Features you’d like to know
- NET vNext comprises of cloud-optimized versions of Web API, MVC, Entity framework, Web Pages and SignalR.
- Web API, MVC and web pages have been merged into a single framework that’s called MVC6. That means, now the ASP.NET developers will have an easy access to a common programming approach for creating websites and other web services.
- MVC6 doesn’t have any dependency on System.Web due to its expensive nature. Unlike the typical http Context object graph which consumes over 30K memory per request, the all-new MVC6 consumes roughly 2K memory on a per request basis. In other words, MVC6 serves as a learner framework that comes with a faster startup time and an impressively reduced memory consumption.
- NET vNext apps are cloud-compatible by design. Moreover, services such as caching and session state can easily adjust their behavior as per the hosting environment which is either a cloud or the conventional one. With a in-built dependency injection feature, ASP.NET vNext will allow your apps to be implemented in the right way for both; the cloud as well as traditional hosting environment. Thus, it would become simpler for you to move the apps from one location to another within the cloud architecture; without the need for changing the code.
- NET vNext comes equipped with a new project extension called Project.json that’s utilized for listing all the dependencies for the application and the startup class.
- Since ASP.NET vNext is host agnostic, you can easily host all your Asp.net vNext apps in the IIS or choose to self-host the apps using a custom hosting process.
- Since ASP.NET vNext supports side-by-side deployment,you can easily deploy all your dependencies by uploading the bin files to the hosting server. This is applicable in case your app is using a cloud-optimized subset of .net vNext. In this, you can easily update specific apps without disturbing other applications available on the server.
MVC6- Built on the ‘Pay As You Go’ philosophy
The ‘Pay As You Go’ philosophy depicts the fact that each and every feature that you intend to use with ASP.NET vNext has been explicitly turned on into the application startup routine, serving the static files that need to call IBuilder.UseStaticFiles. Talking about routing, it is being setup during the MVC6 configuration progress. Here, it is also interesting to note that all MVC6 routers are similar but not identical. For example, unlike in the case of MVC5, where you need to use UrlParameter.Optional value for adding a question mark to a fragment, the same task can be done in MVC6 without the need for any such UrlParameter.Optional value.
Better error detection comes by default with ASP.NET vNext framework
Since the build process doesn’t build anything in ASP.NET vNext, there are better chances of ensuring zero presence of errors or warnings that need to be paid heed to. Since no binaries are generated in ASP.NET vNext, the code can be easily compiled on as-needed basis, quite similar to the traditional use of ASP.NET web pages. This in a way also allows for faster iterations in case of larger websites. On the contrary, if you’re inclined on deploying the actual binaries on a server, all you need to do is simply run the package and publish the respective command. There will be several options for you to choose from the source code, enabling you to compile the native apps.
Serving as a cloud-optimized web development framework, ASP.NET vNext allows you to include a copy of the CLR within your website. That means, you’ll no longer need to upgrade the .net on the system just for tweaking a single website. Moreover, you’ll also be able to avail multiple versions of CLR for a range of websites operating adjacent to each other. Bringing convenience into cross platform development has been the sole concern of Microsoft and in-line with this, the company has allowed the developers to deploy ASP.NET vNext projects without the need for any additional software programs like Visual Studio and Windows, thereby rendering complete peace of mind during the web development process.