I just got comfortable with Visual Studio 2010, and now Microsoft unveils Visual Studio 2012. New versions of Visual Studio usually coincide with updates to the .NET Framework, and this continues with the release of .NET 4.5 (.NET Framework 4.5). Here's a quick review of what Visual Studio 2012 and .NET 4.5 bring to the table to help you decide if and when you will need it.
.NET Framework 4.5
It seems like only yesterday that I was developing applications with .NET 1.1 -- some of those applications still even have a pulse. The .NET Framework has exploded to include so many technologies (WCF, WPF, ASP.NET, etc.), features, and options that it is unrealistic to expect one developer to know how to use them all. With .NET 4.5, there have been many updates to the core languages, with the asynchronous programming receiving lots of coverage.
The IDEFigure A shows the welcome screen of my Visual Studio Ultimate 2012 installation. Microsoft stated performance improvements are a key goal of Visual Studio 2012; this includes reducing the clutter of the developer's workspace, which theoretically allows them to better focus on their work. The IDE now loads solutions asynchronously with key parts loaded first. Visual Studio 2012 does start up faster than Visual Studio 2010, but I'm not sure Microsoft succeeded in its goal to reduce clutter. The IDE opens with fewer windows like errors, classes, server explorer, and so forth, but these can easily be opened via the View menu, which was an option in previous versions of Visual Studio. There are indeed useful features that are designed to make things like previewing files without opening them easier. Figure A
The Visual Studio Ultimate 2012 welcome page (Click the image to enlarge.)Another interesting feature of Visual Studio 2012 is the inclusion of LightSwitch, Silverlight, and Expression Blend. The first two are project types within the IDE as shown in Figure B (among the many other project options). Expression Blend is installed as a separate application in the Visual Studio 2012 directory, but it is available only for Windows Store app development on Windows 8. Figure B
Options for creating a new Web application in Visual Studio 2012 (Click the image to enlarge.)Figure C shows an ASP.NET Web Pages project opened in Visual Studio 2012. It is not a major shift from Visual Studio 2010, but you may notice the browser and DocType options just below the main menu. For this project, Google Chrome is selected as the target browser, but this drop-down list is populated with the browsers installed on the development machine so you can test with a variety of browsers. The DocType allows you to choose the target standard; HTML5 is the default for new projects, but you can target others depending on the project. In the IDE, you might also notice the menu options along the top -- Website, Build, Debug, Team, SQL, Tools, and more; these options may change depending on the version of Visual Studio installed, but they do give a glimpse of the many things you can do within Visual Studio 2012. Figure C
Working with an ASP.NET Web Pages 2 project within Visual Studio 2012 (Click the image to enlarge.)
Integration with other Microsoft products
A key aspect of developing with Microsoft technologies is the tight integration with other Microsoft products. Visual Studio 2012 simplifies this by providing the environment to build applications that use these products. The following list provides a sampling of the possibilities:
- PowerPoint: Use PowerPoint to begin the development process according to Agile methods with storyboarding (Microsoft has wholeheartedly embraced Agile). PowerPoint Storyboarding is a selection in the Visual Studio 2012 installation folder. In addition to PowerPoint, the complete Microsoft Office suite is available programmatically to use as needed in your code.
- Windows 8: Build applications for the new version of Windows.
- Windows Phone: Visual Studio 2012 allows you to target multiple platforms such as Windows Phone.
- SharePoint: Visual Studio 2012 allows you to build and test SharePoint applications.
- Team Foundation Server (TFS) 2012: Large scale projects require teamwork and source code control, both of which are readily provided in TFS 2012, which seamlessly integrates with Visual Studio 2012.
- System Center 2012: This can be used with TFS 2012 to automate the identification of production errors/bugs and to create tasks to fix these issues.
When to pull the trigger
Purchasing and learning a new product is resource intensive, so every situation is unique. I am still test driving Visual Studio 2012 while using Visual Studio 2010 on existing projects, but the move to Visual Studio 2012 doesn't seem like a complicated process -- I can still target previous versions of the .NET Framework on a project-by-project basis. There are various versions of Visual Studio 2012 -- Visual Studio Ultimate 2012 with MSDN, Visual Studio Premium 2012 with MSDN, Visual Studio Test Pro 2012 with MSDN, Visual Studio Pro 2012 with MSDN, and Visual Studio Pro 2012 -- so you need to consider your needs before pulling the trigger on moving to it.
Visual Studio 2012 seems like other Microsoft products in that the numerous features can be a bit overwhelming. A good example is Microsoft Word; how many people really need all of the bells and whistles available? Most users just need to create simple documents. The same can be said for Visual Studio; many developers need to build basic applications and don't need the extras. Microsoft seems to recognize this with the freely available and simplified Web Matrix tool for building Web applications. Also, third-party tools like SharpDevelop provide alternatives as well.Keep your engineering skills up to date by signing up for TechRepublic's free Software Engineer newsletter, delivered each Tuesday.
Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a production environment on a daily basis.