Diferença entre AWT e Swing

java_swingA programação na linguagem Java realmente começou a decolar simplesmente por causa de sua capacidade de trazer programas em várias plataformas. Isso não é verdade apenas para computadores desktop, mas o Java também está presente em PCs de bolso e até mesmo em telefones celulares padrão. Por isso, já existe muita gente que deseja programar para a linguagem Java para aproveitar esse grande e crescente mercado.

Programar em Java significa que você deve ter as ferramentas certas para concluir seu projeto de forma rápida e eficiente. Uma das ferramentas essenciais é o componente GUI (Graphic User Interface). Isso permite que você adicione facilmente um componente gráfico sem a necessidade de grande quantidade de programação. Nesta categoria, existem duas à sua escolha. O primeiro é o AWT (Abstract Window Toolkit) e o segundo é o swing, que apareceu muito depois.



Ambos os kits de ferramentas têm seus próprios prós e contras que os tornam adequados para diferentes tipos de necessidades de programação. O AWT utiliza muitos comandos nativos da plataforma que lhe conferem uma grande velocidade. Mas, para convertê-lo para uso em outras plataformas, você deve alterar os comandos correspondentes. O Swing, por outro lado, usa código Java puro, tornando-o muito portátil entre plataformas, ao custo de velocidade e desempenho.

Outra característica do swing é que ele tenta emular a aparência do sistema operacional em que está sendo executado, tornando-o semelhante ao ambiente nativo. Isso é superado pelo AWT, pois usa comandos nativos; ele se parece exatamente com a interface do usuário nativa. Uma grande vantagem do swing é que ele suporta muito mais recursos do que o AWT. Componentes como dicas de ferramentas e ícones não estão disponíveis no AWT, embora sejam totalmente utilizáveis ​​no swing. Os recursos adicionados e o design java puro do swing significam que você precisaria do plug-in java para que o programa fosse executado, enquanto a maioria dos navegadores atuais já suportam as classes AWT que eliminam a necessidade de downloads de plug-ins.

Para resumir, se você gostaria de criar miniaplicativos java simples, você pode achar que os métodos de construção rápidos e fáceis de AWT podem ser de grande ajuda. Mas se você quiser criar um aplicativo totalmente desenvolvido, você pode ver o que balanço poderia oferecer a você. A lista aprimorada de componentes e a portabilidade podem ser mais úteis.