Here's a list of the most noteworthy things in the RAP 2.0 M2 milestone build which is available for download since October 05, 2012.
In 1.5 we replaced the communication between server and client with a new, JSON-based format. Now, the client uses the same format to report changes to the server. With this change, the entire communication uses the JSON protocol. No HTTP request parameters are involved anymore. All widgets LCAs have been reworked to handle the new JSON-based message.
The exact format is described in the RAP Protocol wiki page.
During the API clean-up, the following deprecated classes have been removed.
To read the properties from a JSON request, we made some changes to the classes WidgetLCAUtil and ControlLCAUtils. If you've developed custom widgets that use them, please refer to the JavaDoc of these classes for details.
Now that alternative clients can be connected to a RAP server, applications will need to distinguish between different clients, e.g. to render parts differently on certain clients. Clients with additional capabilities like gps, camera, etc. should also be able to expose those client-specific features to applications.
To support those cases, we added a service provider interface Client that can be acquired using the new method RWT.getClient(). Client implementations can provide services, such as a geo-location service, a script execution service, etc. Here's an example:
Client client = RWT.getClient(); LocationService service = client.getService( LocationService.class ); if( service != null ) { service.getAddress(); ... }
Unless you have a custom client implementation installed, RWT.getClient() will always return an instance of WebClient. The web client does not provide any services yet. But we plan to implement at least a script execution service in the next milestone.
Please consider this new API as provisional. It may become necessary to change it before the release.
This list shows all bugs that have been fixed for this milestone build.
The above features are just the ones that are new since the last milestone build. Summaries for earlier builds:
To assist you with the migration from RAP 2.x (or 1.x) to 3.0, we provide a migration guide.