Skip to main content
Jump to: navigation, search

E4/SWT Browser Edition

< E4
Revision as of 13:05, 30 April 2008 by Steve northover.ca.ibm.com (Talk | contribs) (SWT Browser Edition)

SWT Browser Edition

Widgets are coming to the web. You can see them in web technologies like AJAX (Dojo), Flex and Silverlight. These are all "zero-install" technologies. In the case of AJAX, JavaScript, the DOM and HTML are built into the browser. Flex is a pervasive technology, downloaded and installed in the majority of browsers. Silverlight (WPF) is present on most desktops due to the popularity of the Windows operating system.

SWT is a mature and powerful widget technology with a highly portable and functional API. Many Eclipse based products have both a desktop and a web component. In order to run on the web, two code streams are required. SWT Browser Edition would allow code sharing.

  • How can code be shared between the desktop and the web?
    • One approach is to run Java on the server and remote the UI like X-Windows. This is the approach that RAP (Rich Internet Platform) uses. The Javascript library qooxdoo is running on the client, rendering the widgets that are manipulating it from Java the server.
    • Another approach is to run Java on the client. Because Java is not "zero-install", a JVM can't run. Instead, Java is cross-compiled to Flex (ActionScript), Dojo (JavaScript) and Silverlight (.NET) technologies. This is a "GWT-like" (Google Web Toolkit) approach.
  • What are the critical browser technologies?
    • Flex, Silverlight and Dojo have been identified. What about Qooxdoo and GWT?
  • What new API's are needed?
    • Modern desktop and browser widget toolkits support effects and animation. These API's (and more?) need to be added to SWT to keep it interesting and modern.
  • Which desktop API's don't work in the browser?
    • The browser can't wait. That means event loop API's like readAndDispatch() or sleep() can't be implemented. What can we do instead?
  • In order to cross compile, a JCL (Java Class Library) is needed. How big is this?
    • We currently have a CLDC superset (but not that much more). If we restrict the size of the library, downloads will be smaller and faster. If the library is too small, it won't be useful.
  • Is code ported to SWT Browser Edition?
  • Is there a JFace Browser Edition?

Back to the top