GEF4 - (Continue to) Share and Enjoy...
Dead wood needs to be cut out. And GEF definitely has some: an organically evolved API, a no longer adequate modularization (partly because of e4), a tight corset of API compatibility restrictions. To modernize GEF, an initiative - GEF4 - has been brought into being about a year ago (see http://wiki.eclipse.org/GEF/GEF4). Plans were to develop a new geometry API as a nucleus in the Juno release timeframe, and to port the remaining parts of Draw2d and GEF 3.x as well as Zest 2.x to it afterwards.
Juno has flown by, and the beginning has been made as intended: a first snapshot of the new GEF4 Geometry component is available, and the porting of the remaining code base has been initiated in terms of a second component, GEF4 Graphics, which is intended to provide abstractions for drawing or filling geometric objects and for rendering text and images independent of the concrete underlying windowing toolkit (SWT, AWT, JavaFX). A third component, GEF4 Layouts, which will provide a layout data model (directed graph) and a set of graphics-independent layout algorithms (bringing together what has up to now been separated into Draw2d and Zest), is already clear in our minds.
I want to take this opportunity to sketch what our plans and ideas for GEF4 are, to give an impression on what is already there (the bits and pieces of the new Geometry and Graphics components: http://wiki.eclipse.org/GEF/GEF4/Geometry and http://wiki.eclipse.org/GEF/GEF4/Graphics), and to further outline what we are currently working on and what may be expected in the near future.
Note: This will be an updated and slightly extended version of my EclipseCon Europe 2012 talk: http://www.eclipsecon.org/europe2012/sessions/gef4-share-and-enjoy.