Wednesday, May 30, 2012

What's New in Visual Studio 11

In continuation to my EARLIER POST.....


Visual Studio


Businesses increasingly use custom software to stay competitive. Stakeholders at every level in the business are now critical to ensuring that an application is successful. End users also must be involved to ensure that the application is not only functional but efficient to use and easy to learn. Visual Studio 11 and VisualStudio Team Foundation Server together make it easy to include participants from within and outside of the business during the development process.

Software development is shifting from being primarily an enterprise-driven process to incorporate a consumer focus, resulting in the emergence of a plethora of applications aimed at the consumer market for new device platforms. The explosion of these new device platforms is another major new challenge for developers. Previously, most applications ran either on a server or on a desktop; today, many other platforms are common; smartphones and tablet devices are becoming ubiquitous.

Developers must either create applications that work across multiple platforms with a consistent user experience, or make applications tailored to each platform but implementing consistent business logic. They also need to create a connected experience that allows end users to move seamlessly between platforms and devices.

And for that Microsoft has announced that Visual Studio 11 Beta, Team Foundation Server 11 Beta and .NET Framework 4.5 Beta are now available for download! Please visit the Visual Studio 11 Beta Downloads Page to install the bits today. MSDN Subscribers can access these releases directly from the MSDN Subscriber Download Page. The overview can be found below of the product enhancements you can expect to see in Visual Studio 11 Beta, and recorded a Channel9 video to demonstrate some of them in action.



Visual Studio 11 Features for Platform Development

Windows 8

Windows 8 brings a fresh new experience, where apps are full screen and touch enabled. One of the goals for Visual Studio 11 is to help developers build stunning Metro style apps. When you install Visual Studio 11 Beta with the Windows 8 Consumer Preview, you’ll have an opportunity to try out the new tools, which are designed to help you at each step of the way in your app development. You can start off with one of the ready-made Metro style app templates, available in JavaScript, C++, C# or Visual Basic. Next, use Blend for Visual Studio 11 Beta to style and design your application, whether you’re using HTML or XAML.

Debug locally, on the simulator, or attached to another device, and use the profiling and code analysis tools to monitor your app’s quality. Finally, once your app is ready and the Store becomes available, you’ll be able to use Visual Studio to package and upload your app to the Windows Store.

To learn more about developing Metro style apps, you can visit the Windows Dev Center, download the Metro style app samples, or check out the new Windows 8 app developer blog.





IDE

Visual Studio 11 Beta improves the developer experience in the IDE through reduction and simplification. You can find more information about the changes on the Visual Studio team blog. Beyond the clean and professional look, the overall environment has been streamlined with simplified toolbars, a lightweight Find dialog, and less tab clutter by previewing files rather than opening them during debugging. It’s now easier to manage the environment by rafting tabs on a second monitor, or by searching the IDE for a menu or command.

There are a few language-specific additions, such as C++ code snippets and C++/CLI IntelliSense, as well as C++ code quality tools including code coverage, architecture explorer, and layer diagrams. JavaScript tooling support is also vastly improved, providing a first class experience in Visual Studio with breakpoints, brace matching, Go To Definition, and more.





Languages

Visual Studio 11 includes support in the box for the following languages: C#, Visual Basic, F#, C++ and JavaScript. The Microsoft implementation of JavaScript in Visual Studio 11 is compliant with the ECMAScript 5th Edition language specification. The C++ support in Visual Studio 11 includes the full C++ 11 standard library as well as new language features: stateless lambdas, SCARY iterators, range-based for loops, and scoped enumerations support. Visual C++ 11 also adds seamless access to Windows Runtime components through C++/CX as well as C++ Accelerated Massive Parallelism (C++ AMP), which enables hardware acceleration for the execution of your data parallel C++ code. For C# 5.0 and VB 11.0, the major innovation in this release has been around asynchronous development.

In today’s industry, asynchronous development has become more and more important; however it’s still hard to do. Anders Hejlsberg and team have designed a new language syntax which allows you to write asynchronous C# and VB code that looks a lot like the synchronous version. F# helped inspire this direction, with the async language features it introduced in previous versions. In F# 3.0, the primary focus is information-rich programming, which enables you to program directly against data services, and is made possible by F# type providers and LINQ queries.





Graphics

Visual Studio 11 provides first class support for building graphically rich 2D/3D applications. It brings together the ability to debug DirectX graphics, to design and code DirectX shaders (HLSL), and to inspect and manipulate graphics assets (images and models).





.NET Framework 4.5

In the Common Language Runtime and .NET Framework, there are a number of core improvements around performance, compatibility, garbage collection and other optimizations. There is also significant infrastructure work designed to enable the scenarios described above, such as Metro style app development using C# & VB (which required creating a .NET profile for Metro style apps), and the Async language features for C# & VB (which required creating new Task-returning versions of the .NET asynchronous APIs). TPL Dataflow is a new library in .NET Framework 4.5 for building parallel and concurrent applications.

