Artigo Java Magazine 03 - Java Livre

Artigo publicado pela Java Magazine 03.

Esse artigo faz parte da revista Java Magazine edição 03. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

Java e GTK+

Uma alternativa ao Swing

Usando o toolkit livre GTK+ para criação de aplicações Java visuais com performance nativa

Nos seus primórdios acreditava-se que Java seria a plataforma padrão para o desenvolvimento de aplicações no desktop, ocupando o papel que então era do Windows. O tempo passou, e o Java não conseguiu realizar o seu potencial nesta área. Alguns culpam a Microsoft – que “sabotou” o Java ao criar uma versão da tecnologia que rodava apenas no Windows – mas a verdade é que o próprio Java possui deficiências que o levaram a ocupar com destaque, pelo menos até hoje, apenas o servidor e não o cliente.

Neste artigo apresentamos como o desenvolvedor Java pode utilizar o toolkit GTK+, o mesmo utilizado pelas aplicações GIMP, Gnome e Mozilla, para criar aplicações gráficas multiplataforma e com performance comparável a soluções nativas. Mas antes, você pode ver no Quadro "Por que o Swing é lento" o motivo do Java não ter “pego” ainda no desktop.

 

Por que o Swing é lento?

Originalmente, o Java fornecia o toolkit AWT para a criação de aplicações gráficas. O AWT era uma camada Java para os objetos gráficos nativos de cada plataforma, mas restringia-se apenas aos objetos que existiam em todas as plataformas suportadas, a saber Windows, MacOS e X Window (Unix e Linux). O resultado final era um toolkit muito pobre, sem objetos como sliders, abas, grids e tantos outros que os desenvolvedores consideravam indispensáveis.

Pior do que isso, o AWT não se comportava do mesmo jeito em todas as plataformas, porque um botão ou uma caixa de texto do Windows, por exemplo, não se comportam da mesma forma que seus equivalentes no MacOS ou X Window. O resultado levou a uma piada popular parodiando o slogan da Sun para o Java: “Write Once, Debug Everywhere” ("Escreva uma vez, depure em todos os lugares").

Com o Java 2, a Sun decidiu dar o status de padrão a um novo toolkit: o Swing, rico em componentes e escrito inteiramente em Java (utilizando apenas as primitivas gráficas e de janelas da plataforma, ainda fornecidas pelo AWT), e garantindo a compatibilidade multiplataforma das aplicações gráficas em Java. Mas o preço a pagar foi alto: qualquer aplicação Swing, mesmo um simples “Hello World”, é visivelmente mais lenta do que o equivalente escrito com ferramentas nativas, como Delphi, Visual Basic, QtDesigner, Glade ou Hypercard." [...] continue lendo...

Artigos relacionados