The initial implementation of GEF was done under IBM. Since the 3.0 release, all updates have retained API compatibility. Since GEF is relied upon by many developers, the API compatibility has been a strong point for GEF.
Several features have been added since this release:
- Zest, GEF, and Draw2D were separated
- Bug fixes
- Support for display of non-visible sections of a container
- Zest 2 started in 2010
- Dot 4 Zest
- Cloudio (web cloud visualization like)
However, of the many bugs and feature requests, a lot of them can't be fixed without breaking the API. To facilitate a platform for resolving these issues, GEF 4 was started in 2011. GEF 4 will have:
- API changes and new features
- A completely re-written precision geometry API
- Double precision
- Geometry spaces for special purposes
- Intersection and containment tests on all geometries
- A unification of GEF 4 and Zest 2
- org.eclipse.gef4 namespace to facilitate applications using the old and new (package name isn't final)
Other topics that will be addressed/looked at in GEF 4:
- Componentisation
- Support for the E4 application model
- Rotation and other transformations
- B-spline connectors (multiple curves)
- SWT widgets in graph
- Multi-touch gestures
- Revision of command framework to make use of the platform standards
- Better connection handling
- API restructuring and clean-up
Having used GEF extensively, I have enjoyed the flexibility of the API and am impressed that it still remains fairly powerful after 8 years since the 3.0 release. However, there are aspects of the API that were difficult to grasp and extend, or that required workarounds for practical use (e.g., adapting commands to the platform operation history). Also, since most graphs don't require extensive editing support, it will be interesting to see how Zest and GEF and integrated into one framework.
No comments:
Post a Comment