On Where We’re Using EMF…
Blog: Ken Hussey blog
Where are you using the Eclipse Modeling Framework (EMF)? I’ve blogged recently about how perhaps the “E” in EMF ought to stand for Extensibility. More and more, I wonder whether maybe it should stand for “Everywhere” instead. While many feel a burning need to bring the Web to Eclipse, at Cloudsmith we see things a little differently. We see big potential in leveraging the great technologies at Eclipse in new and interesting ways (and places!), one of which is to bring Eclipse (and, more specifically, EMF) to the Web.
When EMF made its debut at Eclipse some eight years ago, it was a framework for developing IDE-like applications. Then, it followed the lead of the Eclipse platform and expanded its reach to support Rich Client Platform (RCP) applications. Earlier in the Helios release cycle, we added support for the Rich Ajax Platform (RAP), which – thanks to the RAP folks’ great work, particularly support for “single sourcing” an application – can almost be treated as a variant of RCP.
With Helios M7, however, EMF moves past the boundaries of the Eclipse platform, and desktop applications in general, by adding support for the Google Web Toolkit (GWT) as a new application runtime. We’ve done this by formalizing the EMF code generator’s notion of a “runtime platform” through an enumeration. Platforms that previously were only implicitly supported – ‘IDE’, ‘RCP’, and ‘RAP’ – are now explicit enumeration literals. And now we’ve added a new literal for ‘GWT’.
So, what does this mean? Well, depending on which runtime platform you choose in your generator model (and which platform you’re targeting), you’ll get a different result when you generate your code. For IDE and RCP, the only difference is in the editor (since RCP comes with certain limiting assumptions). With RAP, your edit and editor code isn’t all that different from RCP, except that you’ll have the ability to run against alternative versions of EMF’s runtime UI plug-ins, which have been customized for RAP.
Ed and I will have more to say about the technical details of this new runtime over the coming weeks. In the meantime, you can refer to the New and Noteworthy page for Helios to help you get started with developing EMF-based applications for GWT!