• Share this article:

What is Riena About?

Thursday, June 19, 2008 - 22:49 by Wayne Beaton

Elias posted this note on the Riena Dev list. I think it’s interesting reading that deserves a broader audience. So… here it is.

From my personal point-of-view (having done a couple of RCP projects) the benefit of Riena that is important to *me* is, that Riena will provide a more “accessible” technology for writing rich clients based on RCP.

Accessible in a dual sense:

* for end-users Riena should be more accessible because of the “process oriented” UI that moves away from the ide-centric Views and Editors metaphor. To further increase acceptance by end-users Riena is also aiming to provide support for customizable look-and-feels.

This should reduce the amount of effort and customization required to create a user-friendly, nice-looking application based on RCP. Don’t get me wrong here: I really like Eclipse RCP and it’s flexibility. Hower the framework is quite complex because of that. A solution already sculpted towards a specific use case (i.e. process oriented UI) could lower the barrier of entry for that use case. My understanding is that this is the road Riena is trying to follow.

* for developers Riena should be more accessible because it is exposing existing Eclipse technologies — like Databinding and JFace Viewers — through more “high-level” APIs (for example the Ridgets). This should hopefully flatten the learning curve for adopting those technologies.

For example a ITableRidget provides a multi-column table with build-in sortability support (i.e. clicking on the table headers) and databinding in just few lines of code (i.e. create SWT table control, register table control with Riena, bind model to table ridget). This is all done using existing Eclipse technologies. Without the Ridget a developer would have to learn about TableViewers, learn about Eclipse Databinding, use a databinding enabled label and content provider, learn about selection listeners (for sorting the headers), store the sortability state of each column, manipulate the sortability state of the table ridget based on selection events and so on. Much of this stuff may seem trivial to Eclipse veterans but can be quite intimidating for Eclipse newcomers.

In short the UI-side of Riena aims to lower the barrier of entry into the world of RCP-based clients, by reducing the amount of investment and customization required to create a specific application UI (=process oriented). This should be good news for people who can buy in into that UI style. Note that Riena has more to offer, however I’m speaking for the area that I’m most familiar with.

I love the name “Ridget”. It makes me think of Scooby-Doo (“Raggy, rerate a rable ridget”…).

There’s actually more to Riena than just a higher-level RCP. But this is still pretty cool stuff.