Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[platform-swt-dev] AWT Toolkit using SWT (JUST SAY "NO"!)

> [mailto:platform-swt-dev-admin@xxxxxxxxxxx]On Behalf Of Jim White
>
> Scott Stanchfield wrote:
> > Take a look at some past notes from me on this topic.
> Basically, I started
> > doing this, then stopped because I was deathly afraid that I'd
> be the one
> > responsible for turning Eclipse into a FrankenUI -- some stuff
> would look
> > native, others would look like Swing.
> >
> > Raise your hand if "ewww"...
>
> That's the wrong spin on this issue.
>
> The point of SWT is that the native layer should be a direct mapping of
> the OS API to expose it to Java.  A big problem with Sun's JDK is that
> the AWT peer's are implemented in native code rather than Java.
> Providing an AWT Toolkit for SWT eliminates all the incompatibility
> nonsense.
>

I guess you didn't read at my past notes ;)

My point is that if an AWT peer layer using SWT is developed, people can
then use Swing to develop UIs for Eclipse. I consider this a "given",
because if people already know Swing, and Swing is supported for use in
Eclipse, many (if not most) Swing programmers won't bother to learn SWT.

The end result? "FrankenUI". Some plugins in Eclipse would look native (the
ones using SWT), while some would look drawn (the ones using Swing). Eclipse
would end up looking/feeling worse than Netbeans.

In the end, Netbeans would feel more consistent, as all the UI parts would
look/feel the same (even if that look/feel is evil...)

IMHO, *all* plugins in Eclipse *must* use SWT for their UIs if Eclipse is to
remain good as an INTEGRATED development environment.

As far as UI toolkit design is concerned, I'm fully in the "SWT corner". I
initially really liked the concept of Swing (and IFC), but they never really
got it to look or feel right. Most users want their apps to look/feel the
same on a platform. If you remember all the UI tookits that came out for
Windows 3.x, you can understand the horror of inconsistent user interfaces.
(Or, you can look at most UIs on *nix boxes to see it now.)

AWT really should have been designed like SWT was.

As for "having more than one GUI API", that isn't a problem *as long as the
end user UIs look/feel exactly like the native apps on a user's computer.*
That's where Swing becomes the big problem. Swing's just plain wrong.

-- Scott




Back to the top