Quick Look at Some Rich Client Platforms (RCP)

I’ve been looking into various rich-client desktop and web-based application platforms/frameworks on which to base future projects. Many of the RCPs (rich-client platforms) have advantages such as support for auto-updating, plugin frameworks, and numerous existing plugins and samples. Here are just a few of the options, plus some do it yourself options in java and .net. I list sample apps, advantages and disadvantages.

Framework Sample App
Eclipse RCP RSSOwl 2.0 feed reader, and other applications
Netbeans Platform

Samples such as a feedreader and other applications
Firefox extensions Zotero citation manager and other extensions
Adobe Flex/Flash TryFlex demo app
Ajax Toolkits Yahoo UI, Google Web Toolkit (GWT), Dojo, Microsoft Ajax and Silverlight
DIY Mono/.NET Mono.Addins, recently announced Microsoft Silverlight project
DIY Java Java Plugin Framework, Java Web Start
Framework Advantages
Eclipse RCP Very well established, dozens of sample apps and plugins, supported by IBM, couple of books, some people are using for things beyond java, such as C++ development, form designers that work with Swing/SWT/GWT
Netbeans Platform

Newer, but based on an established IDE with the excellent Matisse GUI designer, supported by Sun, one book just released, they are also focusing on adding more language and toolkit support, such as ruby on rails and GWT
Firefox extensions Virtually zero-install – applications work in browser, couple of old books
Adobe Flex/Flash Highly interactive apps, most people have Flash installed
Ajax Toolkits Most are free, open source, zero-install, works in browser, doesn’t even require a plugin or extension, many interactive controls available now such as google maps or simile timeline
DIY Mono/.NET .NET and Mono pre-installed on Windows and most Linux systems now, supported by Microsoft and Novell
DIY Java Can be deployed as an applet or as java web start application, very interactive apps, works cross-platform
Framework Disadvantages
Eclipse RCP
  • tied almost exclusively to java – which is still very verbose, can’t really use alternative languages, although this is slowly changing
  • tied almost exclusively to SWT (not Swing)
  • memory hog – RSSOwl, a basic RSS reader, uses 79MB, can’t run on for example older, smaller computers (OLPC/Classmate PC)
  • because of SWT dependency, can’t really deploy as an applet, not feasible as a java web start application (too big)
  • incredibly steep learning curve – very complex API
  • non-java language support lacking – the Scala plugin for example doesn’t even support code completion, let alone gui design, refactoring,…
  • not easy to develop very rich applications. Most Eclipse RCP apps have traditional button/form interfaces only, such as the tools from the Reload project (see screenshots below).
  • your plugins are tied to each Eclipse version. So whenever Eclipse updates, your plugins may become out of date so you have to continually update them
Netbeans Platform

  • Still quite new, not much documentation
  • tied pretty much exclusively to java
  • tied pretty much exclusively to Swing
  • Also a memory hog like Eclipse-based apps – the feedreader sample app took over 50MB
  • Not many real working samples – the feedreader is very incomplete and threw exception errors
  • IDE is slower to start up and more memory-intensive than Eclipse, but looks much nicer and has a more intuitive design
Firefox extensions Most extensions have traditional form interfaces (see Zotero), no interactive features like animations, drag & drop, etc.
Adobe Flex/Flash Brand new, commercial, proprietary, expensive. May be free and open source options available soon (such as GNUflash).
Ajax Toolkits Can’t do some of the interactive stuff you can do in desktop applications, very memory intensive sometimes, a bit kludgy/hacky at times


Posted in development, opensource, programming
One comment on “Quick Look at Some Rich Client Platforms (RCP)
  1. Scott Leslie says:

    Doug, thanks for sharing this, it is helpful. Cheers, Scott

Comments are closed.

Archives

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 4,340 other followers

%d bloggers like this: