segunda-feira, 31 de julho de 2017

O AWT: Ninguém tá usando o AWT?



     Os programadores java e os usuários java utilizam a AWT e nem percebem! Tudo bem, você vai me dizer que os programadores atuais java nem mesmos programam com AWT mas pelo menos utilizam SWING que originou de AWT, portanto, usam sim! Vamos desenterrar o AWT para conhecer a origem da parte visual do java...

O que é o AWT?

     O AWT (Abstract Windowing Tool) foi a primeira, por assim dizer, biblioteca visual feito para java. Pensando neste quesito visual na época de sua origem, a Sun Microsystens, pensou em fazer algo que funcionasse em qualquer sistema operacional. O Java em si já o fazia e como a parte visual estava sendo pensada fazia-se necessário tal onipresença visual, assim eles quiseram colocar os componentes mais básicos que são:
  • Button
  • Label
  • TextField
  • TextArea
  • Checkbox
  • Choice
  • List
    Pois estes componentes povoam basicamente todos os sistemas operacionais visuais, assim é por isso que o AWT é tomado como código nativo em se tratando de programação visual.Um código básico de um Label pode ser visto abaixo (não será inserido o código de cada componente pois não é este o intuito do presente post):

import java.awt.*;
import java.awt.event.*;
public class TestaLabel {
   public static void main(String[] args){
      Frame tela = new Frame("Exemplo AWT");
      tela.setSize(400,400);
      tela.setLayout(new GridLayout(3, 1));
      tela.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      Label teste = new Label();
      teste.setText("Acesse Nosso Blog, Prestigie-nos!!!");
      teste.setAlignment(Label.CENTER);
      tela.add(teste);
      tela.setVisible(true);  
   }
}

     Este código produzirá a seguinte Tela:


     É óbvio que que os xiitas java vão excomungar meu código e rogarão pragas mas estou tentando ser didático e não percebendo as implicações cósmicas de não produzir um código java orientado a objetos para apenas uma demonstração de um Label!


Onde ele é usado hoje?

     Hoje ele fica sendo utilizado em todas as aplicações visuais java, mesmo porque com a herança do Swing com o AWT, ele fica embutido, enfim, ele ainda é usado para algumas coisas, um bom exemplo é em algumas APIs e componentes que utilizam recursos de aceleração de hardware, mas isso ainda é muito raro, porém, ainda utilizado.

Vantagens e Desvantagens

     A principal vantagem de utilizar AWT puro é a produção de um software que trabalhará com toda a usabilidade possível para com a diversidade de sistemas operacionais existentes.
     Porém a grande desvantagem é sua pequena gama de componentes, por exemplo não existe um componente "tabela" ou "árvore", para que tal ocorra é necessário que o programador faça seus componentes personalizados. Tal deficiência é plenamente retificada utilizando SWING.

Conclusão

     O post aqui em questão não é algo aprofundado, claro, é uma apresentação sucinta da AWT, para maiores informações acesse o site da oracle , lá você encontrará a documentação completa desta API. Eu em épocas anteriores programei com AWT, e o chato era fazer as telas todas na unha, mesmo sendo paradoxal, era também um momento gostoso da programação, mas hoje deve-se admitir que tal API já não tem utilidade usual. Assim como o AWT foi substituído pelo SWING, o próprio SWING está sendo substituído pela tecnologia JavaFX. No entanto, toda tecnologia é válida, pois cada uma tem um contexto, uma serventia final.
Grande abraço à todos!!!

Nenhum comentário:

Postar um comentário