It builds on the Task type that was introduced in .NET 4.0, yet provides solutions for additional problems like agent-based models. Another addition in .NET 4.5 is portable libraries, which is the recommended way to create managed assemblies that can be referenced and run without modification on a variety of target platforms, including Windows 8, Windows Phone, Silverlight, XBOX 360 and .NET.

Portable libraries existed previously as an add-in to Visual Studio 2010, and are now included as part of Visual Studio 11. For more information on .NET Framework 4.5 (including MEF, Networking, ASP.NET, EF, WPF, WCF, and WF), please see What’s New in the .NET Framework 4.5 Beta. Other good blog resources include: Scott Guthrie, Scott Hanselman, .NET Team, and Base Class Library (BCL) Team.



Business Application Development

LightSwitch development is now available as part of the Visual Studio 11 Beta Professional, Premium and Ultimate installations. There are quite a few LightSwitch enhancements in the Beta release. For one, LightSwitch projects can now access data from any Open Data Protocol (OData) data source, and LightSwitch services are now exposed as OData services that can be used by other applications like PowerPivot.

You can also use Active Directory to assign the roles and permissions for different groups using the application. Other LightSwitch improvements in this release include new data types for percent and web address, more control over the formatting for numbers and dates, and the ability to display static text and images. More details are available on the LightSwitch blog.



SharePoint developer tools are also updated in Visual Studio 11 Beta, including new designers for list and content types, new templates for site columns and Silverlight web pages, as well as new options for deploying SharePoint sites. ALM features like performance profiling, unit testing, and IntelliTrace are now available for SharePoint development, and JavaScript debugging and IntelliSense have been enabled too. For more information, please visit the SharePoint developer team blog.



Visual Studio 11 Features for Application Lifecycle Management (ALM)

Each release since Visual Studio 2005 (when we first introduced ALM tools), Microsoft has considered which additional team members we can serve in order to best improve the project results. For example, in the Visual Studio 2010 release we introduced dedicated tooling to help manual testers integrate into the lifecycle alongside their counterparts on the programming team.

For the Visual Studio 11 release, Microsoft has incorporated the stakeholder and operations roles. We’ve also provided tools to support agile practices in the team. And finally, we’ve sought to eliminate waste and improve collaboration across the team, through more frequent and more actionable feedback.

Lightweight Requirements

One of the first parts of getting a project started correctly is getting the requirements understood. "How many times have you built exactly what a customer asked for but not what they wanted?" When I ask this question I get a lot of smiles and nodding heads; it is a very common problem. Microsoft wants the stakeholder to be a core part of the development cycle. Just like we want to get constant feedback from PM/development/testing during a scrum process, the feedback from our stakeholder is something we should be able to bring in quickly as well.

To help with this Microsoft has introduced PowerPoint Storyboarding. PowerPoint Storyboarding is a PowerPoint add-in, and allows the development team to quickly mock up a design. This is a quick and easy way to specify the application requirements, and provides an opportunity for feedback even before the coding begins.



This model makes it very fast and easy to get to the intent of the software you are building and to share it with the customer.  Because it is PowerPoint, you can simply view the mock up in slide show mode and even test out screen transitions.  If you can get to an agreement quickly on the features and flow, then you can help eliminate wasted time spent actually building what might be the wrong thing.

Agile Development

Agile practices have become mainstream at this point.  When I ask an audience who is using a practice like scrum I easily get over 90% of hands.  Indeed on our own team we have gotten to that level for the development of Visual Studio and the runtimes.  With this release of VS we have added even more support to help your team run the project using scrum.

Editing your project can be done directly in a browser making it easy for all team members to access.  With the web access you can groom the product backlog, assign items to sprints, and decompose into user stories and tasks.  Each sprint can be planned taking into account the duration and capacity of the team.  You can view reports by sprint or by team member capacity to see how the project is tracking, and adjust as necessary. There is also a task board view available, which is ideal for standups, and makes it easy to check in and update on the spot.  And of course since everything is backed by TFS, then items can either be retired through the web interface or included as part of a check-in.





There are a few different charts available for reviewing project status, such as the burndown charts and capacity bars, so that you can visualize and evaluate the progress in multiple ways.





Feedback

As mentioned under Storyboarding, Microsoft’s goal is to include stakeholders (customers) as part of the development cycle.  Once we start getting working software, we want to make it possible for stakeholders to provide frequent and actionable feedback. Engineers submit a feedback request through Team Web Access, and the stakeholder receives an email with the request. The email invitation includes a link that launches the new Microsoft Feedback Client, and allows the stakeholder to provide feedback including rich text, images, video and more.



The Feedback Client pins itself to the left side of the screen, making it easy to use the working software and provide notes at the same time. Like the manual testing tools we released with Visual Studio 2010, the Feedback Client will record video and audio as well as the actions the user takes (similar to the one-way mirror user testing we do on the Microsoft campus only easier to get going). The key goal is to get high quality feedback during development rather than having it wait to the very end. This minimizes the amount of re-work helping to bring the project in on time and with better cost.

Testing

