2012 is a big year for Microsoft, with a number of big product launches happening. SQL Server 2012 is out, there’s this little thing called Windows 8, and not to leave the developers out of the fun, we have Visual Studio 11 and .NET 4.5 being released as well! They are currently out in Beta, and there are a lot of great new features that are being bundled with these releases. I wanted to highlight a few of them that you should definitely check out.
ASP.NET has become quite fractured in the last few years. Saying you’re developing in ASP.NET might mean Web Forms, MVC, MS Ajax, jQuery, HTML 5, etc. With the next release, there are still a number of options, but Microsoft is trying to pull things together to be more concise – a “One ASP.NET” as Scott Hanselman mentioned in a recent blog post.
One of the major additions is Web API. This is a framework for building HTTP services on top of the .NET framework, and is part of MVC 4. This fantastic feature makes it easy to expose web-based services (but note, these aren’t web-services in the traditional sense) without the overhead of WCF. Plus, it leverages the same development model you use for web applications with MVC 4! In their messaging, Microsoft is pushing the idea that HTTP is a valid application-level protocol, and it will be interesting to see the adoption of this concept once the final version is released. For a good discussion of WebAPI, see Brad Newman’s blog: “ASP.NET MVC 4 Web API: HTTP Isn’t Just For Browsers Anymore” (http://ig.obsglobal.com/2012/03/asp-net-mvc-4-web-api-http-isnt-just-for-browsers-anymore/).
To see a list of all the new features for web developers, go to http://www.asp.net/vnext/overview/whitepapers/whats-new.
WCF is a funny technology, as you can spend just as much time configuring services – if not more – as you do writing code for them. For VS.NET 11 and .NET 4.5, there are some great new productivity features. I want to highlight a couple.
For one, the amount of generated default configuration text is greatly reduced. Instead of putting in a huge block of config that you may not want or that might even set values counterproductive to how your service needs to run, you’ll now see only minimalist config settings by default.
Also (and this is a big one) there’s now intellisense and tool tips INSIDE THE CONFIGURATION FILES! That’s right, you can now get the aid of intellisense as you work within WCF configuration files – greatly reducing the headaches and frustrations typically associated with having to make changes to a WCF service config.
Contrary to what you may have heard, WPF is not dead at all and gets some fantastic feature additions in the next version.
In addition to a stock Ribbon control, performance and UI features are a plenty! There’s this idea of Live Shaping – having data visualization react to modifications in the data. The example given on MSDN is a stock price app (aren’t they always a stock price app?) where when a collection of stock prices change, a datagrid displaying them will automatically re-sort them based on the new values.
Other enhancements include binding to static properties, accessing collections on non-UI threads, and automatically updating the source of a data binding. You can read up on all the improvements to WPF here: http://msdn.microsoft.com/en-us/library/bb613588(v=vs.110).aspx.
VS.NET 11 and .NET 4.5 is Not Just About Metro
Of course, Visual Studio 11 also brings the Metro paradigm to developers in anticipation of Windows 8. But there’s so much more that’s going to be bundled with the development tools and the update to the .NET 4 framework that developers shouldn’t get focussed on the new and shiny. For developers working in traditional web or desktop application and service-based architectures, there are a ton of new features that shouldn’t be missed! I’ve just scratched the surface with what I’ve mentioned in this post, so check out the following links to get more information on what’s coming!
VS.NET 11 Beta - http://www.microsoft.com/visualstudio/11/en-us
What’s New in .NET Framework 4.5 Beta - http://msdn.microsoft.com/en-us/library/ms171868(v=vs.110).aspx