Eclipse Yoxos Services Downloads Blogs About
Home > Blogs >

on Jun 2nd, 2010RAP protocol: first prototype

Based on your feedback on my last blog posts, I’ve implemented a first prototype of the RAP protocol. Here’s an update on the current state. Several functions are now implemented e.g. server side message creation, client side message processing, client side message creation and server side message processing. The cool thing about all this stuff is that it works already with the RAP lifecycle. To demonstrate the use of the protocol, I migrated the Shell widget. You can see the results in the screenshots below.

shell 1 300x242 RAP protocol: first prototype

shell 2 300x241 RAP protocol: first prototype

The first screenshot shows the protocol based shell. You can see that FireBug is open and is showing the JSON response from the server. The second screenshot shows a JSON request that was sent from the client to the server. The current protocol implementation is a hybrid, which means that it uses JavaScript and protocol messages. With this hybrid it’s possible to run the RAP workbench on top of the protocol based shell.

If you want to test this shell yourself you can use the RAP protocol git mirror which can be found on github. At the github wiki you can see what bundles you’ll need to run the protocol based shell. To start the protocol shell just run the launch configuration within the org.eclipse.rap.rwt.protocol.playground bundle. The code for the protocol is in a very early state, so please be warned that there could still be drastic changes in the code base.

The next step in the development of the protocol will be to test it on a different client technology. For this purpose a demo for the iPad would be the perfect candidate. AdLib is a JavaScript library which brings native like widgets to the iPad’s mobile safari browser. And, I think it will be possible to use this library with RAP and the protocol. I will keep you posted on the progress of the iPad demo. Looking forward to your feedback.

Related posts:

5 Responses to “RAP protocol: first prototype”

  1. Scott Lewis says:

    Hi Holger.

    I would suggest again that you (re) use the ECF container archtecture and create an ECF provider based upon the protocol you are now using. As I think you know, this would be trivial using the json parser included in ECF, and the REST and http rpc support that’s in ECF now as well (that you initiated, and that I improved/generalized).

  2. Csaba Koncz says:

    Hi Holger,

    Congratulations for the first preview release! It took a while until I could actually run the demo (late night is probably not the best time for checking out new technologies), but finally managed to see the JSON messages.

    Can we maybe also have a protocol-based Button sometime? I am not in the situation where I can use a hybrid client.
    Keep up the good work!

  3. Hey Csaba,
    nice to hear that you could test it by yourself. Regarding your question. Today I will migrate some other widgets to have it ready for the IPad demo. So, I think the Button (PUSH) will be one widget for migration. I will keep you posted.

  4. Rüdiger Herrmann says:

    Hi Scott,

    I am afraid but using ECF in this context isn’t an option. RWT, the part of RAP that implements the SWT API must also run “standalone”. That is, without an OSGi container. AFAIK, ECF can’t run without OSGI (correct me if I am mistaken).

    Regards
    Rüdiger

  5. Yury says:

    Hi Holger.

    Do we get a multi-tab support with this protocol? I already saw a simple JSON message in your blog (RAP protocol: JSON messages) and there was a “tabId” property in the meta section. Does it already work or it will be implemented later?

    Best regards,
    Yury.

© EclipseSource 2008 - 2011