Visual Studio 2012: 50 Shades of Grey by Microsoft
It's a good thing looks aren't that important, right?
.NET demoted for native code
Another form of Azure app uses the Infrastructure as a Service (IaaS) model. Create an ordinary ASP.NET application, then hit Publish, and you can choose Azure as a target. You can download a publishing profile from the new Azure portal, import into Visual Studio, and then it just works.
One consequence of the Windows client reset is that native code has been brought to the fore, while .NET has become one among several options. This means that Visual C++ in Visual Studio 2012 is increasingly significant. The main changes are in two areas.
First, there is support for the Windows Runtime via C++ Component Extensions (C++/CX), which lets you access the Windows Runtime API and build components that can be consumed by any Windows Runtime language. You can use regular C++ classes in C++/CX as long as they do not have public accessibility. You can also create DirectX 2D and 3D apps for the Windows Runtime.
Azure deployment is easier, but there's inconsistency between project types
Second, there is some support for C++ 11, though the extent of it is disappointing. The supported features are listed here. You do get features including lambdas, rvalue references, strongly-typed enums, and range-based for loops. Variadic (variable number of arguments) templates are missing though, along with numerous other features. Look elsewhere, for example to GCC, Clang or Intel compilers, for better C++ 11 implementations. The C++ runtime and libraries in Visual Studio 2012 do not support Windows XP, but are being revised to do so. In the meantime, you can use the Visual Studio 2012 compiler from the new IDE via a project setting, provided Visual Studio 2010 is also installed.
There is also a new unit test framework for C++, C++ AMP (Accelerated Massive Parallelism) for general-purpose GPU programming, and better support for parallel programming both in the libraries and IDE.
Visual Studio also includes LightSwitch, a remarkable tool that lets you start with a database design on top of which you build a complete application by adding metadata and code snippets. It is not quite model-driven development but comes close, generating multi-tier applications automatically. The main snags with LightSwitch are first, that it is harder to grok than old enemies like Access, and second, that it generates Silverlight applications which are last year’s thing. Microsoft is releasing an HTML code generator for LightSwitch which may revive interest. It deserves attention, being innovative and promising, but with so much else for Microsoft-platform developers to take in, LightSwitch may not get what it merits.
The help engine in Visual Studio 2012 is the best yet. Context-sensitive help works with both local and web-based documentation, and the document viewer is fast and responsive.
Visual Studio comes in four editions, which run on 32-bit or 64-bit Windows 7 or higher, though for Windows 8 development you need Windows 8.
Professional is the base edition and supports all types of development, but lacks most ALM features other than Unit tests, though Team Foundation Server Express is available for source code control and collaboration. The Premium edition adds code metrics, code coverage, UI testing, lab management for automated build, deploy and debug, Code Clone for finding needlessly repeated code, and ALM features – including backlog management, sprint planning and PowerPoint storyboarding.
LightSwitch application builder: Silverlight now but HTML is promised
Visual Studio Ultimate adds IntelliTrace historical debugging (the ability to capture a trace and set breakpoints in code after the event), web load testing and UML diagramming. All of these developer tools come with Blend.
Finally, the Test Professional edition supports most test features but lacks development tools. Some MSDN subscriptions provide Visual Studio as part of the bundle, alongside free software for test and development.
The is also an Express series: Web, Windows, or Team Foundation Server Express provides ALM tools including source code control and build automation for teams of up to five developers. Visual Studio Express for Windows only supports Windows Runtime applications – that is, the “Modern UI” or the platform formerly known as Metro – but Microsoft has promised a further edition which will support Desktop applications coded in C++, C# or Visual Basic.