The release of Visual Studio 2005 and Visual Studio Team Systems marked a major revision to the .NET development experience. It brought us code snippets, custom project templates, refactoring, data binding wizards, smart tags, modeling tools, automated testing tools, and project and task management—to name just a few features. Visual Studio 2008 builds on these tools and provides additional core changes and additions to the Visual Studio integrated development environment (IDE). The languages have many new improvements, the Framework has a number of additions, and the tools have been significantly enhanced. For instance, Visual Studio 2008 includes such things as Windows Presentation Foundation (WPF) for building richer client solutions, Windows Communication Foundation (WCF) to help build more dynamic service-oriented solutions, and Windows Workflow Foundation (WF) to enable structured programming around business processes. In addition, there are language enhancements such as the Language Integrated Query (LINQ) and team systems enhancements such as code metrics, performance profiling, and a revised team build system. All of these tools are meant to increase your productivity and success rate. This book is meant to help you unlock the many tools built into Visual Studio so that you can realize these gains.

Write Connected, Service-Oriented Solutions

Write Connected, Service-Oriented Solutions
Many business applications involve specific processes, or workflows, around documents, records, and related data. These business processes typically involve staged review and approval by business personnel; they might also require communication between various systems. A business process is also typically long-running—meaning the process is not a simple, single execution but rather a multistep process that has to "wait" before moving to the next step.
Building these processes into business application was typically a lot of custom development work with little guidance, or it meant tying your application to third-party tools. Web services helped but developers lacked an easy way to build them with support for multiple protocols, different transports, strong security, and transactional support.
Visual Studio 2008 now provides in-the-box (and in the .NET Framework) support for building business processes as workflows and reliably integrating them with other applications, systems, and partners. This section takes a look at Windows Workflow (WF) for defining reusable business process and Windows Communication Foundation (WCF) for unlocking that business process across system boundaries.

Develop User Applications

Develop User Applications

.NET has quickly become pervasive throughout the entire Windows product world. It took only a few short years, but it is now fair to say that .NET is everywhere; Windows programming and .NET programming are now synonymous. Many of the user applications we interact with have some if not all of their base in .NET. This includes web applications, rich clients built on Windows, mobile applications, Office solutions, smart clients that work across the Web, and more. The good news is that the .NET developer is in high demand, and you can leverage your skills to target a wide audience.

ASP.NET—This allows you to build web-based (and browser-based) solutions using HTML, AJAX, and server-side processing. .
NetCF
—The .NET Compact Framework 3.5 runs on small devices and allows you to build applications that target these mobile devices. .
Sliverlight
—This is Microsoft’s new solution for developing highly interactive solutions experiences that combine video and animation, delivered across the Web for both Windows and Mac. .
VSTO—Visual Studio Tools for Office allows you to build solutions based on the Office productivity tools (including Outlook and SharePoint). .
WinForms—These are Windows forms used to deliver business applications and tools built on the windows platform. WinForms applications can be stand-alone or data-driven. In addition, WinForm applications may connect to web services, leverage resources on the client, and more. .
WPF—Windows Presentation Foundation combines WinForms, XAML, Smart Clients, 3D graphics, and more to allow you to create the richest, most fully featured client solutions that run on Windows. WPF applications can be delivered similar to a WinForms application. In addition, they can exist as a browser-hosted solution that runs in a security sandbox.
XNA—This technology allows you to build Xbox games using Visual Studio.