Foreword by John WeigandWe did not explicitly set out to create the Eclipse Rich Client Platform (RCP). The Eclipse mission was to create a universal tool platforman open, extensible integrated development environment (IDE). We wanted to make IDE creators successful by providing the "plumbing" so they could invest in providing new capabilities to their users. We wanted to be open so that anyone could contribute. We wanted to provide the right component model and building blocks to make contributing easy. We hoped for widespread adoption of Eclipse and the growth of a vibrant community of tool writers. Eclipse has delivered on each of these ambitions. We had one more goal: We wanted Eclipse to be used in ways we never imagined. The Eclipse RCP delivered on this goal. The community started taking the Eclipse building blocks to create end-user applications. This was great, but required some "hacks" to the Eclipse platform to eliminate the "IDE-ness." Once this became apparent, the Eclipse community worked together to enhance the Eclipse platform to enable a first-class RCP solution. Today, Eclipse RCP applications gain the same benefits as traditional Eclipse tools: They leverage the Eclipse component model, they focus on the new capabilities of their application (ignoring the "plumbing"), and there is a growing community of Eclipse RCP application developers. Eclipse isn't just for tool-builders anymore. If you are looking for a way to jump-start your knowledge of the Eclipse RCP, this book provides a tutorial-based introduction to building an RCP application from initial prototype to functioning application. You can feel the authors' presence throughout the tutorial; they reinforce Eclipse design principles as they help you avoid "gotchas" along the way. For those already creating RCP applications, this book includes a reference guide with a deeper exploration of RCP capabilitiesfrom user interface customizations to integration with third-party libraries and many points in between. This book will teach you about the latest possibilities enabled with Eclipse 3.1. (Have you ever heard of "buddy" loading?) In addition, this book contains a primer on using the Eclipse Plug-in Development Environment (PDE) for building your RCP applications. I have been using PDE from its inception, and still continue to discover pointers to capabilities I didn't know about; now I am an even more satisfied PDE customer. Jeff McAffer and Jean-Michel Lemieux are excellent sources of insight into RCP. They have both been key contributors to Eclipse from the beginning, active in the creation and evolution of the Eclipse Runtime, the project model (often called "resources"), the repository integration (usually called "team"), and of course, RCP itself. In addition to their deep knowledge, they are well connected to the entire Eclipse platform as committers on the project. This connectivity has resulted in both a better book and a better technology through the team interactions. I trust you will find this book as useful as I did. Good luck on your journey into the Eclipse RCP! John Wiegand Eclipse Platform PMC Lead July 2005
 |