SWT vs. SWING

Kouba Tomas tomas na neo.cz
Čtvrtek Srpen 28 18:14:05 CEST 2003


Dekuji za kvalitni prispevek. K Vasemu dotazu: zkusil jsem pres Terminal
server na W2000 spustit pres Web Start aplikaci jDiskReport a bezela
normalne. Zadne problemy jsem nezaznamenal. To, ze Swing nebezi pres VNC je
pro mne (neprijemna) novinka.

--
Kouba Tomas
mailto:tomas na neo.cz

> nekolik zmatenych bodu zalozenych na mem rozhodovani mezi Swing a SWT
> (reakce na cely thread), za nepresnosti nebo snad pripadne lzi se
> omlouvam a uvitam opravy:
>
> 1) lehce delam s NetBeans 3.5 a Eclipse 2.1.1 a zadny vyrazny rozdil v
> rychlosti (krome startu) nevidim (jen pro uplnost: win2000 nebo redhat9,
> athlon 2000, 1gb ram).
> 2) pomalost NetBeans nelze tak uplne brat jako pomalost Swingu
> 3) je treba si uvedomit, ze SWT nema takove veci jako MDI (zatim se ani
> neplanuje), komponenta "table" je v SWT implementovana pres windows
> komponentu ListView (udelat z toho klasickou tabulku/grid s ruznymi
> "cell editory" je na masli, pokud to ma byt soucasne pro vice platforem,
> tim hur), windows komponenta TreeView  s tisici polozkami je na masli
> uplne stejne. Knihovna GTK2 kterou je implmentovano SWT pod Linuxem je
> pomala, v soucasne verzi bez vykonostnich optimalizaci (to jeste gnome
> vyvojare ceka). Jestli je tohle prezentovana vyhoda nativnich widgetu,
> tak necemu nerozumim
> 4) zadejte do google "swt swing" nebo "swt vs swing" a vyhleda to flamu
> tri... opravdu dost :)
> 5) pod SWT se _musi_ volat "destroy" (nebo neco podobneho) na
> komponentach aby se uvolnily GDI zdroje ve windows (problem hlavne na
> win9x) (kde je pak vyhoda GC v Jave?)
> 6) kdyz uz debata o SWT, vyplati se podivat i na knihovnu JFace, coz je
> dalsi abstrakce nad SWT (model view atd.)
> 7) tridy komponent SWT _nelze_ dedit (vlastni uzivatelke prvky se musi
> resit kompozici) - to me osobne silne irituje, jineho nemusi
> 8) Swing na jdk1.4.2 je o dost rychlejsi nez treba na jdk1.3, ale Sun
> jeste Swing nepredelal na Java2D api, coz by ho posunulo zase dal
> (antialiasing, vykon) a kdy to bude sem se nikde nedozvedel
> 9) prizpusobeni Swingu vzhledu nativnich GUI operacnich systemu pomoci
> skinu casove pokulhava, veci jako klavesove zkratky uvnitr widgetu, na
> ktere je uzivatel treba na windows zvykly casto nefunguji, vytvari to
> dojem, ze aplikace je "nejaka divna" (lze to ale celkem jednoduse resit
> vlastnim kodem)
> 10) u SWT rozladenost koncoveho uzivatele nejspis nenastane, vse vypada
> a chova se jak zna, spis nastane rozladenost vyvojare
> 11) aplikaci v Jave + SWT lze celkem jednoduse zkompilovat do EXE (MinGW
> - gcc-java)
> 12) Swing aplikace nelze ovladat treba pres VNC (aplikace se
> neprekresluje) - nevim jak je to s Terminal Services (zde bych velmi
> uvital zkusenost ostanich)
> 13) u Swingu je pekna persistence (formularu) do XML (XMLDecoder +
> XMLEncoder, tusim, ze bylo pridano az do jdk1.4) a to vcetne eventu -
> kouknete na BeanBuilder
> 14) SWT zatim nema funkcni GUI builder (s layouty to nemusi byt tak
> hrozna nevyhoda)
> 15) pro Swing existuje (mnohem) vic komponent tretich stran (grafy,
> diagramy...)
>
> odkazy:
> * na http://www.javapro.com/ vyslo par vybornych clanku (s priklady) o
> Swingu - autor clanku: Claude Duguay
> * BeanBuilder - http://java.sun.com/products/javabeans/beanbuilder/
> * http://www.jgoodies.com/ - nekolik ukazek jak muze byt Swing rychly,
> pekny a prijemny na ovladani
> * http://www.jidesoft.com/company/index.htm - "docking framework" a
> knihovny pro Swing (ukazka jak lze pomoci Swingu udelat GUI jako je
> treba ve VS .NET)
> * www.google.com (hesla "swt vs. swing" nebo "swt swing" - mnoho odkazu,
> mnoho srovnani, mnoho emoci :)
> * http://developer.java.sun.com/developer/JDCTechTips/2003/tt0805.html#2
> - SAVING AND RECONSTITUTING SWING COMPONENTS
> * http://java.sun.com/products/jfc/tsc/sightings/S17.html - Swing
> Sightings - screenshoty a odkazy na realne Swing aplikace (jak open tak
> komercni), nektere lze rovnou vyzkouset pres Java Web Start a podivat se
> jak to s tim Swingem vlastne je
>
> Richard Maly wrote:
>
> >Zdravim,
> >
> >mam na starosti novy projekt, ktory vyzaduje "windows" klienta.
> Aj ked robim v JAVA uz vela niekolko rokov este som nemal to
> "stastie" robit vo SWINGu (resp. SWT). Normalne by som asi zvolil
> SWING ale zakaznik ma pomale pocitace (400 MHz), ma ich vela
> (takze nebude upgrade).
> >
> >Ma niekto skusenosti s takymito pomalymi pocitacmi ? Viete
> poradit co je lepsie SWING alebo SWT ? Aplikacia nebude prilis
> rozsiahla (asi 20 obrazoviek).
> >



Další informace o konferenci Konference