Warning: Illegal string offset 'filter' in /var/sites/t/theproactiveprogrammer.com/public_html/wp-includes/taxonomy.php on line 1409
Over the past couple of months Microsoft and other interested parties have been making noises about the forthcoming release of ASP.NET 5. According to Scott Guthrie, this version will be:
…one of the most significant architectural updates we’ve done to ASP.NET
But what exactly is changing, and what does it mean for .NET programmers?
To quote Guthrie again:
we are making ASP.NET leaner, more modular, cross-platform, and cloud optimized
More specifically, some of the features of ASP.NET 5 will be:
- Cross platform support
- A “unified programming model” combining MVC, Web API and Web Pages
- See changes without re-building
- Integrated dependency injection
- Integration with Bower, Grunt and Gulp
- No support for Web Forms or VB.NET
- Tag Helpers
As far as I know there has been no announcement from Microsoft regarding an official release date for ASP.NET 5, however if you want a sneak preview the Visual Studio 2015 Community Technology Preview is available for download now.
Three of the features of ASP.NET 5 which I personally find the most interesting are cross-platform support, seeing changes without rebuilding, and the lack of support for Web Forms and VB.NET.
Probably the most intriguing and exciting feature of ASP.NET 5 is that it will include cross-platform support. What this means is that you will be able to develop ASP.NET applications on a Mac or Linux system, and you will be able to deploy and run ASP.NET applications on a Mac or Linux system.
This is clearly a big deal.
Although there is no indication that Visual Studio 2015 will support operating systems other than Windows, it will be possible to develop and compile ASP.NET applications on Mac OS X or Linux, using an IDE such as those available from OmniSharp.
So what will be the implications of this?
Only time will tell, but it will be interesting to watch the ASP.NET Mac and Linux communities grow over the next few years. I’m sure there will be unique challenges faced by those opting to develop and deploy on non-Windows systems, however I am also confident that with time these will be overcome by Microsoft and the development community.
Opening up ASP.NET to Mac and Linux systems will open the door to complete market domination by Microsoft. Whether they will achieve this is debatable, however never before has it even been a possibility, due to the popularity of Mac and Linux systems and the loyalty of their users. This will also have implications for communities more traditionally associated with programming on Linux, such as the Java, Ruby and Python communities. Will the popularity of these languages suffer over the next few years? It is easy to forget that the world of programming languages is a competitive market, and Microsoft will aggressively chase market domination. To make progress they will of course have to consider the needs and wants of all software developers, and that surely can only be a good thing.
Seeing Changes Without Rebuilding
This is another exciting feature which promises to fundamentally change the way .NET developers work.
As originally predicted by Gordon Moore, processing power continues to increase year upon year, and the implications of this affect pretty much every area of life as we know it, including how we write software. Increased computing power means that it is now feasible for Visual Studio to silently recompile your code in the background when you make a change to your source code, without any noticeable affect to the developer. Hopefully the ASP.NET team at Microsoft will take measures to ensure there is indeed no noticeable impact to the developer. The last thing we want is a community of .NET developers who disable this feature by default.
Eliminating the need for explicit compilation will hopefully allow developers to maintain a better sense of flow and momentum whilst coding, which in turn will allow us to be more creative and produce better code faster. In an increasingly impatient and eager world, I am sure this feature will go down well.
It is worth noting that dynamic compilation is not supported in Debug mode in the Visual Studio 2015 Community Preview, however this will apparently be resolved in a future release.
No Support for Web Forms or VB.NET
This is not something that Microsoft are shouting about, but it would appear that ASP.NET 5 will support neither Web Forms nor VB.NET, at least not in its initial release to market.
I have personally never worked in VB.NET, and have not touched Web Forms for several years, however this news will be unnerving for businesses maintaining large VB.NET or Web Forms codebases. There will be no real immediate impact of course. More of a worry (for some) is that Microsoft is seemingly voting against these technologies, and therefore as new features and versions of ASP.NET are released in the coming years, it will not be possible to integrate them into these codebases.
This may also alarm developers who consider themselves experts in VB or Web Forms. Whilst it is true that “legacy” systems will of course need to be maintained, it will also be true to say that new systems will largely not be developed in these languages and therefore demand for these skills will wane. Good programmers can of course adapt to different languages, but there is no denying that experience in a particular language is valuable when working in that language. On the other hand, is there any excuse for VB.NET programmers who have never taken a look at the more popular C#, or Web Forms developers who have neglected to learn MVC?
The announcement of a new release in the world of software development is usually met with a mix of excitement and disapproval and ASP.NET 5 is no exception. It is still early days, but this promises to be a particularly significant step for developers and their employers. Personally I look forward to the release to market, and am excited by the new features being promised.
After all, things do tend to get better over time, don’t they?