Microsoft® Visual Studio® has always been a powerful developer's environment that simplifies many coding tasks. In fact, Visual Studio is really a set of tools that help reduce the effort required to build applications on the Microsoft platform. The new release of Visual Studio (Visual Studio 2010) provides features to improve your application development experience and was re-created using Window Presentation Foundation. The result is a mature IDE that performs well and serves as a harbinger of things to come from Microsoft's Developer Division (aka DevDiv).
Visual Studio 2010 is Developer Productivity
Visual Studio is one of the best developer environments on the market. I believe one of the main drivers of Visual Studio’s success is the fact Microsoft invests its time and money in building tools that that ease the pain of being a developer. The 2010 version focuses on 3 core goals for developers:
- Creativity: Visual Studio 2010 will make it easier to prototype, model, and create visual designs that help you add structure to your ideas before you write a single line of code
- Simplicity: Integrating tools within Visual Studio allows you to quickly become proficient by using your existing knowledge and skillset.
- Quality: Visual Studio 2010 helps you be proactive in identifying and tracking bugs as well.
There are a lot of details associated with each of these three “pillars” to the Visual Studio 2010 release. The remainder of this article will provide a high-level overview of each. I intend this overview to provide a “first pass” of what’s in VS 2010 with the hope it will raise your curiosity enough to
download the trial and start learning the technologies and tools provide by Visual Studio 2010.
Creativity Unleashed
Visual Studio 2010 will make it easier to prototype, model, and create visual designs that help you add structure to your ideas before you write a single line of code. In addition, Windows Presentation Foundation (WPF) continues to break through the boundaries of user interface design. Tools like Microsoft Expression® Studio and Team Foundation Server allow you and your team to take advantage of each other’s strengths to build a new generation of applications.
If you have been dragging your feet in regards to learning WPF maybe Visual Studio 2010 will be your reason for finally digging in and becoming proficient with this exciting tool. If you doubt Microsoft’s commitment to WPF then hopefully your concerns are put to rest by the fact that Visual Studio is now completely built upon WPF. WPF is here to stay and once you learn it, you will find a completely new and exciting outlet for your software designs.
Tools for Building Applications
Visual Studio provides tools for building applications on Windows and for the Web. This isn’t really new. What is new is that VS 2010 supports the latest platform technologies like SharePoint and Azure. This kind of support reduces the time it takes to develop applications based on these technologies. Here is quick run-through of what you can do with Visual Studio 2010 and some key Microsoft software development products:
- SharePoint: SharePoint is a first-class citizen in VS 2010 with new project templates the cover common SharePoint customizations like web parts, workflows, list definitions, site definitions, solution packages and more. Debugging and solution deployment is now done within VS natively, without need for third-party tools or add-ins. The Server Explorer now supports browser of SharePoint sites too.
- Office: A big improvement is the support of optional and named arguments in C#. This alone will greatly improve the developer experience when developing Office solutions and will reduce the amount of code required. In addition, you can now deploy multiple Office solutions within the same Click-Once deployment package. Previously, you had to use multiple deployment packages.
- Azure: Build applications that utilize Microsoft’s cloud computing platform, Windows Azure. You can enable support for Azure development with a download from MSDN.
- WPF & Silverlight: The Silverlight designer in VS 2010 is the same as the one for WPF. You are no longer limited to a read-only window that simply shows your Silverlight layout. In 2010, you can use the visual designer to edit your Silverlight designs as well. Regarding WPF, developing data-bound custom controls is easier now thanks to drag-and-drop data binding for WPF. With this feature, you can drag data from a data source onto a WPF designer and then incorporate that data binding into your control’s design.
- .NET Framework 4.0: Microsoft's programming model for building innovative and secure was upgraded at the same time as Visual Studio. There are enhancements for Visual Basic , C#, multicore support, ASP.NET, WPF, WCF, and more.
Expression Studio + VS = Unlimited Creativity
The Expression Studio suite of products complements Visual Studio by providing tools for building truly creative software user interface designs. Expression Web supports building Web sites that support standards and CSS while providing powerful visual designers. Expression Web is a great tool for both designers and developers as it allows both to accomplish the tasks required to build modern Web sites.
As a developer that typically targets Windows, I am more and more intrigued by Expression because it allows me to break the mold of rectangular Windows forms and controls. With Expression Blend, I can design custom controls for my Windows applications that are truly compelling to users and provide a new level of interactivity. I also like how easy it is to build custom controls that are a combination of several other WPF standard controls.
Sketchflow is new with Expression Studio 3 and provides a powerful set of tools for prototyping your software designs. You can use Sketchflow to build prototypes based upon your designs in Expression Blend. The combination of Blend and Sketchflow reduces the cost and effort required when considering design directions. You can add interactivity without writing code and utilize data binding to add interactivity with sample code – all without writing any code. You can also utilize designs from Photoshop and Illustrator and Sketchflow supports those file types.
Multi-Core/Parallel Programming
Multi-core processors have been around for a few years now but developers have not had native tools in Visual Studio that allow them to take advantage of the processing power afforded by multi-core chips. The wait is over as VS 2010 gives you what you need to harness multi-threading and parallel programming.
Parallel Programming in VS 2010 is handled via a set of extensions known as Parallel Extensions. These are .NET libraries known as Parallel LINQ (PLINQ), Task Parallel Library (TPL), and Coordination Data Structures (CDS). Together, these libraries support declarative and imperative parallelism. For example, using PLINQ, you can use a statement like the follow to declare a parallel statement:
Var q = from p in people.AsParallel()
where p.Name == queryInfo.Name
orderby p.Year
Select p;
The AsParallel turns a regular LINQ query into a PLINQ query; taking advantage of parallelism, at least with LINQ, will have minimal impact on your code.
In the past, the time it took for developers was a major drawback for implementing parallelism in their applications. Thanks to the Parallel Extensions developers will be able to improve the performance of their parallel applications without significantly increasing the time it will take to create the application.