Big Picture of Windows Clients

The user experience can differentiate one ISVs product over another. The user experience is what defines your application. And it is offen what your application provides.

This Big Picture is about what we often call thick clients. Those are the applications you run on your desktop and interface with backend systems. They may be connected or disconnected.

Here's an overview of how you can write cool applications and update legacy applications for the Windows Client. WindowsClient.net provides guided tour, whitepapers, getting started videos, and tutorials.

Windows Presentation Foundation (WPF)

The Microsoft Windows Presentation Foundation provides the foundation for building applications and high fidelity experiences in Windows Vista, blending together application UI, documents, and media content, while exploiting the full power of your computer. WPF provides many ISVs with a strategic advantage, an intuitive user interface that incorporates animation, rich media, flow documents, 2D and 3D graphics, and more.

The items that the user manipulates is separated from the code that performs the logic. The user interface is specified in XAML, Extensibile Application Markup Language, written in XML. And the code that executes the user interface, is written in a .NET language, such as C# or VB. This means that the user interface can be created by designers in products such as Expression Blend and then code written by programmers in Visual Studio. The programmer no longer needs to recreate drawings to match the intention of a user interface designer. In addition, the programmer can take advantage of WPF control's ability to bind data in XAML rather than write code. For more information, see WPF Data Binding with LINQ to XML Overview.

Enterprise and ISV applications have taken advantage of WPF. WPF applications naturally incorporate architectural patterns such as the data templating and binding model and the separation of UI from code.

With .NET Framework 3.5 SP1, you can deploy WPF onto Windows XP computers with a Client Profile. Client Profile provides a smaller fooprint just for clients at about 250K. For more details, see Introducing the Third Major Release of Windows Presentation Foundation 

The new version comes with enhancements to the graphics engine that support interactive 2D elements on a 3D surface. And a WebBrowser control where you can interact with the HTML content programmatically. And for those who have been waiting, a DataGrid control will ship just after .NET Framework 3.5 SP1. It will be possible to completely change the look and feel of the control through templates.

Windows Forms

The backbone of most user experiences is the Windows Form. It's that thick client that is on everyone's desktop and is the basis for most ISV applications.

Many ISVs are building Windows Forms applications and deploying them over the Web or through an internal Web site. Deployment is often through ClickOnce. ClickOnce is a deployment technology that enables you to create self-updating Windows-based applications that can be installed and run with minimal user interaction. You can publish a ClickOnce application in three different ways: from a Web page, from a network file share, or from media such as a CD-ROM. A ClickOnce application can be installed on an end user's computer and run locally even when the computer is offline, or it can be run in an online-only mode without permanently installing anything on the end user's computer.

The Smart Client Software Factory  is often used to help you quickly incorporate Windows desktop applications with one or more back-end systems, present incoming information from multiple sources into a single application, and to take advantage of local storage and processing resources. And the applications are easy to deploy and configure.

MFC

A lot of applications are written in MFC. And developers can update their user interfaces with new features using the Visual C++ 2008 Feature Pack. The Visual C++ 2008 Feature Pack includes an expanded MFC library to support modern user interface (UI) elements such as the Office Fluent UI, docking windows and MDI tabbed windows similar to those used in some releases of Visual Studio, enhanced toolbars, a rich new set of controls, support for controlling the overall visual style, support for desktop alerts, and much more.For a full list of features supported in this expansion of the MFC library, see What's New (MFC Feature Pack). Feature pack is available for download at Visual C++ 2008 Feature Pack Release 

The VisualStudioDemo sample demonstrates how to implement an application with many of the same user interface features and some of the capabilities of Visual Studio. Many of the Visual Studio user interface elements, including customizable docking menubar and toolbars, and docking windows, are demonstrated.

Local Data, Synchronization

Not all applications are connected to the network all the time. That means saving data to the client. And supporting Windows Vista, means saving that data in ways that don't write to the registry. Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) enables you to create compact databases that can be deployed on desktop computers, smart devices, and Tablet PCs. You can find a walkthrough, Walkthrough: Adding a SQL Server Compact 3.5 Database to an Application and Deploying it.

So if you're storing data on the client, you'll need to sync back to the data store. Microsoft Sync Framework is a comprehensive synchronization platform that enables collaboration and offline access for applications, services, and devices. It features technologies and tools that enable roaming, sharing, and taking data offline. You can sync with databases, file systems, devices, and Web Services. And the latest version helps you sync with your Mobile clients. Sync Framwork is available from the Microsoft Sync Framework v1.0 CTP2.

Windows Mobile

It may be hard to imagine, but that computer that you bought a few years ago is as powerful as that Windows Mobile phone you have in your pocket. Windows Mobile hosts the biggest opportunity for the enterprise supporting hundreds of Windows Mobile powered phones in more than a hundred mobile operators. And you use the same development skills and tools for Mobile that you have for other Microsoft platforms. You can connect with SQL Server Compact Edition, XML, built-in security. There's a rich API to do what you need, and emulators so you can build for Mobile on the same desktop as you do for other applications.

To get started, get the Windows Mobile 6 Developer Resource Kit. For more information about developing on Windows Mobile including the webcast series on getting started, see Window Mobile Developer Center.