Evolution of .NET and Microsoft
.NET Framework is a software framework developed by Microsoft that is evolving to strengthen their cloud service platform as well as meet the demands of users outside their own operating system (OS).
"Our industry does not respect tradition - it only respects innovation." Satya Nadella wrote this in an email to his employees on his first day as CEO of Microsoft. Since taking the helm, he has strived to keep Microsoft on course with that statement. As Microsoft evolves and innovates, so does its development platform, the .NET Framework.
.NET Framework is a software framework developed by Microsoft that's been available solely on Microsoft Windows—that is, up until late 2014. In November 2014, Microsoft announced .NET Core, an open source, modular development platform that is designed to be an evolution of the .NET platform. Adding emphasis to the open source transition, the .NET Foundation was announced as an, "Independent organization to foster open development and collaboration around the .NET ecosystem." Microsoft declared they've contributed .NET Core to the .NET Foundation along with other platforms and projects.
What is .NET Core? .NET Core is designed to to provide a high-quality open source .NET implementation that can be utilized on Microsoft Windows, Mac OS X, and Linux. .NET Core does not include everything the .NET Framework does, it offers a subset of functionality—the core components, hence the name. .NET Core is cloud-optimized and its value is predominantly useful for enterprise back-ends. .NET is a framework utilized by many of the applications and web sites likely used today. Additionally, if a company has applications developed in-house, there's a good chance they're using .NET as well.
.NET Core is open source and available on GitHub. All ongoing development is visible for anyone with a web browser and Internet. .NET Core isn't owned by a single corporation. Microsoft is a heavy contributor to the growth of the platform; however, they are not the only contributors. A community of developers are actively participating the development of .NET Core, from submitting bugs to code changes.
Is .NET Core replacing .NET Framework? No, it isn't. Although .NET Core is branded as the evolution of .NET, the .NET Framework is still relevant and is promised to remain so going forward. The latest version of .NET Core available was release candidate 1 (RC1) with a full version release date of TBD. Additionally, .NET Framework continues to remain the platform of choice for rich desktop applications. ASP.NET, a framework for building web applications, is currently the only cross-platform framework that provides a user experience that's powered by .NET Core, (referred to as ASP.NET Core).
Microsoft will continue to release updates to .NET Framework, borrowing from .NET Core where applicable, and continuing to enhance offerings that are unique to the .NET Framework. As for the prolonged future, it remains unclear whether the .NET Framework will continue to exist or will be surpassed by .NET Core and subsequently mothballed.
How does Microsoft benefit from this? Outside of appealing to developers, this is likely one of many movements to strengthen Azure, Microsoft's cloud service platform. Nadella stated in the previously mentioned email "our job is to ensure that Microsoft thrives in a mobile and cloud-first world." A statement that isn't all that surprising considering he was the Executive Vice President of Microsoft's Cloud and Enterprise group before coming CEO. Amazon continues to rule the cloud kingdom and Linux distributions are the preferred operating system by their users. Mark Russinovich, Microsoft Azure's chief technology officer (CTO), was quoted in late 2015 as stating, "Last fall one in five instances on Azure were Linux. Today, about a year later, one in four instances are Linux."
.NET Core is designed to open the door for .NET applications that are capable of running on a Linux operating system, one of many steps Microsoft is taking to expand their reach beyond the Windows garden. SQL Server 2016 will run on Linux in 2017. Microsoft Windows 10 will be able to run Ubuntu Linux software. Visual Studio can be used to develop iOS and Android applications, (at no additional cost). Microsoft knows cloud computing continues to rise and needs to bring Azure on par with Amazon—this means expanding their horizons beyond the Windows operating system.
As smart manufacturing and the Industrial Internet of Things (IIoT) continue to dominate newsletters, blogs, and sales pitches, it's obvious the digital landscape for manufacturing is evolving. Microsoft's movements with .NET and their other offerings looks to maintain their relevancy in the enterprise and are designed to offer a smoother transition to those who are already invested in Microsoft's ecosystem.
This post was written by Bryan Cook. Bryan is a senior developer at Maverick Technologies, a leading automation solutions provider offering industrial automation, strategic manufacturing, and enterprise integration services for the process industries. Maverick delivers expertise and consulting in a wide variety of areas including industrial automation controls, distributed control systems, manufacturing execution systems, operational strategy, business process optimization and more.
Maverick Technologies is a CSIA member as of 4/26/2016