
Home
.. Links
.. Search
.. Plugins
.. Help
.. Irc Faq
Projects
.. Platform/Faq
.. JDT/Faq/Plan
.. PDE/Faq
.. SWT/Faq
.. RCP/Faq
Tools Projects
.. CDT/Faq
.. GEF/Faq
.. EMF/Faq
Wiki Tutorials
Hosted Projects
.. MTJ
.. Google Summer Of Code 2007
.. Update Manager 2.0
.. EasyEclipse
.. Stylebase for Eclipse
Archives
| |
Here is the general answer of IBM.
You can also read the following discussion caught in the newsgroup. |
Why Swt?
This question has been asked and answered dozens of times in this newsgroup, |
so you should review the newsgroup archives first. The short answer to your |
question is that at the time IBM started working on the Eclipse project, |
AWT/Swing was not a viable choice for building an IDE. It was dog slow, |
buggy as hell, memory intensive, with fairly poor emulation of the native |
> As far as I can see, there are three major arguments made: |
> 1) Swing performance is not acceptable |
> 2) Swing forces a compromise in terms of "native" look of applications |
> 3) Swing forces a "least common denominator" approach |
For most of the time that Eclipse was under development, all of the above |
were very true. It has only been a very recent development (~JDK 1.4) that |
Swing has gotten fast enough to be acceptable. The look and feel emulations |
built into Swing are still lacking in terms of platform fidelity (although |
this is mitigated somewhat by the existence of high-quality 3rd party Swing |
> Certainly, Swing performance in early versions was less than satisfactory. |
Well, yeah. When exactly do you think that IBM made the decision to build |
SWT? This was not exactly a recent development. It wasn't as if IBM just |
woke up and said "screw Sun; let's build an alternative to Swing". IBM tried |
to use Swing when they started the project, but it just didn't cut it. |
Fortunately, SWT was the result and still stands as a good choice today. |
Java needs a good, high-quality native widget UI framework. |
> I would argue that SWT introduces as much "personality" to an |
> application as Swing does - while several SWT widgets look more like |
> widgets, eclipse decidedly implements semantics and looks that are very |
> particular to it, and not Windows at all. |
You can build very nice native apps indistinguishable from those built with |
other environments. SWT (and JFace) also support some additional, unique |
components that you can use or not as you see fit. |
> And at least with 1.4, I can't find Swing slow in terms of drawing at all. |
Had IBM waited for JDK 1.4 to come along, Eclipse would still be a couple of |
years away from delivery at this point. |
> Furthermore, it is far from clear today that strict platform adherence |
> products better in all cases. |
> On the low-end, skinable UIs are all the rage. |
You can get that very easily using SWT under Windows (using XP or |
> Unfortunately, as it is built on Swing, it kind of divides the Java |
> community that should gather its strength to provide a real alternative to |
> Windows apps for the desktop. |
Swing is killing Java on the desktop. Maybe SWT can help turn that around. |
> Is SWT really required? |
Yes. It was required several years ago when IBM started the project and it |
can be argued that it is still required today. |
> Or is this yet another approach that is based on the |
> desire of ownership (in the sense of No Invented Here) for realtively |
Desire of ownership? Maybe. Relatively little benefit? No. |
> Which types of improvements could have been done to Swing with the |
> level of effort that obviously went into SWT? |
This assumes that Swing can be fixed or that Sun would have allowed IBM to |
> Why did you choose to re-implement a whole new toolkit instead of |
> what was there, if you felt it was lacking? |
This is covered pretty well in the SWT docs. |
> Or convince Sun to use SWT instead of Swing. |
You would sooner see a snowstorm in Hell. Maybe once IBM buys Sun. ;-) |
> The Java community needs a single UI toolkit |
The Java community needs a good, native alternative to Swing. |
One Point
It's not just that "several SWT widgets look more like |
Windows widgets". In the SWT case, and contrary to what is found on |
almost all Swing implementations, most SWT widgets are Windows (or |
Motif, or GTK, or Carbon, or QNX) widgets. |
Also, you need to make sure that you don't confuse the look and feel of |
Eclipse (the term in the industry is, its "branding") with the look and |
feel of SWT. SWT will allow you to build apps which are |
indistinguishable from other platform apps, since SWT apps are |
platform apps. It just happens that the Eclipse UI developers wanted a |
little something extra to set Eclipse apart from the "run of the mill" |
platform app. SWT also has the power to enable them to do this. |
McQ.
Last Modified 5/17/04 7:54 AM
| Hide Tools
|