After another 6 weeks of working hard towards the Helios Release, we are one step closer. RAP 1.3 M7 for Eclipse 3.6 is out. From the new features, here are my personal top three:
Eventually, a GraphicsContext implementation that lets you draw onto the browser using SWT API! In the early days of RAP, we regarded this as being impossible.
Animations support in CSS enables cool effects like sliding menus, fading tooltips, and more.
Vertical-only grid lines make Tables with alternating row colors look much clearer. I had this feature on my todo list for almost one year.
Here’s a nice Helios feature that comes in handy when you often work with multiple workspaces simultaneously (as we recommend for developing single source application with RCP and RAP). If you do, you probably know this which-is-which guessing when looking at your taskbar (or window switcher):
How can you distinguish your Eclipse instances? How can you tell in which workspace you are editing? There is a commandline parameter -showlocation that appends the workspace location to the window title – not very helpful either. Now since Helios M6, you can give your workspace a name in the Workspace preference page:
Would you like to get an overview of the best features in RAP in 5 minutes?
We just stumbled across this video on YouTube that shows what a modern RAP application can look like (including some new 1.3 features like DnD).
It is stunning that this video presents our vision with RAP much better than we have done it by ourselves so far … and it is always encouraging to see that others are using RAP at this level to create applications that are both technically and visually convincing.
We try hard to enable a “sexy” look and feel for Rich Ajax Platform (RAP) applications. However, without rounded borders and gradients you can hardly create a website that look modern. Take this dialog as an example:
It looks so much better with rounded borders on Shell, Control and with these Button gradients:
The latter screenshot has been taken from the current RAP development stream. These features were challenging to implement but we eventually came up with a solution. The interesting part is that it’s not image based. Instead of creating a bunch of images (one for every corner and side), all you have to do is define your border radius in the CSS style sheet.
How does it work?
We are using vector graphics (SVG/VML) in the browser. This works with all browsers supported by RAP (FF2+, IE6+, Safari 3.1+, etc.) without any add-ons. Check it out on our examples demo.
And how does the CSS look like? For gradients we followed the CSS syntax implemented by Webkit-based browsers as Safari and Chrome. Besides a start color and an end color, you can also define any number of intermediate steps. We only support vertical linear gradients in the first version, but this will change. By the way, we proposed to use the same syntax for styling in e4.
For rounded borders we followed the CSS 3 syntax. You can set rounded borders using the new border-radius property (even a different radius for every corner is possible).
border:2pxsolid#005092;
border-radius:6px;
Both features are available in the RAP CVS and will be included in the 1.3 M1 release shipped in August.
Enabling RCP applications to work with different locales is an essential requirement for server-side Eclipse setups. Multiple users are accessing the same instance of a running application concurrently, and each one should see the UI in his preferred language. Providing a server-side platform, the RAP project faced this problem too and we needed to find solutions to support multiple locales.
Recently I had the chance to discuss with Jeff McAffer how these changes could be integrated into Equinox. There are a number of subtasks to solve:
There must be a mechanism to obtain the default locale for the current user and/or API to request a string in a certain locale.
I opened a new bug for the overall multi-locale topic and added patches to thesebugs. Currently, comments show that there is no consensus on the suggested solution yet. These patches solve the requirements related to RAP, however, other projects may have different needs. If you have use cases related to multi-locale, please share your comments on the bug.
At any rate, multi-locale support is needed and it would be great to have it even in Eclipse 3.6.
So please comment on the bugs and help to push on this topic!
Did you notice that two out of the three finalists for the Eclipse Community Awards in the category “Best Commercial Equinox Applications” are based on RAP? One is a web-based customer relationship management system called PIA, a SaaS application for small and medium businesses.
CAS PIA
The other is Yoxos Enterprise, a single solution for IT departments and development teams to share custom Eclipse-based tool-sets, configurations and source code.
Yoxos Enterprise.
It’s great to see successful applications built on RAP! Do you know of any others out there?
We are a team of dedicated project leads, committers and enthusiasts who have developed innovative training, products and solutions for people working with the Eclipse runtime stack.
If you need to move forward quickly with the Indigo release, or maintain older releases for a longer period, we can help you develop and implement an optimized migration strategy.