Quins inconvenients té Java Swing GUI framework té?

Jonas

Swing generalitza la seva arquitectura subjacent per brindar-li una experiència d’usuari neutral a la plataforma. L’únic component de pes pesat (proporcionat pel sistema operatiu) és el contenidor JFrame i la resta és manejat per Swing takeit. AWT, d’altra banda, li demana a sistema operatiu que dibuixi tots els seus components de la interfície d’usuari, el que significa que és més ràpid de moltes maneres a mesura que utilitza els components de la interfície d’usuari nadius específics de sistema operatiu. SWT intenta arribar a un punt mig, per a diversos components estàndard com botons i etiquetes (que estan disponibles a la majoria dels SO), permet que el SO s’encarregui d’aquests i per altres components especialitzats, SWT s’encarregarà de la creació per vostè.

Dit això, puc descriure els inconvenients.

(1) Atès que el conjunt d’eines crea i renderitza els components per vostè en lloc de preguntar-li a sistema operatiu, no pot aprofitar la velocitat dels components integrats proporcionats pel sistema operatiu.

(2) la interfície d’usuari no és particularment perjudicial, ja que es veu aliena a la majoria de les plataformes de sistema operatiu pel que fa a la aparença que fa servir.

(3) Alguns dels administradors de disseny, és a dir, GridBadLayout, etc., podrien simplificar millor. He perdut el compte de la quantitat de projectes en què he treballat en què la gent ha inclòs GridBagLayout en un codi personalitzat per obtenir una forma més senzilla d’usar-lo.

Li aconsello que escrigui una aplicació simple en AWT, Swing i SWT i compareu els enfocaments de desenvolupament i el producte final entre tots, després revisi els diversos comentaris realitzats per altres desenvolupadors i decideixi quin funciona millor. He treballat amb Swing durant molts anys i solia disgustar SWT, però em vaig adonar que Swing és molt més complicat del que hauria de ser en comparació amb altres marcs existents.

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *