Download presentation
Presentation is loading. Please wait.
Published byJane Elliott Modified over 9 years ago
1
Copyright © IBM Corp., 2008. All rights reserved. From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP Benjamin Pasero
2
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. What is RSSOwl? A newsreader for newsfeeds What do users expect from such an application? Leightweight, Fast, Responsive Little Footprint Small Download Size Clean User Interface Add-Ons and integrated Update Manager Is this even possible with Eclipse RCP?
3
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. Brief overview of RSSOwl 1.x started in summer 2003 with 700.000 downloads till today SWT only and a small cup of JFace No Viewers No Ressource Management Great to discover bugs in SWT due to uncommon usage Always running on latest Integration Build of SWT Single, monolithic JAR Build & Deployment via ANT
4
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved.
5
RSSOwl 2.0 on RCP started in summer 2005 with 70.000 downloads till today Reasons Catching up with features of other newsreaders was becoming hard Take advantage of using Eclipse RCP Design Decisions Java 5 Real Database Eclipse RCP Open the application for others to contribute extensions
6
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. Architecture and Extensibility of RSSOwl 2.0 Code is split up in a core and a ui bundle in addition one bundle per library db4o, Lucene, HTTPClient, mime4j > 18 extension points Support for new protocols (e.g. nntp, mail, ftp,…) Support for new feed formats (any XML will do) Support for new namespaces in existing feed formats (e.g. itunes) Support for custom elements or attributes in existing feed formats
7
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved.
8
Benefits using Eclipse RCP over SWT-only Equinox with support for bundles and extensibility Support for updating Bundles JFace Viewer & Ressource Management Jobs API to perform background tasks and showing progress Keybinding Support UI Extensibility (Menus, Toolbar, Object Contributions, Views,…) …
9
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. Pain Points using RCP in RSSOwl 2.0 (1/2) Overlay complex to make the UI not look like an IDE Wishful thinking: simple CSS-Theming in Eclipse 4.0 Think about why there are so many themes for apps like Firefox Can't fully hide IDE aspects in RCP Monolithic org.eclipse.ui with lots of contributions Most visible in preferences (Keybindings) Size and Footprint concerns Runtime > 12 MB ~2700 classes loaded for simple Hello World
10
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. Pain Points using RCP in RSSOwl 2.0 (2/2) Annoying gap between RCP and SDK Integration Overhead making a plug-in ready for being added into RCP or SDK ICU (International Components for Unicode) dilemma Adds 4 MB to the RCP runtime Replacement exists, but requires to patch RCP feature Summing up RCP was created from the existing SDK and not vice-versa Would it be possible to do it the other way round?
11
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. Announcing RCP Essentials Minimal RCP: Let's begin from scratch Equinox SWT & JFace Essential Workbench Can be plugged into the Minimal RCP Simple default presentation without Multiple Document Interface No default UI-Contributions (no Commands, etc.) Avoid restrictions of Views and Editors
12
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. Eclipse RCP vs RCP Essentials (1/2) SWT JFace Equinox Runtime ICUWorkbench Data Bind.Jobs UICore Eclipse RCP Monolithic org.eclipse.rcp Feature
13
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. Eclipse RCP vs RCP Essentials (2/2) SWT JFace Equinox Runtime ICUThemes Data Bind. Jobs UICore RCP Essentials Essential Workbench Eclipse 4.0: Get rid of features and allow updates to any configuration Help Update Forms
14
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. Conclusion & Pointers Using RCP for your application Great to use in most cases Some pain points when used for non-enterprise / non-IDE applications High Hopes for Eclipse 4.0 Think of RCP as the foundation for any application Pointers More info on RSSOwl 2.0: http://boreal.rssowl.org General info on RSSOwl: http://www.rssowl.org
15
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. Thank’s for your attention E-Mail: bpasero@rssowl.org
16
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. Legal Notices (1/2) Copyright © IBM Corp., 2008. All rights reserved. This presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. IBM and the IBM logo are trademarks or registered trademarks of IBM Corporation, in the United States, other countries or both. Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both. OSGi is a trademark or registered trademark of the OSGi Alliance in the United States and other countries. Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc. Other company, product and service names may be trademarks or service marks of others.
17
From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP | Copyright © IBM Corp., 2008. All rights reserved. Legal Notices (2/2) THE INFORMATION DISCUSSED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION, IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, SUCH INFORMATION. ANY INFORMATION CONCERNING IBM'S PRODUCT PLANS OR STRATEGY IS SUBJECT TO CHANGE BY IBM WITHOUT NOTICE.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.