Arthur Wang's Blog
Follow me on
  • My General Blog
  • Software Development
    • Latest Articles on Software Development
    • Complete Resources for Developers >
      • Tutorial Information for Developers
      • .NET Developer Blogs
      • Developer Journals and Magazines
      • Developer's Tools
      • Database Development
      • ​Developer Conference and Events
  • Tech
    • Latest Articles on Technology Development
  • Health
  • Money
  • Services
    • Modern Website Design
    • Web Maintenance of Existing Websites Service
    • Corporate Business Consulting Service
  • About
  • Contact
  • Art
  • 中文部落格

The New ASP.NET 5 is Back to 1.0 and Is it a rename or a reset? (ASP.NET Core 1.0)

2/21/2016

0 Comments

 
Picture
​The ASP.NET 5.0, was suppose to be the successor of ASP.NET 4.6, but all of sudden, the ASP.NET Core 1.0 will be the next version.  This does not sound right if it's done just for the rebranding purpose.  It looks very confusing at first and perhaps this might be just another marketing gimmick for reviving the ASP.NET line of products.  We should look closer to this announcement (January 2016).  
 
This sudden change of name must be resulted from a heated debate within the Microsoft since if you look at the milestone of releases from Beta to RC, you will notice the trend of inevitable change from just merely for enhancing the ASP.NET 4.6 to completely focusing on supporting the cross-platform development on the .NET Core, a complete new framework that was rewritten completely from scratch (no code copying from .NET Framework 4.6).  This tight turn was resulted from the release of Beta7 on 9/27/2015 and onward.  This decision might be painful and could cause confusion, undesired development issues, and potential negative impact to developers by changing from ASP.NET 5 to ASP.NET Core 1.0.  For example, it disrupts the continuity of using the versioning-based NuGet packages since the name has changed.  It may also affect all the libraries in the framework due to namespacing changes.  Inside the Microsoft, they have to do a major refactoring by renaming their internal namespacing before they can release the product and expect to be prefect and error-free.  It is a daunting task to be completed within a short period of time and at the last stage of releasing a major product. 

​When Rebranding Becomes A Necessity
In the recent years, the ecosystem of various mobile devices continues to strive in a very fast pace.  Microsoft not only needs to adapt the changes in the ecosystem, but also quickly to innovate its products in order to stay competitive.   Since November 2014, Microsoft introduces the .NET Core designed to be the foundation of all future .NET platforms with a unprecedented implementation of the open-source development model.  It's a new era where Microsoft has begun to join the communities and offers its modern .NET stack in full open source condition.  The .NET Core is a new .NET framework build from ground up and it is built with the independent of platform in mind and need to be open source.  In addition, due to complicated issues of license and patent in the existing .NET framework since first version, this brand new framework is unable to just borrow the existing code from old framework to the new framework.  It has to have a complete new codebase if this needs to implement as a full open source framework!  Furthermore, since the purpose is to be the cross-platform framework, it must also revamp the process of compilation and execution.  In the old framework, the source code is compiled into Compiled CIL (Common Intermediate Language) code and stored in the CLI (Common Language Infrastructure) assemblies in the format of DLL and EXE files.  Upon execution, the platform-specific CLR (Common Language Runtime) compiles the CIL to machine-readable codes that can then be executed.  In the new framework, .NET Core, instead of using the CLR, it uses CoreCLR to do the execution for the cross-platform .NET programs due to its modular design to work with all platforms including, Linux, Mac OS X, and Universal Windows Platform.  By using NuGet, you can download the CoreCLR runtime along with its CoreFX libraries and then package and deploy them with your application.  In addition, you can optimize the deployment by including only the CoreFx libraries that you need.  This is a great leap since your runtime environment can be at minimal file size and it seems promising for the future tiny devices with unknown file size limit.
 
