Skip to:Content
|
Bottom
Cover image for Eclipse Rich Client Platform designing, coding, and packaging Java applications
Title:
Eclipse Rich Client Platform designing, coding, and packaging Java applications
Personal Author:
Series:
The eclipse series
Publication Information:
Upper Saddle River, NJ : Addison-Wesley, 2006
Physical Description:
1 CD-ROM ; 12 cm.
ISBN:
9780321334619
General Note:
Accompanies text of the same title : QA76.76.D47 M324 2006
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010123313 CP 8639 Computer File Accompanies Open Access Book Compact Disc Accompanies Open Access Book
Searching...

On Order

Summary

Summary

Build powerful, cross-platform rich client applications. Eclipse is more than a state-of-the-art IDE: its Rich Client Platform (RCP) plug-ins form an outstanding foundation for any desktop application, from chat applications to enterprise software front-ends. In Eclipse Rich Client Platform, two leaders of the Eclipse RCP project show exactly how to leverage Eclipse for rapid, efficient, cross-platform desktop development. In addition to explaining the power of Eclipse as a desktop application development platform, the authors walk step-by-step through developing a fully featured, branded RCP application. They introduce a wide range of techniques, including developing pluggable and dynamically extensible systems, using third-party code libraries, and packaging applications for diverse environments. You'll build, refine, and refactor a complete prototype; customize the user interface; add Help and Update features; and build, brand, and ship the finished software.


Author Notes

Jeff McAffer leads the Eclipse RCP and Runtime teams and is one of the Eclipse Platform's original architects and committers. Prior to his work at IBM's Ottawa Software Lab, he was a developer at Object Technology International focusing on areas such as distributed/parallel OO computing, expert systems, and meta-level architectures. Jeff holds a Ph.D. from the University of Tokyo.

Jean-Michel Lemieux has been a committer on the Eclipse team and CVS component since its inception. Before joining IBM's Ottawa Software Lab to work on Eclipse, Jean-Michel built real-time SS7 monitoring systems and real-time modeling tools.


#65533; Copyright Pearson Education. All rights reserved.


Excerpts

Excerpts

