Architexa - Understand and Document  

Labs - Bringing Graphical Apps to the Web

Approaches

There are a number of approaches that we considered for bringing graphical applications to the web. These can be organized around two issues:

Location of code: It is possible to have most of the code running on the client or running on the server.

  • The challenge with running most of the code on the server is that highly-interactive features will have high lag times for the user. Such features include typical actions that users do in a graphical application like drag-and-drop and mouse hovering. We have a prototype built using this approach (see below for instructions), but due to its limitations additional resource are being focused on the other approaches.
  • Having most or part of the code running on the client raises the problem of code maintaining multiple languages or codebases. We are thus focusing on an automated approach for client side code generation to minimize such maintenance challenges.

Rendering technology: There are three potential rendering technologies for running graphical apps on the web.

  • Flash: Currently this seems to be the best option as it is available on all platforms and is consistently implemented on all of them.
  • SVG/VML: SVG is implemented in Firefox, and similar capabilities are avaiable on IE via VML. Using it does require implementing a VML compatabilty layer for IE. However, with the standard being significant the approach is expected to be fairly heavy-weight and therefore slow for some types of applications.
  • Canvas: Canvas is a lightweight response to SVG. It has been standardized and has been implemented in all modern browsers (including mobile devices like phones) except IE. Because of its lightweight nature it is fast. However, the compatability layers for IE have been slow, though we do expect this to get fast with time. While a Canvas front-end might not make be a good approach for right now, we expect it will be a good option the future, and expect that it will be easy to move apps built with the Flash interface to Canvas. Canvas prototypes have been built by porting GEF and SWT to GWT and therefore compiled to JavaScript.

Prototype - lightweight flash client

This work has been done on top of an implementation of draw2d by EclipseSource. Architexa added support for GEF on it. To try out the code:

  1. Use Eclipse 3.3 - it has been only tested on it (though it should work on other platforms).
  2. Check out the code from https://eclipse-gwf.svn.sourceforge.net/svnroot/eclipse-gwf/p1.
  3. You need to download all the projects in the 'app' and the 'web' directory (you will need the 'dsk' directory for running it on the desktop).
  4. You will also need to set your target platform, as is in the zip in the web directory.
Make sense of your code now! Get Started
Architexa is an i3labs project. Copyright ©2017 i3labs. All rights reserved. Privacy Policy | Terms of Use