Eclipse Rich Ajax Platform

16
Eclipse RAP JUG Cologne, 5th October 2009 Fabian Lange

description

My talk for Java User Group in Cologne about the Rich Ajax Platform from Eclipse. Talk includes a live demo which is unfortunately not in the slides :-) A slightly updated version can be found here: http://www.slideshare.net/fabianlange/rich-ajax-platform-programming-for-web-and-rich-client

Transcript of Eclipse Rich Ajax Platform

Page 1: Eclipse Rich Ajax Platform

Eclipse RAPJUG Cologne, 5th October 2009 Fabian Lange

Page 2: Eclipse Rich Ajax Platform

2 © 2009 codecentric GmbH Eclipse RAP

Agenda

Page 3: Eclipse Rich Ajax Platform

3 © 2009 codecentric GmbH Eclipse RAP

Eclipse RAP

•Rich Ajax Platform•Created under the name W4T (WWWWindowingToolkit)

•Eclipse project since Ganymede release•Donated by Innoopract

•Maintained by EclipseSource•Strategic asset for Eclipse 4 (e4) currently in incubation

Page 4: Eclipse Rich Ajax Platform

4 © 2009 codecentric GmbH Eclipse RAP

So what is it?

•SWT for the web

Page 5: Eclipse Rich Ajax Platform

5 © 2009 codecentric GmbH Eclipse RAP

How does RAP do that?

•Interfaces!•The reason for using interfaces is that you can switch implementations

Operating System

OSGi

SWT

RCP

Application

RWT

•OSGi•RAP cheats and just claims to be the SWT layer

*architecture stack simplified

Page 6: Eclipse Rich Ajax Platform

6 © 2009 codecentric GmbH Eclipse RAP

100%

•RAP is not 100% compatible with RCP•And most likely will not be

•RCP has design flaws preventing multiuser support•Workarounds exist, e4 will solve many issues

•Fail early concept•If it is not supported, it doesn’t compile

•Good news: 100% is often not required

Page 7: Eclipse Rich Ajax Platform

7 © 2009 codecentric GmbH Eclipse RAP

History of RAP

•October 2007•1.0 release. First release to adhere to RCP/SWT APIs

•June 2008•1.1 release, part of Ganymede. Brings many APIs to par

•June 2009•1.2 release, part of Galileo. Improved stability and response times

•Today•Large quantities of RCP application code work on RAP

Page 8: Eclipse Rich Ajax Platform

8 © 2009 codecentric GmbH Eclipse RAP

Agenda

Page 9: Eclipse Rich Ajax Platform

9 © 2009 codecentric GmbH Eclipse RAP

Demo

Page 10: Eclipse Rich Ajax Platform

11 © 2009 codecentric GmbH Eclipse RAP

Agenda

Page 11: Eclipse Rich Ajax Platform

12 © 2009 codecentric GmbH Eclipse RAP

Light Side

•Migrate existing RCP applications•Depending on app, almost for free

•Develop Web Apps RCP Style•Reuse developer know-how

•Easily develop complex applications•Compared to traditional way of adding JavaScript widgets

•Some means of web styling•Web “compatible” themes

Page 12: Eclipse Rich Ajax Platform

13 © 2009 codecentric GmbH Eclipse RAP

Dark Side

•Don’t build web sites•It is a pain in many aspects

•Heavy JavaScript•Slow, but browsers get better

•Differences between desktop and web•Loading and saving files, printing and similar

•RAP does not support all RCP features•Some key&mouse stuff, GraphicalContext

Page 13: Eclipse Rich Ajax Platform

14 © 2009 codecentric GmbH Eclipse RAP

More Topics

Page 14: Eclipse Rich Ajax Platform

20 © 2009 codecentric GmbH Eclipse RAP

References

•eclipsesource.com/rap•Marketing site with demos and stories

•eclipse.org/rap•Main resource for technical information

•eclipsesource.com/blogs/tag/eclipse-rap•Latest news from the RAP team

•qooxdoo.org•JavaScript Widget Framework used by RAP

Page 15: Eclipse Rich Ajax Platform

21 © 2009 codecentric GmbH Eclipse RAP

The Book

•www.rap-book.com

•Introduction for developers & managers•Covers RAP 1.1 (works for newer as well)

•Architecture•Includes SWT, RCP and OSGi

•Development•RCP for web and single sourcing

•Deployment•In OSGi or web container

Page 16: Eclipse Rich Ajax Platform

22 © 2009 codecentric GmbH Eclipse RAP

Contact

codecentric GmbHMerscheider Str. 142699 Solingen

Phone: 0212 / 233628 10E-Mail: [email protected]: www.codecentric.de

Fabian Lange

Senior IT Consultant

E-Mail: [email protected]