Last month I was fortunate enough to attend Microsoft’s //BUILD/ conference in Anaheim, CA. Those of you who follow my blog on Simple Talk will have noticed that I’ve started to post up my notes in bitesized (ish) chunks.
These are exciting times to be a .NET developer and its easy to see that the .NET platform, along with related technologies such as WinRT and Metro UI, make this arguably the most compelling software development platform available for any form factor or OS. Even the Silverlight developers amongst you shouldn’t be downhearted because although Silverlight may be entering the twilight of its existence (sorry) you’re all in a great position to use your existing skills to develop for Metro and Windows 8 – in fact you probably already have a leg up on the rest of us.
So what does this all mean for Reflector?
Again, exciting times and lots of opportunity: we’ve already started adding support for this new platform.
We’ve also added support for the WinMD file format that exposes the meta-data of the WinRT APIs and other WinRT components, including those you develop yourself. For WinRT components developed using a managed language such as C# or VB the WinMD files also contain the code for the component, which you can decompile as you would in any other assembly. In general then WinMD files are analagous to the reference assemblies that ship with the .NET framework, although they may also contain code for custom components developed in a managed language.
That’s just the beginning though. In the coming months you will see support for:
- C# 5 and VB 11, particularly async, which is the key feature of these new language versions and makes writing multi-threaded code that needs to do work in the background a cinch. All the complexity is hidden away behind the scenes by the compiler, which generates a callback based state machine to do the background work. Reflector will be able to build a model of this state machine and use that to regenerate your original C# or VB code.
- Visual Studio 11 will be supported by a new add-in targeted specifically at VS2010 and VS11 which provides more seamless and much easier to use decompilation and debugging support from within your IDE. With this we will focus on the fundamentals of performance and resource usage to ensure the best possible experience with Reflector for Visual Studio users. We plan to maintain support for VS2005 and 2008 with the existing Reflector add-in.
These enhancements will allow us to provide the best support possible for inspecting new types in the .NET Framework 4.5, ASP.NET, ASP.NET MVC 3, Silverlight 5, and other .NET based technology updates.
We want to give you access to all of this as soon as possible so, not only will we continue to put out regular early access builds, but we will continue to put out regular full releases as soon as we think the new functionality in each is ready for prime-time.
As ever, we’re eager to hear from you about how we can make Reflector even better, and we’ll be on the look out for more ways in which we can improve the experience for Metro app developers.
I have one more piece of news to share, which is that this will sadly be my final post to the .NET Reflector blog. It’s been a fun ride since we bought Reflector from Lutz Roeder back in 2008, and it’s been a great privilege to work full time on the most widely used .NET developer tool after Visual Studio itself full time for the past year, but it also feels like the right time to move on to a new challenge now that Reflector is on a very strong footing for the future and has a fantastically talented technical and commercial team working on it.
From Monday I will be Red Gate’s new technical recruiter so if you’re eligible to work in the EU and have a primal yearning to create the best software in the world, check out our jobs page at http://www.red-gate.com/our-company/careers/current-opportunities/ and send in your application.