Foreword by Mark Boulter
Smart Client Architecture and Design Guide
Microsoft® patterns & practices Library http://msdn.microsoft.com/en-us/practices/default.aspx
Application Architecture for .NET: Designing Applications and Services http://msdn.microsoft.com/en-us/library/ms954595.aspx
The Microsoft®.NET Framework and Windows Forms are a great platform for building smart client applications that combine all the power, flexibility, and great user experience of the rich client application model with the ease of deployment and stability of browser-based applications. The .NET Framework solves DLL versioning conflicts and simplifies deployment. Windows Forms has a powerful library of user interface components and an-easy-to use forms designer that combines the ease of use of the Microsoft Visual Basic® 6.0 programming model with the power and flexibility of the .NET Framework.
However, no matter how easy Windows Forms makes building your user interface, there are still numerous design challenges you will need to solve when building your smart client applications. What is the right deployment model for your application? How do you enable offline processing? What about data security? How do you keep the application responsive to the user when connecting over low bandwidth? What are the things you need to do to build an application that meets your users' performance expectations? The list goes on.
If you don't have a clear understanding of what these challenges are and what you need to do to address them early in your development cycle, trying to retrofit solutions later can be costly and painful. Smart Client Architecture and Design helps you to figure out what the design challenges are and guides you toward the right solutions for your project. This is exactly the kind of information customers have been asking us for, so I'm excited to see this guide published.
Have fun building client applications again!
PM Technical Lead
Mark Boulter is a senior PM on the .NET Client team at Microsoft. Mark has worked on Windows Forms and related class libraries since joining Microsoft. Before joining Microsoft, Mark worked as a consultant for ParcPlace Systems in the UK helping customers build client-server and data analysis systems in Smalltalk. Prior to that, Mark spent more years than he is willing to admit at IBM in the UK working on a variety of projects including large scale client server systems, a CASE tool, a workflow engine, and order management systems. Mark's interests include listening to post punk industrial new wave and blues, reading pretty much anything he picks up, and herding cats.