Consequently, the renaming of ASP.NET 5.0 to ASP.NET Core 1.0 is a must and reasonable.  Besides it is completely new and deserves to have its own timeline, it has a different architectural design which is no longer based on System.Web.dll, the mother of traditional ASP.NET, and it is designed and optimized for the cross-platform and cloud-ready environments.  You can even deploy your ASP.NET web app directly to a Docker platform, a containers-as-a-Service architecture.  The change should be good on all levels.  Now it is just like the old time when ASP.NET came aboard to replace the classic ASP in order to build web applications and not just web sites.  ASP.NET Core is slowly replacing ASP.NET in order to build applications that can run on all platforms, and not just on Microsoft platforms.  Nevertheless, it may be a short-term pain for the confusion and extra works for the developers, but from a long-term perspective, it should be good.
Roadmap of ASP.NET and ASP.NET Core
Will there be ASP.NET 4.7? 
For the future, it is appropriate to ask "Will there be ASP.NET 4.7?" since ASP.NET 4.6 is a mature framework while ASP.NET Core 1.0 does not contain SignalR or Web Pages (a replacement of Web Form) and has only a subset of full framework.  It would be interesting to see if it becomes a dilemma at all. On the one hand, you have ASP.NET Core 1.0 wants to replace the traditional ASP.NET track, but its framework is a strip-down version and lack of full featured like the ASP.NET 4.6.  On the other hand, you don't want to continue to maintain the traditional ASP.NET track since the cross-platform is the future way of application development.  We look forward to see if the ASP.NET 4.6 is kept alive and continues on its traditional path or to be retired soon.
 
The Unpredictable Microsoft Number
This is not the first time Microsoft has hard time to decide its version number.  For example, all of sudden, Windows 10 was released without going from Windows 9.  How about ASP.NET vNext?  Have you heard it before? I heard and was informed by the Microsoft team during a dev conference.  It was two years ago, about May of 2014, the vNext was suppose to be the next generation of .NET with a design mindset of unifying existing Microsoft technologies like ASP.NET MVC and Web API and hopefully be cross platform.  Anyways, Microsoft quietly dropped "vNext" and renamed to ASP.NET 5.  Well, I guess when everyone cannot agree on things, it's time to hit the reset button.  I believed that ASP.NET Core 1.0 will be permanent and stay with us for a long time.
 
Here are the details of the changes:
  • ASP.NET 5 is now ASP.NET Core 1.0
  • .NET Core 5 is now .NET Core 1.0
  • Entity Framework 7 is now Entity Framework Core 1.0 
Read Latest Software Development Articles  Read Latest Tech Articles

Picture
Let's Connect!

Arthur Wang

​Arthur is a software developer at his core and has been developing web applications and leading development projects since 2000.  He enjoys learning new technologies and writing about them.


If you would like to read more articles written by Arthur, please subscribe the weekly newsletter from Uniting Digital since he is also a content contributor for the site.
Subscribe

0 Comments



Leave a Reply.

    Arthur Wang

    @ArthurWangLA
    MCSD App Builder
    MCSD Web Applications
    ​Member of Windows Insider Program & HoloLens Developer Community & Dev Center Insider Program

    Over 17+ years of  experience in web-based software development & management.  Specialized in Microsoft technology with c# language and its architecture design.  MCSD, MCSE, Microsoft Specialist, MCP + Internet, and B.S. from UCLA

    Archives

    August 2018
    March 2018
    January 2017
    December 2016
    May 2016
    April 2016
    March 2016
    February 2016
    April 2014

    Categories

    All
    API
    Arduino
    ASP.NET
    Cognitive
    CSS
    Database
    Deep Learning
    DevOps
    Electronics
    Flexbox
    HTML5
    IoT
    Katana
    Machine Learning
    Management
    .NET
    .NET Core
    Neural Network
    OWIN
    Programming
    Programming Tools
    Recognition
    Security
    SQL Server
    UWP
    Visual Studio
    Web API
    Web Developer

    RSS Feed

    Latest Articles

© 2014-2020 ArthurWiz.com All Rights reserved. | Home | About |
Protected by Copyscape