Cales son as vantaxes e desvantaxes de Swing fronte a AWT?

0
8958

Swing ofrece un conxunto de compoñentes máis rico que AWT. Están 100% baseados en Java.

AWT, por outra banda, desenvolveuse coa mentalidade de que se un compoñente ou capacidade dun compoñente non estaba dispoñible nunha plataforma, non estará dispoñible en ningunha plataforma. Algo rapidamente portátil da plataforma x a y a z. Debido á natureza baseada en pares de AWT, o que pode funcionar nunha implementación pode non funcionar noutra, xa que a integración entre pares pode non ser tan sólida. Moitos dos problemas orixinais de AWT foron trazables a diferenzas nas implementacións dos pares.

Isto non quere dicir que haxa menos erros en Swing, aínda que a maioría están fóra nestes días. É só que se existe un erro en Swing, é o mesmo problema en todas as plataformas, que non foi o caso de AWT.

[Nota do xestor de preguntas frecuentes] Hai outras vantaxes de Swing sobre AWT:

  • Swing ofrece compoñentes adicionais e funcionalidade adicional aos compoñentes de substitución de AWT
  • Os compoñentes de swing poden cambiar a súa aparencia en función da biblioteca de "aspecto e sensación" actual que se está a utilizar. Podes usar o mesmo aspecto e sentir como a plataforma na que estás, ou usar un aspecto e sensación diferente
  • Os compoñentes de swing seguen o paradigma Model-View-Controller (MVC) e, polo tanto, poden proporcionar unha IU moito máis flexible.
  • Swing ofrece "extras" para compoñentes, como:
    • Iconas en moitos compoñentes
    • Bordes decorativos para compoñentes
    • Suxestións de ferramentas para compoñentes
  • Os compoñentes de swing son lixeiros (menos recursos que AWT)
  • Swing proporciona un dobre buffer incorporado
  • Swing ofrece soporte para a depuración de pintura cando constrúe os seus propios compoñentes

Swing tamén ten algunhas desvantaxes:

  • Require Java 2 ou un ficheiro JAR separado
  • Se non tes moito coidado ao programar, pode ser máis lento que AWT (todos os compoñentes están debuxados)
  • É posible que os compoñentes swing que semellan compoñentes nativos non actúen exactamente como os compoñentes nativos