Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[platform-swt-dev] Support for JSR-198 (was SWT port for Swing!)

Bob Foster wrote:

From: "Jim White" <jim@xxxxxxxxxxxxxx>

This all has been discussed here a few times at least.  But just to put
my thoughts concisely:

There are two big pieces missing in the SWT strategy:

A) An AWT Toolkit implementation using SWT.  That way systems with SWT
native implementations can run AWT/Swing code with no problems for
mixing SWT and AWT/Swing components.

B) An SWT in pure Java.  Whether that means AWT + Java2D (faster) or AWT
+ Swing (easier to implement and support) is not as important as
important as having at least one.  This would also support seamless
mixing of SWT and AWT/Swing components (hopefully with the same API!).

A and B seem to contradict each other. In A you want an AWT on top of SWT,
in B you want SWT on top of AWT.

Yes.  That is called complementary, not contradictory.

At any rate, at the strategy level I agree that A is a big missing piece. I
don't agree that B is required at any level.

Are you serious? B is required for any SWT application that must be deployed in a 100% Pure Java environment.

If SWT supported pure Java deployment, far more potential users would be willing to try it out. With SWT's current take-it-or-leave-it approach, the vast majority of Java users will simply leave it.

To elaborate a little on this point, consider a developer who is willing to push the envelope to get a better GUI and so wants to use SWT. But beyond the developer there is a whole chain of decision makers on out to the customer who may not be quite so willing to take the same sort of risks on SWT native code and the attendant product lifetime support viability and cost.

If the developer can say "but the SWT native code is optional, we have a 100% Pure Java option" then he may at least get the chance to be an early adopter of SWT. And without early adopters, there will never be a mainstream.

Here's another example: B is painless way to make Eclipse IDE components be JSR-198 compatible.

Jim




Back to the top