Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between Cloud Optimized ASP.Net vNext and the regular version?

I am extremely excited about the recent developments around the ASP.Net platform, mono and open source and I want to start develop applications (I expect mainly API's for mobile applications but also full websites) that can also run on a Linux server. So I am busy installing everything, programming and reading but one thing I keep bumping into as a side note is the fact that the ASP.Net stack you can run on Mac OS X and Linux has a reduced framework, for example on this MSDN blog.

On .NET vNext (Cloud Optimized)

....

Uses a smaller set of framework libraries

I am wondering what the full implications are of this, especially for the specific purpose of creating webpages or API's. What libraries aren't available and which are?

like image 424
Lucas van Dongen Avatar asked Jun 09 '26 07:06

Lucas van Dongen


1 Answers

ASP.NET vNext (the web framework stack) has basically nothing to do with the cloud optimized runtime, it's just another runtime where it can run on.

Traditionally, the .NET CLR was/is installed machine-wide and updating it is painful as it affects basically every application, which means many developers are stuck with an old CLR/.NET Framework.

That's the reason they introduced the cloud optimized runtime (or CoreCLR), with benefits such as being xcopy deployable and more lightweight in general. You use NuGet packages to fetch only the libraries you need, which includes even things such as System.Console.

So in the end, ASP.NET vNext frameworks like MVC or SignalR will run on these runtimes (and Microsoft tests on each of them to ensure they work):

  • Desktop CLR (same one we all know since many years)
  • Mono
  • Cloud-optimized/CoreCLR (the new thing, though based on the work they did with Silverlight)

The cloud-optimized runtime is a Windows-only thing, it doesn't make much sense on Linux/OSX because Mono already gives you most of the benefits like xcopy-deployability. The only thing would be from a feature-completeness point of view, but as I said before Microsoft will test on Mono to make sure it works just fine there.

Sources: https://github.com/aspnet/Testing/issues/34 and http://alxandr.me/2014/06/24/new-blog-vnext-and-some-runting/

Update Nov, 04: to add another source that clarifies confusion about CoreCLR on Linux: in the latest standup (https://www.youtube.com/watch?v=2oafQVI4Lx4#t=706) at 11:45 Damin Edwards says:

CoreCLR runs on Windows. On Linux you use Mono.

Update Nov, 13: Microsoft just open-sourced .NET Core and announced they'll be porting it to Linux/Mac: http://www.hanselman.com/blog/AnnouncingNET2015NETAsOpenSourceNETOnMacAndLinuxAndVisualStudioCommunity.aspx

like image 181
Alexander Köplinger Avatar answered Jun 11 '26 05:06

Alexander Köplinger