Testers will enjoy a variety of improvements in this release. Microsoft Test Manager 11 has been enhanced to embrace exploratory testing (sometimes called agile testing). With exploratory testing you can find bugs not often caught with traditional formal test case management. The beauty of Microsoft Test Manager 11 is that even with exploratory testing you still get the same level of rich data capture while you are conducting this type of testing.

Therefore, when you do find a bug you can easily file it along with the relevant contextual information to provide developers with insight into what you were doing and the state of the application at the time you discovered the bug. Microsoft Test Manager 11 continues to offer great support for formal test case management as well, and you can blend the two approaches in your test plans.



Lab Management has also been greatly simplified in this release with the consolidation of agents and the introduction of standard environments, which allow you to benefit from build-deploy-test workflows without the dependency on Hyper-V or SCVMM. You can now use VMWare, physical machines, or other virtualization stacks to create your environments in a matter of minutes. Please visit Brian Harry’s blog for more information.

Debugging and Quality Tools

With Visual Studio 11, we now provide the ability for you to include additional adapters to support 3rd party unit testing frameworks such as xUnit.net, NUnit, and others. The new Unit Test Explorer will showcase all of the tests across your solution regardless of which testing framework they were written for. Visual Studio 11 will continue to provide support for traditional unit tests written using MSTest, and adds support for writing tests in C++ as well.



IntelliTrace can now be used to collect traces on machines that don’t have Visual Studio installed. This means that you can now use IntelliTrace to debug issues that occur on production servers. This was a popular request after Visual Studio 2010, so I’m glad we were able to make it possible in Visual Studio 11.

Another interesting tool that we’ve added for developers in Visual Studio 11 is code clone analysis, which examines your solution for similar code fragments. After identifying clones, you can make sure to consistently edit them going forward, or better yet, refactor in order to save on future maintenance.

Finally, in Visual Studio 11 we’ve greatly improved the code review experience. We’ve included a new Code Review page in Team Explorer to request and manage reviews, as well as an enhanced “Diff” view, which makes it easier to review changes. You can find more information on these in my Developer Preview announcement as well as Brian Harry’s blog post on Merge enhancements in TFS 11.




Team Collaboration

Both Team Foundation Server and Team Web Access were significantly revamped in this release. As with the Visual Studio IDE, you’ll notice a clean and professional user interface. The first thing you’ll see is the redesigned Team Explorer, with a new search box, and with nodes now displayed as distinct pages such as My Work and Pending Changes. Key details from the Build Explorer window also appear more prominently in the new Team Explorer.

The My Work page is a useful place to view and manage your “To Do” list. It can also help you suspend and restore the context for specific tasks. The Pending Changes page has been streamlined to remove clutter, and make it easier to work with. Local Workspaces have been added, which make it much easier to work with Team Foundation Server offline.

They also make it simpler to work with version-controlled files using 3rd party editors outside of Visual Studio, so that you no longer need to explicitly check out files before editing them elsewhere. For more details on these TFS 11 enhancements, please see Develop Code for a Backlog Item, and Fix a Bug on MSDN, What’s New in the VS TFS 11 Dev Preview by the ALM Team, or The New Team Explorer in TFS 11 by Brian Harry.







“Go Live” License



With the Visual Studio 11 Beta milestone here, Visual Studio 11 Beta meets Microsoft’s “Go Live” quality bar for pre-release software. Therefore we are recommending it for use in production, and supporting it as “Go Live” release. For more information on the “Go Live” terms and how to get support if you need it, please visit the Visual Studio 11 Beta website.

Upgrade & Compatibility

We expect that many of you will want to try out your existing Visual Studio 2010 SP1 solutions on Visual Studio 11 Beta. The compatibility improvements in Visual Studio 11 will make it easier to work with your existing Visual Studio assets, without doing any “upgrades” of project files. In the majority of cases, you can use Visual Studio 11 and also continue collaborating on projects with your teammates using Visual Studio 2010 SP1. More details are available in the MSDN Library. (Note: This kind of “roundtripping” is supported between Visual Studio 2010 SP1 and Visual Studio 11. Projects from previous versions like Visual Studio 2008, will need to be upgraded to Visual Studio 11.)

Those of you who would like to start preparing for TFS 11 may want to review the Team Foundation Server Upgrade and Planning guides. You can find these and other Visual Studio 11 readiness materials on the Visual Studio ALM Rangers solutions page.

Start Coding

We’ve collected a range of resources to help you get up and running with the Beta. Be sure to visit our Dev Centers and related websites for the latest reference materials, blog feeds, and more.
    Visual Studio 11 Beta Website
    Visual Studio Dev Center
    .NET Framework Dev Center
    Windows Dev Center
      Here are some additional blogs to watch for Beta announcements: Somasegar, Brian Harry, ALM & TFS, Visual Studio, BlendInsider, Building Windows 8, Windows 8 app developer, and Windows Store for developers.

      Visual Studio 11 Beta is now available for download.

      Find a cool free stuff everyday

      Giveaway of the Day

      Hiren Bharadwa's Posts

      DotNetJalps