Last month, Microsoft released the latest edition of their computer programming software suite – Visual Studio. This is the first release of Visual Studio since Microsoft released ASP.Net Core last year. ASP.Net Core is a major rewrite of their flagship web development framework.
Whilst there have been improvements across the board, the most dramatic has been the incredible increase in performance.
Web development frameworks are always a balance between features and performance. The more features a framework has, and the more amenable it is to rapid software development, the more the application performance suffers. ASP.Net has always performed well in this regard. Despite being arguably the most fully featured framework, it has performed well; beating many less powerful frameworks for performance.
In the past, the choice has been relatively clear cut. If you had a need for performance above all else: go Java. If you needed rapid development: go PHP. ASP.Net sat in the middle ground; a nice balance between the two.
However, independent tests by TechEmpower have shown ASP.Net Core to be thirty-six times more capable at serving standard website requests than its predecessor (ASP.Net 4.6). This makes ASP.Net Core the fastest mainstream web development framework available today – shoving Java Servlets into second place. As TechEmpower put it: ASP.Net Core is “like an F1 car that anyone can drive”.
Whilst PHP is still the clear-cut choice for websites that don’t have a massive number of visitors or a requirement for a lot of complicated computer processing – the prime candidate for high-performance websites has swung away from Java to ASP.Net.
So, apart from jaw-dropping performance improvements…
What’s new in ASP.Net Core?
Multi-platform: ASP.Net can now run on a wide range of operating systems and devices. Previously it was mainly limited to Microsoft Windows Servers running on PC Architecture. Now it can run on Windows, Mac and Linux, and, thanks to Microsoft’s acquisition of Xamarin last year, Visual Studio now supports simultaneous mobile app development on iOS, Android and Windows 10 Mobile.
Open Source: The entire source code has been released under the Apache 2.0 licence, which is approved by the Free Software Foundation as a free and open source licence. This means that developers are free to extend and improve the framework themselves without needing permission from Microsoft and then release improved versions of it. This could potentially improve the rate in which new features and improvements are added to ASP.Net Core in the future.
Dependency Injection as standard: Dependency Injection (DI) is a programming methodology that makes computer code easy to modify and easy to test for bugs. It’s become so ubiquitous that it’s now considered bad programming practice if you don’t use it. Whilst ASP.Net has, for a long time, supported Microsoft’s own Unity DI framework and third-party DI frameworks, such as the ever popular AutoFac: it has always been an add-on rather than integrated into the design of the framework. This shift makes it easier and quicker to develop modern web applications.
Standardised Modularity: All but the simplest of web applications will use a number of 3rd party add-ons or modules (known as packages) and these are obtained by using what’s known as a Package Manager. Up until now, Microsoft has pushed their own NuGet package manager. With Visual Studio 2017 and ASP.Net core: Bower and Node package managers are integrated as standard with every project. These are much more popular with the wider web development community and it will make the transition to ASP.Net easier for developers used to other frameworks.