RAP for RCP Developers

The Rich Ajax Platform (RAP) is "Eclipse RCP for the web". It provides a web-enabled implementation of SWT, JFace and the Eclipse Workbench. RAP enables Eclipse RCP developers to build rich browser-based applications written in Java, without having to learn a big stack of new technologies.

Using course material designed by the RAP project leaders and committers, the people who literally developed the technology, this course builds on your knowledge of Eclipse RCP and shows you how to use RAP to kick-start your web development efforts. Our veteran Eclipse developers, with years of product development experience, teach you everything you need to develop RAP-based web applications. Along the way they provide deep insights and give a special focus to techniques for porting existing RCP applications to RAP and single-sourcing -- creating a code base that is shared between both the desktop and the web.

Course participants walk through the elements of porting RCP applications to RAP and single-sourcing in a series of hands-on focused sessions. Keeping a small class format (max. 6-8 participants) ensures that you'll gain a broad understanding of Eclipse RAP and get plenty of individual support from our experts.

Duration: 2 days

Dates & Registration

USA

Germany

May 14-15, 2012
Virtual Classroom
10:00 am - 6:00 pm Eastern

Register

April 16-17, 2012

Karlsruhe

Sep. 24-25, 2012
Virtual Classroom

10:00 am - 6:00 pm Eastern

Register

October 8-9, 2012
Karlsruhe

To schedule a private or customized "RAP for Java Developers" course, please contact training@eclipsesource.com. We look forward to assisting you.

Goals, Audience, Prerequisites

Course Goals 

  • Understand the fundamental concepts of the Eclipse Rich Ajax Platform (RAP)
  • Apply this knowledge to your web-development projects
  • Become familiar with best practices for RAP development
  • Explore the relationship between RCP and RAP
  • Learn how to port existing RCP applications to RAP and understand single sourcing -- creating a shared code base for RAP and RCP applications

Target Audience

  • Experienced Eclipse RCP developers looking to benefit from Eclipse's Rich Ajax Platform (RAP) for developing general web applications
  • Software architects interested in building business-wide software platforms

Prerequisites

  • A good understanding of RCP concepts
  • Experience using the Eclipse IDE
  • Knowledge of Java and object-oriented programming

Course Outline

Introduction to RAP

  • Brief history of RAP
  • Comparison of RAP to RCP
  • Single-Sourcing
  • Usage options: minimal or full stack
  • Base technologies: Equinox, Servlets

Getting Started

  • RAP Tooling & Target Platform
  • IApplication / IEntryPoint as the main RAP starting points
  • Creating a minimal RAP application
  • Launching the application

Request Life Cycle

  • How does RAP work internally?
  • Phases of Request / Response processing
  • Life Cycle Adapters (LCAs)

Threading Model

  • Apartment Threading
  • Thread model differences between SWT and RAP
  • Writing background processes that update the UI
  • Using Service Handlers

Single Sourcing

  • Single Sourcing: writing a client / web application from a single code base
  • Where to expect differences between RCP and RAP
  • Dealing differences in APIs and dependencies
  • Hiding implementation differences with Fragments
  • Single-Sourcing the RCP Mail application

Server-Side Scopes

  • Learn about the different scopes (request-, session-, application-scope) available within a RAP application
  • Using the RWT class to get access to life cycle management, session- and service-stores
  • Storing data beyond the lifetime of a session with SettingStores
  • Creating session aware Singletons

Internationalization (i18n)

  • RCP vs RAP-style internationalization
  • How to use RWT.NLS
  • Multi-language support for extensions

Additional RAP Topics

  • Enabling the Back / Forward Buttons (BrowserHistory)
  • Deep links and URL rewriting
  • Tweaking Session Management and Timeouts
  • Enabling tabbed browsing for RAP applications

Custom Widgets

  • Example Custom Widgets
  • Creating Custom Widgets in SWT
  • Writing your own RWT custom widget in Java
  • Registering your own JavaScript for client-side widget representation
  • Writing your own LifeCycleAdapter to synchronize the server and client states of the widget

Branding

  • Using Branding to customize the URL, default style and other aspects of your application
  • Styling API (interaction design)
  • Example Styles
  • Contributing your own Branding

RAP Theming

  • Changing the default colors, gradients, borders, images, etc.
  • Using Widget- / Style- / State- / Variant-specific CSS elements
  • Finding out what theming properties are supported by each widget
  • Extending the default RAP themes or contributing a custom theme

Deployment

  • WAR deployment
  • OSGi-based deployment
  • Comparison of deployment options
  • Using the WAR Export tooling (new)

RAP Load Testing

  • RAP load testing with JMeter
  • Recording and playing back user interactions
  • Optimizations and Pitfalls
  • Load balancing

More Info

Format

  • Course Duration: 2 days
  • Course structure: instructor led with at least 50% hands-on labs and tutorials
  • Learn better in a small group: maximum 6-8 participants per instructor
  • Equipment: participants supply their own computer with an up-to-date installation of Eclipse

Languages

Classes in Germany are held in German. All other courses are held in English. Further languages are available on request.

Contact

Unanswered questions? No matching dates? Prefer a course at your office? Need custom training?
We look forward to hearing from you:

Email
training@eclipsesource.com

North America
(+1) 888 679 8753

Europe
(+49) 721 664733 0

http://www.eclipsesource.com

© EclipseSource 2008 - 2012