Free ebook: Moving to Microsoft Visual Studio 2010 (DRAFT Preview)
NEW: The complete and final version of this ebook is now available here.
We’re pleased to announce another free offering (following Charles Petzold’s Programming Windows Phone 7 Series (DRAFT Preview) , which we released on March 15): Moving to Microsoft Visual Studio 2010 (DRAFT Preview) .
This DRAFT Preview contains three chapters from what will be a ten-chapter ebook when it’s released this summer. The three chapters make up Part II, “Moving from Microsoft Visual Studio 2005 to Visual Studio 2010.”
Here’s some of the Introduction (<snip> marks a deletion, to shorten this post), which explains the book’s approach:
Every time we get close to a new release of Microsoft Visual Studio we can feel the excitement in the developer community. This release of Visual Studio is certainly no different, but at the same time we can feel a different vibe. In November 2009, at Microsoft Professional Developer Conference in Los Angeles, participants had the chance to get their hands on the latest beta of this Visual Studio incarnation. The developer community started to see how different this release is compared to any of its predecessors. This might sound familiar, but Visual Studio 2010 constitutes, in our opinion, a big leap and is a true game changer in that it has been designed and developed from the core up.
Looking at posts in the MSDN forums and many other popular developer communities also reveals that many of you—professional developers—are still working in previous versions of Visual Studio. This book will show you how to move to Visual Studio 2010 and will try to explain why it’s a great time to make this move.
Who Is This Book for?
This book is for professional developers who are working with previous versions of Visual Studio and are looking to make the move to Visual Studio 2010 Professional.
What Is the Book About?
The book is not a language primer, a language reference, or a single technology book. It’s a book that will help professional developers move from previous versions of Visual Studio (starting with 2003 and on up). It will cover the features of Visual Studio 2010 through an application. It will go through a lot of the exciting new language features and new versions of the most popular technologies without putting the emphasis on the technologies themselves. It will instead put the emphasis on how you would get to those new tools and features from Visual Studio 2010. If you are expecting this book to thoroughly cover the new Entity Framework or ASP.NET MVC 2, this is not the book for you. If you want to read a book where the focus is on Visual Studio 2010 and on the reasons for moving to Visual Studio 2010, this is the book for you.
How Will This Book Help Me Move to Visual Studio 2010?
This book will try to answer this question by using a practical approach and by going through the new features and characteristics of Visual Studio 2010 from your point of view—that is, from the view of someone using Visual Studio 2005, for example. To be consistent for all points of view and to cover the same topics from all points of view, we decided to build and use a real application that covers many areas of the product rather than show you many disjointed little samples. This application is named Plan My Night, and we’ll describe it in detail in this Introduction.
To help as many developers as we can, we decided to divide this book into three parts:
- Part I will be for developers moving from Visual Studio 2003
- Part II will be for developers moving from Visual Studio 2005
- Part III will be for developers moving from Visual Studio 2008
Each part will help developers understand how to use Visual Studio 2010 to create many different types of applications and unlock their creativity independently of the version they are using today. This book will be focusing on Visual Studio, but we’ll also cover many language features that make the move even more interesting.
Each part will follow a similar approach and will include these chapters:
- “Business Logic and Data”
- “Designing the Look and Feel”
- “Debugging the Application”
For example, Part I, “Moving from Microsoft Visual Studio 2003 to Visual Studio 2010,” includes a chapter called “From 2003 to 2010: Debugging the Application.” Likewise, Part II, “Moving from Microsoft Visual Studio 2005 to Visual Studio 2010,” includes a chapter called “From 2005 to 2010: Debugging the Application.”
Designing the Look and Feel
These chapters will focus on comparing how the creation of the user interface has evolved through the versions of Visual Studio. They pay attention to the design surface, the code editor, the tools, and the different controls, as well as compare UI validation methods. These chapters also tackle the topic of application extensibility.
Business Logic and Data
These chapters tackle how the application is structured and demonstrate the evolution of the tools and language features available to manage data. They describe the different application layers. They also show how the middle-tier is created across versions and how the application will manage caching the data as well as how to manage getting data in and from the database.
Debugging the Application
These chapters showcase the evolution of all developer aids and debugger tools as well as compare the different ways to improve the performance of an application. They also discuss the important task of unit-testing your code.
Deploying Plan My Night
Part I, for developers using Visual Studio 2003, also includes one extra chapter, “From 2003 to 2010: Deploying Plan My Night.” This chapter goes through the different ways to package, deploy, and deliver your application to your end users. The topic of updating and sending new bits to your customers is also discussed. We feel that Parts II and III, for developers using Visual Studio 2005 and Visual Studio 2008, didn’t require a chapter on deployment.
What Is Plan My Night?
Plan My Night (PMN) is an application that is self-describing, but just to make sure we’re on the same page, here’s the elevator pitch about PMN:
Plan My Night is designed and developed to help its users plan and manage their evening activities. It allows the user to create events, search for activities and venues, gather information about the activities and the venues, and finally share or produce information about them.
As the saying goes, a picture is worth a thousand words , so take a look at Plan My Night user’s interface in Figure I-1.
Figure I-1 PMN’s user interface.
In its Visual Studio 2010 version, Plan My Night is built with ASP.NET MVC 2.0 using jQuery and Ajax for UI validation and animation. It uses the Managed Extensibility Framework (MEF) for extending the capabilities of the application by building plug-ins: for sharing to social networks, printing, emailing, etc. We have used the Entity Framework to create the data layer and the Windows Server App Fabric (formerly known as codename Velocity) to cache data in memory sent and obtained from the SQL Server 2008 database.
Why Should You Move to Visual Studio 2010?
There are numerous reasons to move to Visual Studio 2010 Professional, and before we dive in into the book parts to examine them, we thought it would be good to list a few from a high-level perspective (presented without any priority ordering).
- Built-in tools for Windows 7, including multi-touch and “ribbon” UI components.
- Rich new editor built in WPF that you can highly customize to suit how you work. Look below this list at Figure I-4 for a sneak peek.
- Multi-monitor support.
- New Quick Search helping to find relevant results just by quickly typing the first few letters of any method, class, or property.
- Great support for developing and deploying Microsoft Office 2010, SharePoint 2010 and Windows Azure applications.
- Multicore development support allows you to parallelize your applications, and a new specialized debugger to help you track the tasks and threads.
- Multi-targeting/multi-framework support. Read Scott Guthrie’s blog post to get an understanding of this great feature: http://weblogs.asp.net/scottgu/archive/2009/08/27/multi-targeting-support-vs-2010-and-net-4-series.aspx.
- Support for developing WPF and Silverlight applications with enhanced drag and drop support and data binding. Great new enhancements to the designers, enabling a higher fidelity in rendering your controls, which in turn enables you to discover bugs in rendering before they happen at run time (which is a great improvement from previous versions of Visual Studio). New WPF and Silverlight tools will help you to navigate the visual tree and inspect objects in your rich WPF and Silverlight applications.
- Great support for TFS 2010 (and previous versions) using Team Explorer. This enables you to use the data and reports that are automatically collected by Visual Studio 2010 and track and analyze the health of your projects with the integrated reports as well as maintaining your bugs and tasks up-to-date.
- Integrated support for Test-First Development. Automatic test stub generation and a rich unit test framework are two nice test features that developers can take advantage of for creating and executing unit tests. Visual Studio 2010 has great extensibility points that will enable you to also use common third-party or open source unit test frameworks directly within Visual Studio 2010.
Figure I-4 Visual Studio New WPF Code Editor.
This is just a short list of all the new features of Visual Studio 2010 Professional; you’ll experience some of them firsthand in this book. You can get the complete list of new features by reading the information presented in those two locations: http://msdn.microsoft.com/en-us/library/dd547188(VS.100).aspx and http://msdn.microsoft.com/en-us/library/bb386063(VS.100).aspx.
But the most important reason for many developers and enterprises to make the move is to be able to concentrate on the real problems you’re facing rather than spend your time interpreting code. You’ll see that with Visual Studio 2010 you can solve those problems faster. Visual Studio 2010 provides you with new powerful design surfaces and powerful tools that help you write less code, write it faster, and deliver it with higher quality.