My "Two Things" for E4

| | Comments (0) | TrackBacks (0)

I'm feeling like heretic when posting to E4 mailing list, so my last posts did not went there (this one regarding OSGi/SWT/EMF Trinity looks to be a straight road to anathema). But I'm already on this road, so I'd like spell my key wishes for E4. Below are my "two things" or what I'd like to see in E4...

Goodbye OSGi...

Well, run Eclipse architecture on top of any (reasonable) modularization model including OSGi.

Do not get me wrong, OSGi is cool technology, however I do not believe OSGi is good for Eclipse. I already blogged on my vision of OSGi/Eclipse marriage, some more thoughts below:

  • OSGi is strictly Java-oriented. Eclipse extension points concept is about injection of any [XML] data. Having E4 trend to be multi-lingual/runtime platform in mind, OSGi do not look to be good foundation due to its Java nature. Consider trivial scenario:

E4 JavaScript client what to query for mime-types (Strings) supported by current Eclipse installation...

Eclipse plugin architecture serves this task well: just query for extensions bound to x.y.z.mimetype extension point. Extensions in form of DOM can be easily processed on JavaScript client, but I do not know how to implement such scenario on top of OSGi without overcomplexifying things.

  • Eclipse is still built on top of extension point concept. AFAIK there are no major Eclipse Projects (besides some parts of Platform) implemented on top of OSGi Services. So no one proved (yet) that OSGi is good for Eclipse in general... OK, I'm talking about OSGi Services. Deployment is fine, and do not forget - Eclipse Plugin Architecture influenced on OSGi a lot.

Like we or not, major Eclipse Project are not on top of OSGi, and 3.x projects will not be pure OSGi projects. I mean you can not add any value to Eclipse Project using pure OSGi extensibity. To add any value you need to plug into Eclipse Plugin Registry. 

So how Eclipse uses OSGi? Eclipse use OSGi for deployment... Only... Being Eclipse plugin developer for years, what I'm know about OSGi? Nothing except starting from Eclipse 3.x I need to align my plugin structure with some OSGi "stuff". In fact Eclipse continue to use Eclipse Plugin Architecture for deployment too, which has been aligned with OSGi. And we know OSGi benefit a lot from Eclipse. Did OSGi added anything to Eclipse? I guess nothing besides buzzword and possibility to say that eclipse now based on some "standard".

So is OSGi fine for E4? I do not think so. Personally I think OSGi may be seriously considered as a foundation for E4 for only 2 reasons: politics or buzzwords. Instead I'd prefer to see extended Plugin Extension Registry (more on this later), as well as ability to run Eclipse Plugin Architecture on top of any modularization model like OSGi or JSR-277.

Technically (and until we do not stuck with OSGi a lot) is much easy to run Eclipse Plugins on top of that systems instead of locking Eclipse into OSGi without any technical benefits.

Goodbye SWT...

Well, completely redesign SWT to say in line with WPF and JavaFX.

It looks like Eclipse Community completely ignore major UI trends. I posted half-dozen of posts to this blog and E4 mailing list, but this post from Ian Skerrett supported my assumption on JavaFX ignorance by key Eclipse persons. OK, I did pointed to this trends several times from technical standpint, let's look from "business" or "marketing" standpoint.

Popular oppinoin is: "Sun is too late (to RIA battle), so we will not care". I do not know who is originated such oppinion (I believe someone from Adobe), but this is simply lie targeted to people who do not want to analyze facts. Let's compare three major players (Adobe, Microsoft, Java):

Modern RIA technologies comprised of 3 important things:

  1. Runtime environment, which is spreaded as wide as possible (e.g. avaiable on every browser/device in the world).
  2. Tooling, to support developers including rich graphical tooling to involve design crowd in development process
  3. Rich UI layer, ideally supporting video rendering, advanced 2D/3D graphics, etc

All 3 things are impotant for success in RIA space, so let's look where Java stand in the past, now, and in future:

  1. Runtime. Do people who think "Sun is late" agree with "Sun too late with Runtime?". I believe they do not. Sun have probably the best runtime (JRE/JVM) for years (comparing to Flash/AVM and .NET/CLR). I believe there are much more browsers in the world, which are able to run JVM comparing to amount of browsers with Silverlight support.
  2. Tooling. Adobe and Microsoft already offer great tools. Adobe traditionaly very strong with their tooling. Microsoft offers Microsoft Expression, which is just amazing from first look. Sun is trying to catch them and JavaFX plugins for Adobe products to support JavaFX technology look like first steps in this area to catch on competitors.
  3. Rich UI layer. True, scenegraph and JavaFX compiler is not finished yet. But is anyone doubts of Sun's abilities to provide solution comparable to WPF and Flex in this year as planned? I do not.

So looking at these items I can't figure why Sun is late. Probably someone can try to argue that Flash is available on 99% of browsers (all versions). OK, I do not know numbers, but let's assume at least 50% browsers have Java plugin installed. How this compare to number of Silverlight installations? Do you have Silverlight installed? OK, on the laptop I'm using to wirte this I have both IE and Firefox. For IE I have all mentioned runtimes installed, but for Firefox I have Java only. Honestly, I'm bored to install Flash plugin (for some reasons one-click-installation failed once), so I'm switching to IE sometimes for Flash content. So in terms of marketshare it's better to say Microsoft is late, Sun do not.

Developers, developers, developers. Someone may point that 99% of RIA developers are on Flex. I believe this is true number, but do you know how many Flex developers are there in the world? 0.1% of Java + .NET developers? More? 0.5%? That number does not matter. When Sun and Microsoft will finally release technologies, which are comparable to Flex, and enterprises start RIA adoption, which RIA technology do you think they will choose? That can be plain old Java vs. .NET battle in RIA space... And some other players like Adobe as usual.

OK, let's back to E4. Actually I do not care if Sun will succeed in RIA battle. What I'm care about is Eclipse as Rich Client Platform, and to be best RCP in future Eclipse need to start its shift together with MS and Sun towards better and richer UI frameworks. In terms of UI, I hope to see one of following for E4:

  • SWT abandoned as "redundant technology" and E4 switched to JavaFX until it is not too late.
  • In best SWT traditions completely new UI layer has been developed, which is comparable to JavaFX, WPF, and Flex in terms of concepts and features. And optionally (which is very exciting), it would be great to make this SWT+ applications able to run on top of JVM, CLR, and AVM... OK, do not get me wrong and forget AJAX, please.

 

0 TrackBacks

Listed below are links to blogs that reference this entry: My "Two Things" for E4.

TrackBack URL for this entry: http://blogs.xored.com/mt-tb.cgi/14

Leave a comment

About this Entry

This page contains a single entry by Andrey Platov published on May 13, 2008 3:03 AM.

Foundation for Anything and Nothing was the previous entry in this blog.

Summarized wishes for E4 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.