Preface In many ways, this book is one of the design documents for the Eclipse Rich Client Platform (RCP). It was written during the Eclipse 3.1 development cycle by members of the development team. Its chapters were sometimes written before the related function was even implemented. The exercise of explaining how things work forced upon us the realities of using the mechanisms and concepts that make up the Eclipse RCP. This was not always pleasant. It did, however, give us a unique opportunity to correct the course of the Eclipse RCP. Whenever we came across something that was hard to explain or compli-cated to use, we were able to step back and consider changing Eclipse to make things easier. Often we could, and often we (or, more accurately, the Eclipse Platform team as a whole) did. It is somewhat hard to convey the joyful feeling of deleting a complicated, detailed 10-page set of instructions or explanation and replacing it with just a paragraph detailing a new wizard or facility. On other occasions, we gained key insights that helped us produce a clearer, simpler description of a function. Fixing bugs discovered during this process provided welcome distractions as we were writing, coding, learning, and trying to have real lives all at the same time. We learned an incredible amount about Eclipse as an RCP and trust that you will too. About this Book This book guides you, the would-be RCP developer, through all stages of developing and delivering an example RCP application called Hyperbola, an instant messaging chat client. We develop Hyperbola from a blank workspace into a full-featured, branded RCP application. The choice of the instant messaging domain allowed us to plausibly touch a wide range of RCP issues from building pluggable and dynamically extensible systems to using third-party code libraries to packaging applications for a variety of environments. We cover scenarios ranging from PDAs to kiosks, to standalone desktops, to full integration with the Eclipse IDE. This book enables you to do the same with your applications. Roughly speaking, the book is split in two. The first half, Parts I and II, sets the scene for RCP and presents a tutorial-style guide to building an RCP application. The tutorial incrementally builds Hyperbola into a functioning, branded chat client complete with Help, Update, and other advanced capabilities. The tutorial is written somewhat informally to evoke the feeling that we are there with you, working through the examples and problems. We share some of the pitfalls and mishaps that we experienced while developing the application and writing the tutorial. The second half of the book looks at what it takes to "make it real." It's one thing to write a prototype and quite another to ship a product. Rather than leaving you hanging at the prototype stage, Parts III and IV are composed of chapters that dive into the details required to finish the job--namely, the refining and refactoring of the first prototype, customizing the user interface, and building and delivering products to your customers. This part is written as more of a reference, but it still includes a liberal sprinkling of step-by-step examples and code samples. The goal is to cover most of the major stumbling blocks reported in the community and seen in our own development of professional products. A final part, Part V, is pure reference. It covers the essential aspects of OSGi, the base execution framework for Eclipse, and touches on various functions available in the Eclipse Platform but not covered earlier in the book. Since one book could not possibly cover everything about Eclipse, and there are many existing books that cover Eclipse and plug-in development, we focus on the areas directly related to RCP function, API, and development. Audience This book is targeted at several groups of Java™ developers. Some Java programming experience is assumed and no attempt is made to introduce Java concepts or syntax. For developers new to the Eclipse RCP, there is information about the origins of the platform, how to get started with the Eclipse IDE, and how to write your first RCP application. Prior experience with Eclipse is helpful, but not necessary. For developers experienced with creating Eclipse plug-ins, the book covers aspects of plug-in development that are unique to RCP development. For example, not only are there special hooks for RCP applications, but RCP applications have additional characteristics such as branding, plug-in building as part of a release engineering process, deployment, and installation to name a few. For experienced Eclipse RCP developers, this book covers new RCP features and functions in Eclipse 3.1 as well as the new tooling that makes designing, coding, and packaging RCP applications easier than ever before. Sample Code Reading this book can be a very hands-on experience. There are ample opportunities for following along and doing the steps yourself as well as writing your own code. The CD that accompanies the book includes code samples for each chapter. Instructions for managing these samples are given in Chapter 3, "Tutorial Introduction," and as needed in the text. In general, all required materials are available on the CD. Note that these materials are also available on the Web from either http://eclipse.org or http://eclipsercp.org . The CD includes development tooling, targets, and sample code appropriate for several operating systems (OSs), including Windows,®Linux,™ and Mac OS X. In particular, the following resources are included: a readme.html file with installation and usage instructions. Eclipse 3.1 SDK Eclipse 3.1 RCP SDK Eclipse 3.1 RCP Delta pack code samples for each chapter as needed Java Development Kit (JDK) 1.4.2 for Windows and Linux Conventions The following formatting conventions are used throughout the book: Bold --Used for UI elements such as menu paths (e.g., File > New > Project) and wizard and editor elements. Italics --Used for emphasis and to highlight terminology. Lucida Sans Typewriter --Used for Java code, property names, filepaths, plug-in ids, and the like that are embedded in the text of a paragraph. Lucida Console --Used for Java code samples and XML snippets. Lucida Console Bold -- Used to highlight important lines in code samples. Notes and sidebars are used often to highlight information that readers may find interesting or helpful in using or understanding the function being described in the main text. We tried to achieve an effect similar to that of an informal pair-programming experience where you sit down with somebody and get impromptu tips and tricks here and there. Feedback The official Web site for this book is http://eclipsercp.org/book . Additional information and errata are available at http://www.awprofessional.com/ title/0321334612 . You can report problems or errors found in the book or CD to the authors at book@eclipsercp.org . Suggestions for improvements and feedback are also very welcome. (c) Copyright Pearson Education. All rights reserved. Excerpted from Rich Client Platform: Designing, Coding, and Packaging Java Applications by Jeff McAffer, Jean-Michel LeMieux All rights reserved by the original copyright owners. Excerpts are provided for display purposes only and may not be reproduced, reprinted or distributed without the written permission of the publisher.

Table of Contents

ForewordJohn Weigand
ForewordJeff Norris
Acknowledgments
Preface
I Introduction
1 Eclipse as a Rich Client Platform
2 Eclipse RCP Concepts
II Rcp by Example
3 Tutorial Introduction
4 The Hyperbola Application
5 Starting the Hyperbola Prototype
6 Adding Actions
7 Adding a Chat Editor
8 Branding Hyperbola
9 Packaging Hyperbola
10 Messaging Support
11 Adding a Login Dialog
12 Adding Key Bindings
13 Adding Help
14 Adding Update
III The Workbench
15 Workbench Advisors
16 Perspectives, Views, and Editors
17 Actions
18 Customizing Workbench Windows
19 Customizing the Presentation of Views and Editors
IV Development Processes
20 Integrating Code Libraries
21 Installing and Updating Plug-ins
22 Dynamic Plug-ins
23 RCP Everywhere
24 Building Hyperbola
25 The Last Mile
V Reference
26 OSGi Essentials
27 Eclipse.org Plug-ins
Index
Go to:Top of Page