Talk:Standard Widget Toolkit
From Wikipedia, the free encyclopedia
[edit] Comments made before the major rewrite (21 April 2006)
Why does the SWT page contain "criticisms of SWT" when the Swing page does not? As I pointed out below, there is FUD surrounding performance on non-Windows platforms. The Swing page does not contain FUD about "Swing is slow", should it?
There is also FUD about SWT being slow on non-Windows platforms and problems on the Mac. This was part of a marketing attack from the NetBeans group inside of Sun. The criticism that SWT does not interoperate with AWT/Swing on the Mac is particularly unfair. It could equally be said that AWT/Swing doesn't interoperate with SWT (or wxWindows or Avalon on Windows for that matter).
It would be an advantage for the understanding of the development of Swing and SWT to have some dates or years, the artikle does not gve any date. Since when does Swing and SWT exist, launch year for each major release?
Martinalex
- it represents the third main option for developers when creating desktop applications to execute on the Java platform
The article should say what the other two are. -- Tarquin 16:56, 15 Jun 2005 (UTC)
There is way too much discussion about the Swing/SWT snit and not nearly enough about the architecture, design, and capabilities of SWT. What is it, what does it do, why does it matter? This article seems written to appeal more to the "SWT isn't Swing" evangelists/trolls. -- Invalidname Aug 7 2005.
Isn't it spelled 'favor' or 'favour'? (Answer: 'favour' is British English and seems to be the Wikipedia standard)
This article is very dissapointing. I cam here to learn about SWT, no to listen to a debate over its relative merits with Swing. Anon Apr 7 2006.
[edit] Comments made post rewrite (21 April 2006)
The bug report about SWT being slow on non-Windows platforms is really about Eclipse being slow. Azureus, RSSOwl and other SWT applications don't have this problem. SWT is not Eclipse.
By all means, break out the "Swing vs SWT" part. Also, "SmallTalk" is "Smalltalk" and Erich Gamma didn't design SWT. Have you looked at the source code? Yetch! Despite the fact that Gosling is the designer of Java, his comments about SWT resembling the win32 API and other things he said are dead wrong. Again, go look at the SWT API and source and the win32 API in the MSDN and you decide. He is clearly a bias source due to his position at Sun.
- As for the "slowness" bug report: if you can find some conclusive benchmarks, please include them so that we can have an objective source on SWTs speed on various platforms. They would obviously be very nice to have here. I haven't found any, but maybe I'm not looking hard enough. That said, there are a lot of people who seem to be alleging that "SWT is slow on x platform", and FUD or not, counter-arguments need inclusion.
- The same goes for the source code: just one reference from someone arguing that the SWT implementation is messy and we can put a rebuttal in there; maybe something like "however, others such as John Doe disagree alleging that <quote>".
- As for Gosling, yeah, he probably is biased. We could make a note of this, but I'm just worried about it coming off as bias on our part. He is however a fairly important figure and so his comments need to be included (as readers will probably want to hear the opinions of an important figure on this topic, right or wrong), unless we can find some sort of objective truth that proves that he's not making any sense.
- By all means however, jump in and be bold: you can edit the page as much as you like, and the worst that will ever happen is someone removing the edits you make if their biased or incorrect. GeorgeBills 08:03, 25 April 2006 (UTC)
There are no such thing as conclusive benchmarks when an API is large. Also, it is difficult to get write benchmarks from UI code. For example, Swing queues repaints for later so some benchmarks are meaningless. In the case of SWT, it runs on so many different platforms (more than Swing if you count Photon), you are benchmarking the operating systems. For every person who says, "SWT is slow on x platform", you can find another that has no problem. In any case, they are all talking about Eclipse which is a huge pile of multi-threaded Java code, not SWT applications.
BTW, the father of SWT is Steve Northover, not Erich Gamma.
- SWT speed: if we can reference someone saying all this somewhere then we can include this - forum posts would probably be as low as we can stoop for referencing, but if an SWT developer has said something about all of this somewhere then we should definitely include that in order to represent that viewpoint - do you know of anywhere where we can find a reference like that?
- Design (and the Gamma thing): most of those comments are coming from the referenced link, which is just one guy (plus he's not claiming that Gamma is SWTs father, just that the design was "heavily inspired" by him. Ref: [1]. Again, some conflicting comments that we can reference would be great for balance if you feel the article needs that.
-
- Why is there a discussion of this at all here? The Swing and AWT Wiki don't talk about the speed of either toolkit or contain a similar discussion. In order to be fair, please move all this controversy somewhere else.
- Mainly it's an encyclopaedia article, not an opinion piece: if people are arguing x (and they are), the fact that people are arguing x needs to be included. By all means however, if some very intelligent, famous or experienced (re: SWT) person somewhere has made a comment which rebuts their claims we can include it, and quotes from more knowledgable sources are obviously going to get preferential treatment. GeorgeBills 01:27, 27 April 2006 (UTC)
-
- Ok, but please google on "swing java slow" (1,060,000 hits) and "swt java slow" (143,000 hits). Don't get me wrong. I'm not claiming that one is better than the other or that google proves anything, just that the equivalent controversy exists around Swing. To call out this discussion only for SWT and in the main SWT wiki, is a bias.
-
-
- You can add something to either page if you want: maybe if we split Swing vs SWT into a seperate page we can link to it from both pages. I'm by no means claiming that there's absolutely no-one out there arguing that Swing is slow, that really needs to be addressed if the Swing article isn't covering that. GeorgeBills 01:15, 29 April 2006 (UTC)
-
-
-
-
- Ok George, go ahead and do it. The SWT page should just say what the thing is with links to the other stuff. Once you have done that, I'll review everything again.
-
-
Why does "Simplicity" appear in both the "Advantages of SWT" and the "Disadvantages of SWT" section? Just where should it go? 16:03, 26 April 2006 (EDT)
- Hrm, I thought it was both an advantage and a disadvantage: if you're writing a simple app, extraneous complexity is just going to get in the way. But if you happen to need just one piece of that "extraneous" functionality then suddenly simplicity isn't going to look so great anymore. Maybe that isn't clear enough in the article, or maybe you disagree. I agree that the way it's presented is messy at the moment though, any ideas? Feel free to be bold and make some format changes. GeorgeBills 01:30, 27 April 2006 (UTC)
-
- Yeah, I know what you mean. I guess what I was trying to say was what you pointed out already, that its current presentation is quite poor. I mean, duplicating that whole paragraph word-for-word in both sections just seems kind of weird to me. 12:02, 27 April 2006 (UTC)
Page repeats itself in many places (apart from describing something as advantage and disadvantage which is ok, but should be illustrated in a less lame way than just copy paste..). I think the proposed splitting to a versus would help this situation. --Nkour 01:10, 29 May 2006 (UTC)
It should be emphasized in the rewrite that manual deallocation of resources using dispose() is only required for SOME types of SWT objects, like fonts and colours.
[edit] Slashdot article
More Slashdot on SWT http://developers.slashdot.org/article.pl?sid=06/05/11/1552234 . Please go and read all the discussion over Gosling and SWT. He is claiming that only runs on Windows (which is false) and spreading FUD. There are also posts from people claiming they have no problems with the speed of either Eclipse or SWT on non-Windows.
[edit] Still biased in favour of Swing
Why does the SWT article contain 'Advantages and disadvantages of SWT' when the Swing one does not contain 'Advantages and disadvantages of Swing'? There are plenty of legitimate disadvantages to running an emulated widget toolkit like Swing that could be discussed in the Swing article but are not. This shows a bias towards Swing. All material that compares the two toolkits should be moved out to another article SWT vs Swing.
[edit] Sample Code missing
sample code is missing. Swing has it
[edit] Repetition
There is a lot of repetition in this article between the overview and "Introduction to SWT". A lot of repetition is present in this article between the overview and "Introduction to SWT". There should be less repetition between the overview and "Introduction to SWT".
- Amusingly, you're the third person to say that. :P Feel free to improve things. GeorgeBills 14:11, 1 June 2006 (UTC)
[edit] Criticisms section
Hello! The "Positive and negative criticisms of SWT" section and any discussion of SWT vs Swing need to be moved out. It show a bias in favour of Swing. Why doesn't the Swing wikipedia article contain the 'Positive and negative criticisms of Swing'? Either remove it or add the equivalent section to the Swing entry.
- I'm not fond of SWT, but I do have to concur. Perhaps we should have a separate page Java GUI Comparisons looks at the history of AWT, how Swing came along and the limitations of Swing that drove IBM to create SWT.
* Swing memory use can be pretty bad; believed to be an artifact of its use of nested classes for callbacks (for which we need citations) * Swings complete emulation of the native platform gui can lead to a lag between a new OS release and swing apps looking good in it. Examples: XP, vista. Wherease SWT may adapt faster because it uses more native code.
There's a fair bit of politics in these discussions too; the IBM/Sun battle for dominance of Java developers comes into it. One nice thing about SWT here is that its been open for longer; open source Java implementations like Kaffe/classpath dont have to reimplement SWT the way they do with swing; they just run SWT as is. —The preceding unsigned comment was added by SteveLoughran (talk • contribs) 18:25, 10 February 2007 (UTC).
[edit] Serious cleanup required
Let's see:
- no pretty pictures. We need pretty pictures. NOT OF SWING.
- dozens of unnecessary references which don't help with the article. There are almost more references than statements.
- no timeline, other than a "history of Java UI toolkits" which isn't really the same thing. The SWT history should only mention SWT/AWT to put itself in context, not give them equal billing.
- The Introduction section contains almost no content.
- The comparisons / criticisms section belongs back on whatever Slashdot thread it was copied from at this stage. It certainly shouldn't dominate the article, and a dozen or so extlinks is completely unnecessary.
- The documentation section is weasellier than Weasie the Weasel. Criticism should be kept to its own section at this stage until it can be written up properly.
- Serious need for general copy-editing and article convention conformity throughout.
I'll try to get started on this. First step will be to delete about half of it, I think. Chris Cunningham 00:17, 6 September 2006 (UTC)
- I definitely agree regarding:
- pictures
- the timeline
- an expansion of the introduction
- less weasel words in the documentation section
- copy editing
- However, I think the criticisms need to remain, even if scaled back. There is a lot of argument over which is the "better" toolkit, and I feel that that argument needs to be summarized somewhere, maybe in a separate article linked from this article and the Swing one. GeorgeBills 04:31, 6 September 2006 (UTC)
- I've unified the criticisms sections to provide an overall view which is much less like multiple sympathetic POVs. Anyway, article's looking a bit healthier than it was. Chris Cunningham 10:47, 6 September 2006 (UTC)
- Added a Hello World example. But the article needs serious help. (Aaron Farr 05:02, 13 September 2006 (UTC)
- I don't see how a code example helps one to understand the subject matter. As for cleanup, I've done quite a bit of restructuring to it lately, it used to be a lot worse. Chris Cunningham 08:48, 13 September 2006 (UTC)
- The code example was added since the Swing article has a very similar code example. Do you think we should remove the one in the Swing article?
- The one on the Swing article doesn't add anything much of value either, so it should either be comprehensively annotated or removed. Chris Cunningham 15:17, 14 September 2006 (UTC)
- The code example was added since the Swing article has a very similar code example. Do you think we should remove the one in the Swing article?
- I don't see how a code example helps one to understand the subject matter. As for cleanup, I've done quite a bit of restructuring to it lately, it used to be a lot worse. Chris Cunningham 08:48, 13 September 2006 (UTC)
[edit] Better
Way, way better. My only complaint is that James Gosling, Sun employee and vocal supporter of NetBeans (the competition for Eclipse), is hopelessly bias when he makes statements about SWT or Eclipse. Sun is currently locked in a marketing battle with Eclipse.org (and possibly IBM), attempting to aggressively push NetBeans on Java developers (see any of the keynotes by Sun employees from this year's JavaOne, including James Goslings). I think James Gosling might even be directly involved with NetBeans (director in charge of tools at Sun).
[edit] "J2SE 1.0" is not a valid product terminology (Dec. 2006)
The term "J2SE" was not created until JDK 1.2 and so cannot be used to refer to earlier versions. The use of the term "J2SE 1.0" is not a valid terminology since "J2" refers to "Java 2" which is, by definition, JDK 1.2 or later. Both the JDK 1.0 and JDK 1.1.x product lines can only be referred to as "JDK" and not as "J2SE".
For reference see http://java.sun.com/j2se/codenames.html
The term "J2SE 1.0" should always be rewritten as "JDK 1.0". The term "J2SE 1.1.x" should always be rewritten as "JDK 1.1.x".