Conquering GEF: Creating well designed graphical editors and bringing them to the Web
The Graphical Editing Framework (GEF) enables developers to create client-side rich graphical editors based on existing domain models. In this talk we discuss some of the challenges regarding using it and present our work to take GEF apps to the web.
Part One - Effectively creating a well designed graphical editor
Eclipse's GEF has a steep learning curve, and at times it can be difficult to understand even for developers fully accustomed to it. There are a number of technical challenges associated with using GEF that developers should be aware of and know how to handle.
We discuss difficulties that GEF developers face, and we enumerate ways to overcome them. Topics include using GEF correctly, implementing features not provided by the framework, and avoiding misuses of GEF that result in errors and bugs. In particular we present thoughts on MVC logic separation, the role of edit policies, customized layouts and graphical techniques, and potential threading concerns. The tips and insights provided by this talk are useful for both new and experienced GEF developers.
Part Two - Building graphical web-apps with Eclipse
In the past building interactive box-and-arrow applications has mostly meant being limited to running them on the desktop. Moving them to the browser required a significant re-write and was only possible after severely limiting the application's capabilities.
Inspired by Eclipse RAP, we have been working on supporting the Eclipse GEF APIs in the browser. The goal is to enable an easy transition of GEF-based client applications to the web and support fully functional visualization applications in the browser.
Notes on using the code can be found at Architexa Labs - GEF
Work on this presentation has been done with Elizabeth Murnane
Vineet Sinha has been working for the last seven years in helping users understand and work with large structured information spaces. He has received his PhD at the MIT CS+AI Lab while working as the lead developer of the Relo project. This work has been motivated by his previous experiences working with large codebases, such as Microsoft Office, and has been done in part through collaboration with Accenture Research Labs. Vineet is currently working on building out such tools to help developers understand code
Elias Volanakis is an Eclipse expert at EclipseSource, the company behind the Eclipse RAP project. He divides his time between committer work for the Riena and RAP projects and helping people build Eclipse-based software. He fell in love with Eclipse and GEF while doing his thesis in 2004 and has never looked back since.
Anthony Hunter is a software development manager at IBM Rational Software in Canada. He is the project lead and committer for the Eclipse GMF Runtime and Eclipse GEF as well as committer for the Tabbed Properties View in the Eclipse platform.
Anthony contributes to the Rational modeling product lines, specifically IBM Rational Software Architect. He has historically contributed to Eclipse based products such as WebSphere Studio Application Developer and IBM Rational XDE, and has been actively working with the Eclipse platform since its inception.