The Eclipse Rich Client Platform (RCP)
Total Page:16
File Type:pdf, Size:1020Kb
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation The Eclipse Rich Client Platform (RCP) Chris Laffra IBM Ottawa Labs http://eclipsefaq.org/chris Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 1 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Roadmap Introduction Rich Client Programming The Eclipse RCP Project ¾Examples of RCP applications ¾All about plug-ins ¾Building your own Eclipse RCP application Conclusions Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 2 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Source of Materials Material sources: ¾ RCP tutorials at eclipse.org ¾ RCP samples from eclipse.org ¾ Feedback from Eclipse committers ¾ The Official Eclipse 3.0 FAQs Æ Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 3 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Format Each slide is one question with an answer We will introduce ¾ Some background; what is a Rich Client? ¾ The Eclipse project and RCP ¾ Show lots of sample code and demos After this presentation, you should be able to develop your own Eclipse RCP application. Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 4 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation What Is a Rich Client? Google dictionary: A computer program that can download files for manipulation, run applications, or request application- based services from a file server. Need some form of ‘installation’. Not a Thin Client (like a Web site). A ‘client’ with rich UI and interaction Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 5 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Rich Client Examples Java Applets in a browser JavaScript applications (e.g., Bindows) J2ME MIDP Midlets on a phone/PDA Macromedia Flash MX Microsoft Foundation Class (MFC) apps Eclipse Rich Clients Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 6 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Rich Client Criterias Mind-share (following the current trend) Support for various platforms Ease of installation Look-and-Feel The ‘Richness’ of the solution Interoperability with other solutions Tooling support Performance Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 7 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation The Eclipse RCP in a Nutshell The Eclipse Rich Client Platform is a subset of the Eclipse platform designed for developing Rich Clients written in Java, using the Eclipse plug-in model for defining individual components using XML manifests. Open Source, free. Uses SWT for close-to-native feeling Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 8 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Eclipse RCP Sample 1 See the EclipseCon website Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 9 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Eclipse RCP Sample 1 GDF Suite Mgmt. Center See the EclipseCon website Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 10 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Eclipse RCP Sample 2 IBM Lotus Workplace Suite See the EclipseCon website Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 11 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Eclipse RCP Motivation Modular approach, using plug-ins written in XML and Java. Connections between plug-ins are loose. Lots of open source plug-ins easily added to your application Eclipse behaves like a native application (due to SWT). Eclipse is a framework. Lots of lessons learned and decisions have been made for you, leaving you more time to focus on your value add. The learning curve will pay off. Upgradeability. Use plug-ins to upload content handlers, and provide users with a given set of abilities and plugins based on their credentials. Versioning. Plug-ins are versioned, platform manages them. Momentum. Coolness factor. Great to put on your resume. Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 12 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation The Eclipse RCP in Detail We will use selected FAQs from the Eclipse FAQ book to address the Rich Client Platform (RCP) sub-set of Eclipse. Each question is modified for the purpose of this presentation and to improve the flow. More details on each topic can be found at http://eclipsefaq.org or in the book. Notice the FAQ number listed at the bottom: Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 13 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Eclipse FAQs Book Structure Book has 3 Parts: 1. Introduction 2. RCP 3. IDE Focus is on Part II, but a plug-in from Part III could easily be added to your RCP application Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 14 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation What Is Eclipse? An open IDE platform for anything, and for nothing in particular. Open: allows for easy extension by third parties. IDE: tooling to manage workspaces; to build, launch and debug applications; team sharing; easy customization of the programming experience. Platform: not a finished application Anything: Java, Web-services, games, etc. Nothing in particular: Java focus is historical. Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 15 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Where Did Eclipse Come From? Core of OTI/IBM products since late 90’s VisualAge for Java (written in Smalltalk with Common Widget Toolkit – CWT) VisualAge Micro Edition (written in Java, first use of SWT) VAME framework generalized into Eclipse Eclipse open source project, Fall 2001 Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 16 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation What Articles Are There? More than 50 at http://eclipse.org/articles Printable format is over 500 pages Covers wide range of Eclipse topics; from SWT to preferences to RCP to Wizards to style guides to internationalization to editor support to using CVS branching. IBM DeveloperWorks also hosts a few dozen articles on Eclipse and products Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 17 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation What Books Are Available? More than 22 were counted in July 2004 Many are introductory with wide coverage Others focus on vertical domain (SWT, EMF) FYI: Amazon lists 1 book for Netbeans Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 18 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Where to Download Eclipse? Eclipse.org/downloads: ¾ Latest Release tested, may be 6 months old ¾ Stable/milestone build, 6 weeks apart ¾ Integration build, each week ¾ Nightly build, mileage varies ¾ directly from CVS, not for the faint of heart Builds are tested and results are posted Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 19 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Eclipse Supported Platforms Microsoft Windows 2000/XP Red Hat Enterprise Linux SuSE Linux 8.2 Sun Solaris 8 SPARC Motif HP HP−UX 11i hp9000 IBM AIX 5L PowerPC Motif Apple Mac OS X Mac OS X QNX Neutrino RTOS Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 20 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation How to Upgrade Eclipse? Use the included Update Manager ¾ works for Eclipse IDE and RCP ¾ upgrade existing plug-ins to later versions ¾ install new plug-ins from third party locations Allows you to build a rich client and have extensions added later (like content handlers or additional business logic) Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 21 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Where to Get Help? Included in your plug-ins/application: ¾Help > Help Contents… ¾F1, context-sensitive help ¾Can be added to an RCP application During development: ¾http://eclipse.org (articles, newsgroups, etc.) ¾Books, tutorials, portals ¾“Use the source, Luke!” Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 22 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Writing Java Code in Eclipse Beyond the scope of this presentation Main distinguishing factors for Eclipse: ¾Incremental building in background ¾Content Assist ¾Quick Fixes ¾Searching, navigating, class browsing ¾Refactoring ¾Debugging and hot code replace ¾Sharing in a repository Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 23 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation How Do I Create a Plug-in? Plug-in Development Environment (PDE) has special wizards to get you going quickly Use code templates to create a plug-in with: ¾A toolbar button and a menu option ¾An editor ¾A view (with a tree or a table) ¾A property page ¾A new perspective Help > Cheat Sheet… Chris Laffra — The Eclipse Rich Client Platform (RCP) Page 24 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation How Do I Edit a Plug-in? Plug-in Manifest editor