Here's how Microsoft evolved to become a leader in cloud platforms and open-source frameworks.The latest version of Microsoft’s server-side development framework is called ASP.NET Core MVC 2. It is a terrible, terrible name: long, awkward, and oddly capitalized. But it reveals how server-side applications have evolved and also shows the gradual transformation of Microsoft, from a protectionist monopoly into an engaged and fierce competitor in a world of open-source frameworks and cloud platforms.
Server-side development is as old as the web, allowing web servers to prevent customized content to different users. Microsoft came late to server-side development, having dismissed the Internet as a short-term fad. Microsoft realized that the web was a threat to its business when it saw its corporate customers using web technologies to develop Intranet applications that had previously been created using its proprietary tools. To recapture this market, Microsoft released Active Server Pages (ASP), which relies on Microsoft servers, Microsoft development tools, Microsoft programming languages and produced web content that would only work properly in Microsoft web browsers running on Microsoft operating systems. These were the dark days when Microsoft paid lip-service to web standard while subverting and disrupting them.
The future of web development is bright and exciting. Microsoft - the new Microsoft - is a force to be reckoned with as it drives forward its Azure cloud platform and its new generation of tools and frameworks.
The turning point for Microsoft was when open-source development tools became a better and cheaper alternative to ASP.NET. The rapid adoption of Ruby on Rails disrupted the market for proprietary tools and its flexible approach embraced the nature of web technologies, making ASP.NET look dated and clunky. Microsoft responded by releasing ASP.NET MVC, which introduced the well-regarded Model-View-Controller pattern adopted by Ruby on Rails into the ASP.NET world. This was the first glimmers of change from the all-controlling Microsoft mindset. The source code for ASP.NET MVC was available, which was a step in the right direction, but Microsoft was initially unwilling to accept public contributions.
ASP.NET MVC was built on the foundation of the original ASP.NET, which meant it inherited odd behaviors and features. And it was tied to the .NET framework, which means that releases had to be coordinated across Microsoft so that changes were slow and always behind the rest of the market.
Featured image: Photo by Arif Riyanto. Available on Unsplash via the Unsplash License.
With the commercial success of its Azure cloud platform, Microsoft has become a different company that doesn’t try to fence in its customers or lock them into specific tools. The .NET platform has evolved into .NET Core, which is a cross-platform open-source foundation that supports a range of languages and which can be deployed to Linux servers - something that would have been unthinkable just a few years ago. ASP.NET MVC has become ASP.NET Core MVC and its second version - ASP.NET Core MVC 2 - embraces web standards and common conventions to ease the development of complex and scalable applications. The entire software stack has been released as open-source projects that accept public contributions and can be used without charge. Microsoft still sells development tools to its corporate customers but it has also released editions that are free to use and created an entirely free line of open-source tools that have become the equals of their commercial counterparts.
The evolution from ASP to ASP.NET Core MVC 2 is the evolution of Microsoft’s thinking about development, charting a path from the fear of competition to a philosophy of collaboration and coexistence. This has been possible because Microsoft no longer relies on tool and server sales for its income and its cloud platform revenues provide the incentive to encourage developers to use its tools, rather than fighting to stop them moving elsewhere.
The evolution of Microsoft mirrors the evolution of the web. When Microsoft introduced ASP, web applications were deployed to private servers in private data centers, where it was possible - should you be so inclined - to touch the physical hardware responsible for an application. As the web matured, so did the infrastructure, with servers capable of hosting so many applications that it made commercial sense to share with others, first from the same company and, eventually, with the wider world. From this scale comes today’s cloud, which allows companies to run applications cheaply and without even knowing exactly where they reside.
The future of web development is bright and exciting. Microsoft - the new Microsoft - is a force to be reckoned with as it drives forward its Azure cloud platform and its new generation of tools and frameworks. Today, the key competition is to offer the best cloud platform and of Microsoft’s strategy is to offer tools and frameworks for developers in order to encourage development, rather than control it. The result is a better experience for developers, lower costs and a better web for everyone.
The path from ASP to ASP.NET Core MVC 2 has been a long one but the result is a powerful framework for developing rich applications that can be deployed to any platform or public cloud. Pro ASP.NET Core MVC 2 shows readers how to create those applications, starting from the basics and diving deep into the most advanced features. If only Microsoft could do something about the terrible, terrible name.