3 Eclipse articles
»From the eclipse, java, and mobile part of the brain.
The first article is a short tutorial on the Eclipse Modeling Framework (EMF) and the Graphical Modeling Framework (GMF). What is the EMF? From the EMF website, “EMF is a Java framework and code generation facility for building tools and other applications based on a structured model.” Let me paraphrase: EMF allows you to describe your object model in a neutral structure, the XML Metadata Interchange (XMI).
There are several ways you can generate/write this XML:
- XML-heads can create the XMI document directly, using a text editor
- Hard core UML OOA/D-icts can generate XMI using tools like Rational Rose
- Java-heads can annotate Java interfaces with model properties
- Finally, if you’re writing an application that must read/write XML, you can use XML Schema to describe the model
Now why would you, Java Master/Mistress of the Universe, want to do any of this?
Because the EMF provides the foundation for interoperability between other EMF-based tools and applications. You can create a single model, in EMF, and your organization can develop several tools and applications based on that model. Since the majority of an Eclipse RCP application consists of Editors and Views, the advantage of EMF becomes obvious after you’ve developed your 15th Editor, and you begin to discover that there’s a significant amount of boilerplate code that each Editor needs, such as validation, listening to model changes, tracking model versions, etc.
This is where GMF gets exciting. From the GMF website, “GMF provides a generative component and runtime infrastructure for developing graphical editors based on EMF.” Let me paraphrase: GMF takes your model (generated in EMF) and transforms it into a full-blown graphical editor. Both EMF and GMF are projects under development and hosted at the Eclipse Foundation.
Learn Eclipse GMF in 15 minutes
The second article is about how to draw custom Table and TreeItems. If you’re getting started with Eclipse RCP, and you had to pick one component to learn masterfully, I would highly recommend the SWT Table–as well as the JFace TableViewer, TreeViewer, and TableTreeViewer components. As I mentioned before, the recent release of Eclipse Rich Client Platform 3.2 offers significant improvements to the Table component, that this article describes very well.
Custom Drawing Table and Tree Items.
Finally, the third Eclipse link is to the eRCP, where the “e” stands for embedded. From the eRCP website, “the intent of the eRCP project is to extend the Eclipse Rich Client Platform (RCP) to embedded devices.” This release provides support for the Nokia Series 80 and the Windows Mobile 2003/5 mobile platforms. Why is this important? Two observations:
- Last year, Nokia, outshipped the entire PC industry by a factor of close to three, delivering 153 million mobile phones to consumers. Almost all almost all those devices ship with a version of the Java ME. [Source: Altima, Future of Mobile Java].
- Today, there are around 50 device makers churning out Windows Mobile devices, such as Cingular 8125, T-Mobile’s SDA and MDA, Treo 700, HP’s new line-up, the Motorola Q, and the new Samsung i320 [Source: GigaOm, Revenge of Windows Mobile]