It feels as if Visual Studio 2008 has only been out for a few months, but I've actually been using it for almost a year-and-a-half now. This means that it comes as no surprise that Microsoft has just released a public beta of Visual Studio 2010 and .NET Framework (FX) 4.0. Sadly, as with most new releases, there are entirely too many improvements, changes, and facets to easily cover in a single briefing, but what follows is a quick round-up of some of the changes and developments that you may be interested in.
The Long Road to Visual Studio 2010 and .NET FX 4.0
Overall, what's great about Visual Studio 2010 is that it's mostly a collection of improvements and additions to what we’re already used to. There aren’t many complete rewrites or changes to the way we've all been doing things (or learning to do things with previous releases). As such, that means that the large majority of what Visual Studio 2010 offers should be much easier for developers and organizations to adopt and won't come with a huge learning curve.
As S. Somasegar outlined in his recent blog post, beta 1 of Visual Studio 2010 was made available to MSDN subscribers earlier this week, and was slated to be publically accessible by Wednesday. For a high-level overview of Visual Studio 2010, check out the Official Visual Studio 2010 home page, where you can also download a great 11-page .PDF that outlines some of the major changes and areas of focus for this release.
Core .NET FX 4.0 Changes and Improvements
In terms of underlying framework improvements, there are a number benefits that .NET FX 4.0 will bring to the table. One of the most talked about is integrated support for Parallel Extensions (also known as Parallel Framework Extensions—PFX)- which will become more and more important to developers in all walks of life over the next few years as multi-core processors gradually take over the entire planet.
.NET FX 4.0 will also include improvements to Windows Communication Foundation (WCF), and significant improvements for Windows Workflow Foundation (or WF) and modeling. There will also be some additional UI-driven capabilities designed to improve user experiences when working with Windows Presentation Foundation (WPF), which is critically important because Visual Studio 2010 is implemented in WPF itself. Furthermore, the Managed Extensibility Framework looks to provide some exciting options going forward, and aspects of it have been integrated into Visual Studio 2010 and .NET FX 4.0 as well.
Of course, .NET FX 4.0 also means that we'll be seeing the second release of the Entity Framework (EF) 4.0, which brings some new improvements as well. In a similar vein, there will also be improved support for more direct integration with heterogeneous database platforms as well - both from Microsoft and from third parties.
There's obviously a lot of buzz about cloud computing, and Microsoft is both helping to build that buzz and capitalizing on it with their continued focus on Azure Services. As such, it should come as no surprise that Visual Studio 2010 will feature increased support and capabilities for developing cloud-based solutions. In fact, it's the first thing that Microsoft's 11-page introduction to Visual Studio 2010 mentions. (Personally, I think Cloud-based services and development make a ton of sense, but I think that industry pundits who zealously claim that the cloud will replace traditional computing infrastructure would do well to study how VHS didn't replace cinema but instead just provided another, well-received, option for consumers.)
ASP.NET, MVC, and Silverlight
Of course, there are some very big improvements in store for ASP.NET 4.0 which are very nicely and succinctly covered both in a great white-paper on the ASP.NET website and in a Mix'09 presentation given by Stephan Walther. Most of these changes though (with the exception of changes to Core Services , Designer and JS IntelliSense Improvements, and the new Deployment capabilities) target ASP.NET Webforms. So if you're looking for MVC improvements, just remember that MVC 1.0 just barely shipped, and that for now it looks like MVC development is effectively out of band, so we should see some improvements a bit further down the road. The short story though is that there are some very significant improvements in store for Webforms developers, along with major improvements headed our way in terms of deployment capabilities, including the much anticipated capability to do web.config transformations in order to handle deployment and testing scenarios in much easier fashion (so make sure to read up on these new developments if you're a web developer.)
As with ASP.NET MVC integration with the current VS 2010 beta, some folks on newsgroups are reporting problems getting Silverlight 2 projects working correctly - but my guess is that published work-arounds should smooth that pain in the next few days. Otherwise, there are also lots of great improvements for developers to look forward to when it comes to Silverlight development as well.
SharePoint and Office Improvements
Though I haven't done much with it lately, there's plenty of buzz surrounding SharePoint development of late as SharePoint continues to manifest itself as a great platform for business-driven development. Accordingly, it comes as no surprise that Visual Studio 2010 includes a number of SharePoint tooling improvements as well as an increased number of project templates and other enhancements aimed at extensibility and productivity.
In a similar vein, Microsoft Office development will see improvements as well with Visual Studio 2010, which should make a number of the more troublesome, historical, aspects of building and deploying Office applications much easier.
Visual Studio and Team System Improvements
Of course, it stands to reason that we should expect some new Code Editing capabilities as well. And while there are a new coding improvements, the primary focus of VS 2010 in terms of boosting overall developer productivity seems very heavily centered on facilitating improved support for Test Driven Development by virtue of making it much easier for developers to keep tabs of what should be tested, and by providing them guidance and increased ease-of-access to creating testing structures for their code (as the .pdf available on the Visual Studio 2010 homepage covers in more depth).
In playing around with the Beta, I've also got to say that I absolutely love the new feel and look of the UI. Visual Studio 2005 and 2008 both feltl like they were very well done and did a great job of offering enough eye-candy to make staring at Visual Studio for hours on end a pleasure instead of a pain. Visual Studio 2010 takes that to the next level with a WPF-based UP and new 'darker' backgrounds and empty work areas that give the whole IDE a much more soothing and appealing feeling.
There is also an intriguing bit of new support for Lab Management to make it easier for testers and QA folks to create and manage full-blown testing environments. Obviously, this functionality is heavily based upon virtualization, and appears to be based on a response to VMware's Lab Manager, but with more of a developer-centric focus. It will be interesting to see what kind of adoption this solution enjoys, and whether it ends up being viable and easy to use, or whether it ends up being a major pain to interact with.
The Tip of the Iceberg
Of course, I only scratched the surface here with the links I've provided, but there's plenty enough information to keep you busy learning about new features, even if you were already familiar with a bunch of the new directions and features that were headed our way. If you think I've left something out, feel free to contact me, and I'll try to address it down the road.