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




2   © 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




3   © 2009 codecentric GmbH   Eclipse RAP
So what is it?
•SWT for the web




4   © 2009 codecentric GmbH   Eclipse RAP
How does RAP do that?
•Interfaces!
      •The reason for using interfaces is that you can switch implementations


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


                                              Application

                                                  RCP

                                                 RWT
                                                 SWT

                                                 OSGi

                                            Operating System
                                                                   *architecture stack simplified
5   © 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



6   © 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




7   © 2009 codecentric GmbH   Eclipse RAP
Agenda




8   © 2009 codecentric GmbH   Eclipse RAP
Demo




9   © 2009 codecentric GmbH   Eclipse RAP
Agenda




11   © 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




12   © 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




13   © 2009 codecentric GmbH   Eclipse RAP
More Topics




14   © 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




20   © 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
21   © 2009 codecentric GmbH   Eclipse RAP
Contact
                               Fabian Lange
                               Senior IT Consultant
                               E-Mail: lange@codecentric.de




                                                   codecentric GmbH
                                                   Merscheider Str. 1
                                                   42699 Solingen

                                                   Phone: 0212 / 233628 10
                                                   E-Mail: info@codecentric.de
                                                   Homepage: www.codecentric.de




22   © 2009 codecentric GmbH         Eclipse RAP

Eclipse Rich Ajax Platform

  • 1.
    Eclipse RAP JUG Cologne,5th October 2009 Fabian Lange
  • 2.
    Agenda 2 © 2009 codecentric GmbH Eclipse RAP
  • 3.
    Eclipse RAP •Rich AjaxPlatform •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 3 © 2009 codecentric GmbH Eclipse RAP
  • 4.
    So what isit? •SWT for the web 4 © 2009 codecentric GmbH Eclipse RAP
  • 5.
    How does RAPdo that? •Interfaces! •The reason for using interfaces is that you can switch implementations •OSGi •RAP cheats and just claims to be the SWT layer Application RCP RWT SWT OSGi Operating System *architecture stack simplified 5 © 2009 codecentric GmbH Eclipse RAP
  • 6.
    100% •RAP is not100% 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 6 © 2009 codecentric GmbH Eclipse RAP
  • 7.
    History of RAP •October2007 •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 7 © 2009 codecentric GmbH Eclipse RAP
  • 8.
    Agenda 8 © 2009 codecentric GmbH Eclipse RAP
  • 9.
    Demo 9 © 2009 codecentric GmbH Eclipse RAP
  • 10.
    Agenda 11 © 2009 codecentric GmbH Eclipse RAP
  • 11.
    Light Side •Migrateexisting 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 12 © 2009 codecentric GmbH Eclipse RAP
  • 12.
    Dark Side •Don’tbuild 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 13 © 2009 codecentric GmbH Eclipse RAP
  • 13.
    More Topics 14 © 2009 codecentric GmbH Eclipse RAP
  • 14.
    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 20 © 2009 codecentric GmbH Eclipse RAP
  • 15.
    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 21 © 2009 codecentric GmbH Eclipse RAP
  • 16.
    Contact Fabian Lange Senior IT Consultant E-Mail: lange@codecentric.de codecentric GmbH Merscheider Str. 1 42699 Solingen Phone: 0212 / 233628 10 E-Mail: info@codecentric.de Homepage: www.codecentric.de 22 © 2009 codecentric GmbH Eclipse RAP