Develop modern web UIs with the newest Eclipse RAP 3.6

September 17, 2018 | 2 min Read

The Eclipse Remote Application Platform (RAP) is a stable, feature complete framework, that allows you to develop modern web UIs for all relevant web browsers. The project has been around for more than 12 years, and with this blog post, we want to present the new features from RAP versions 3.3 to 3.6.

For those who joined the RAP community recently, it is worth to mention that last year we switched to a shorter release cycle. Now instead of a single, large update once a year, we provide small, incremental releases every four months. This helps us to deliver new features and important bug fixes faster while maintaining the same high level of compatibility. Based on the feedback we got from our customers and users, this change was very well received.

Here is a selection of the most noteworthy improvements that we developed in the RAP project for versions 3.3 to 3.6.

FileUpload/FileDialog enhancements

The following new RAP specific API for limiting the upload size and time have been added to FileUploadHandler/FileDialog:

  • org.eclipse.swt.widgets.FileDialog.setUploadSizeLimit(long)

  • org.eclipse.swt.widgets.FileDialog.getUploadSizeLimit()

  • org.eclipse.swt.widgets.FileDialog.setUploadTimeLimit(long)

  • org.eclipse.swt.widgets.FileDialog.getUploadTimeLimit()

  • org.eclipse.swt.widgets.FileDialog.getExceptions()

  • org.eclipse.rap.fileupload.FileUploadHandler.setUploadTimeLimit(long)

  • org.eclipse.rap.fileupload.FileUploadHandler.getUploadTimeLimit()

  • org.eclipse.rap.fileupload.UploadSizeLimitExceededException class

  • org.eclipse.rap.fileupload.UploadTimeLimitExceededException class

FileDialog now shows a tooltip when you roll over the “failed” icon with the reason of the failure.

Add support for RGBA background colors

It’s now possible to set semi-transparent colors as background to all controls.

Add missing SWT/JFace API

  • Table
    • org.eclipse.swt.widgets.Table.setHeaderBackground(Color)
    • org.eclipse.swt.widgets.Table.getHeaderBackground()
    • org.eclipse.swt.widgets.Table.setHeaderForeground(Color)
    • org.eclipse.swt.widgets.Table.getHeaderForeground()
  • Tree
    • org.eclipse.swt.widgets.Tree.setHeaderBackground(Color)
    • org.eclipse.swt.widgets.Tree.getHeaderBackground()
    • org.eclipse.swt.widgets.Tree.setHeaderForeground(Color)
    • org.eclipse.swt.widgets.Tree.getHeaderForeground()
  • Grid
    • org.eclipse.nebula.widgets.grid.Grid.recalculateHeader()
    • org.eclipse.nebula.widgets.grid.Grid.getColumn(Point)
  • TreeViewer
    • org.eclipse.jface.viewers.AbstractTreeViewer.getStructuredSelection()
  • ColumnViewer
    • org.eclipse.jface.viewers.ColumnViewer.applyEditorValue()
  • SelectionChangedEvent
    • org.eclipse.jface.viewers.SelectionChangedEvent.getStructuredSelection()

Improved image handling on Canvas

Images on Canvasare now drawn in the correct order and the graphics state (transformation, clip, alpha, ….) are respected for every image.

Add support for Servlet Containers that use Servlet API 4.0

The version range required by RAP bundles to javax.servlet package has been increased to include 4.0.

How to start working with RAP 3.6

RAP 3.6 is available on the download page. The core libraries can also be found on the Maven Central.

As always, a big “thank you” to all RAP committers and contributors who are helping with testing, discussing, and pointing out issues early.

We look forward to our next release in December, the last one planned for 2018!

Ivan Furnadjiev

Ivan Furnadjiev

RAP Project Lead at EclipseSource