[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ews.eclipse.technology.desk] Re: Q: WORA requirement

Wayne Parrott wrote:
Q: How important is Write Once, Run Anywhere in this project?

I recognize this question has potential flame war write all over it but I believe it is healthy question to pose as we ponder several directions this project can pursue. Here's some background that I have been considering:

1) WORA as a project requirement
If WORA is a project "requirement" then do the results end up being limited by a lowest common denonminator constraint? I must admit that WORA has a mixed connotation to me when it comes to Java meeting desktop technologies. Specifically I can't help but recall my negative experiences with AWT and Swing.



AWT is an interesting example to get the sense Sun gave to the "Anywhere" part from WORA. AWT doesn't have a tree control. Even if this is an extremely useful and used control, for some strange reasons the AWT team considered it as unavailable on all platforms. That might be true for some obscure platform, but all major widowing systems support it...


So I believe that the right and most practical interpretation of "Anywhere" should be: all major platforms. And these platforms should probably be the ones SWT and the Platform projects already focus on.

2) WORA as a project guideline
I'm a pragmatist and WORA as a project guideline appeals to my pragmatic senses. When the WORA guideline over constrains the ability to delivery a significant feature that a large population can benefit then my vote is to relax the guideline and specialize the platform. This is, not something you do on a whim as branching and platform exclusion have a darkside. But I believe the Platform team has demonstrated the effectiveness of such a policy. Successful examples that come to mind are the SWT_AWT bridge and SWT OLE integration.


I believe in the end this project will produce 2 tracks of useful features: WORA-specific and platform-specific. Thoughts?

I think the separation of the features in these two categories is required indeed. WORA specific features should have the highest priority though. The reason is simple: this project shouldn't encourage desktop Java application developers to break WORA but only for limited and very well motivated purposes. When a feature can be generalized across most of the important platforms, it should become WORA specific.


For instance, Win32 registry access is probably platform-specific (at least until a Java layer over the OS components is designed) but RecycleBin/Trash support is definitely WORA specific.

Robert