Análise comparativa das principais ferramentas para desenvolvimento de interfaces gráficas.

André Luiz Lauria1, Sanae Alves Sato2, Victor Leonard Nascimento de Souza3.

Universidade do Estado do Amazonas / Escola Superior de Tecnologia

(1) drahhen@gmail.com, (2)sanae_am@yahoo.com.br, (3)vsouza@cpaa.embrapa.br

Resumo: Este artigo tem como finalidade realizar um estudo comparativo entre quatro ferramentas para desenvolvimento de interfaces gráficas (Anjuta DevStudio, Qt Designer, Glade, Gazpacho) com base nos critérios de qualidade de software, apresentando um detalhamento de cada ferramenta, com suas vantagens e desvantagens, tendo como conclusão uma lista ordenada das ferramentas com base nos critérios avaliados.

Anjuta DevStudio

Sítio Oficial: http://anjuta.sourceforge.net/

Versão: 1.2.4 (estável)

Tipo de licença: OPL – Open Publication Licence

Plataforma: Linux

Idioma: Disponível em português, e manual em diversos idiomas.

Linguagens utilizadas: C, C++, Java, Pascal, Php, Perl, Pyton, Html, Shell Script, Visual Basic, Arquivos de configuração, Arquivos de propriedades, .mak, .lua, .diff.

Confiabilidade: É um software estável, durante todo tempo de uso funcionou normalmente, dando condições de uso.

Funcionalidade: Depende de outros aplicativos para realizar a criação de interfaces, por padrão o glade, mas pode ser trocado por qualquer outro gerador de interfaces.

Eficiência: Não houve problemas de performance com o sistema.

Usabilidade: A IDE em si é muito prática, de aprendizado rápido, sendo em português e com manual on-line claro, possui FAQ, fórum e lista de email. A parte de criação de interfaces depende da ferramenta utilizada.

Flexibilidade: Consideramos bastante flexível, pela diversidade de opções de configuração de ambiente e de ferramentas de apoio, conforme as vantagens apresentadas.

Manutenibilidade: Depende do gerador de interfaces selecionado para dar manutenção na interface gráfica.

Portabilidade: Depende do gerador de interfaces selecionado para dar manutenção na interface gráfica.

Vantagens:

Possui opções para configuração de variáveis de ambiente: biblioteca, includes, flags de compilação, etc.

Pode importar código de outros arquivos, reutilizando-os.

Possui a maioria das opções comuns nas IDEs: compilação, depuração, cvs, etc.

Fácil aprendizado, facilita sua utilização por estar disponível em Português e seu manual on-line ser bem claro.

Desvantagens:

Algumas de suas principais funcionalidades dependem de ferramentas externas, como:

Geração de interface: Glade (default) ou qualquer outra;

Auto gerar que utiliza o automake;

Depurador que usa o gdb.

Se for utilizar o Anjuta sem nenhum gerador de interfaces, o usuário necessita ser conhecedor da linguagem em que deseja desenvolver para obter sua interface.

QT Designer

Sítio Oficial: http://www.trolltech.com/

Versão: 4.1.0 (estável)

Tipo de licença: GPL – General Public License

Plataforma: Unix, Mac, Windows

Idioma: Inglês

Linguagens utilizadas: C++ (QT).

Confiabilidade: É um software estável, durante todo tempo de uso funcionou normalmente, dando condições de uso.

Funcionalidade: Excelente, existem uma infinidade de componentes já disponíveis, sendo possível criar outros componentes usando a QT, é extensível e customizável, possui também interoperabilidade pois pode ser integrado com o Visual Studio no Windows e o Kdevelop no KDE.

Eficiência: Não houve problemas de performance com o sistema.

Usabilidade: Seu uso é muito prático, aprendizado rápido e fácil, com manual on-line claro porém em inglês, possui FAQ, Fórum.

Flexibilidade: Consideramos bastante flexível, porém não é permitido utilizar outras linguagens de programação além do C++ (QT).

Manutenibilidade: Fácil de realizar alterações.

Portabilidade: A interface criada roda sem alterações em Unix, Windows e Mac.

Vantagens:

O design gerado pode ser utilizado em Unix, Windows e Mac.

Fácil utilização.

Possui versão para Unix, Windows e Mac.

Possui muitos componentes instalados.

Pode ser customizado.

Disponível outra Licença que permite criação de aplicações fechadas.

Seu desenvolvimento não é apenas voluntário, possui uma equipe de desenvolvimento da Empresa TrollTech.

Interface SDI (Single Document Interface).

Desvantagens:

Ele só gera interface para QT.

Glade

Sítio Oficial: http://glade.gnome.org

Versão: 2.12.0 (estável)

Tipo de licença: GPL – General Public License

Plataforma: Unix (Linux, Bsd), porém existe um port para o Windows (gladeWin32).

Idioma: Multilinguas

Linguagens utilizadas: Nativamente C, C++ e Ada95, mas através de bibliotecas externas é possível suportar Java, Perl, Python, C#, Pike, Ruby, Haskell.

Confiabilidade: É um software estável, durante todo tempo de uso funcionou normalmente, dando condições de uso.

Funcionalidade: Bom, existem vários componentes disponíveis, é possível gerar código em C, C++ e Ada95. ou gerar uma XML para ser chamado pela libGlade.

Eficiência: Não houve problemas de performance com o sistema.

Usabilidade: Seu uso não é muito prático, ferramenta é confusa e o sitio oficial é desatualizado, foi usado a versão 2.12.0 que nem é citada no sítio oficial. Os exemplos dados no sítio não são muito claros. O glade não possui wizards para facilitar a criação de interfaces.

Flexibilidade: Pode tanto gerar código quando usar um XML para mostrar a interface, permite usar nativamente C, C++ e Ada95, é possível instalar suporte a diversas linguagens.

Manutenibilidade: Fácil de realizar alterações.

Portabilidade: A interface criada roda sem alterações em Unix e Windows.

Vantagens:

Funciona em várias linguagens de programação.

Compatível entre windows e unix.

Está disponível em várias línguas.

Desvantagens:

Não pode ser utilizado para criar aplicativos proprietários.

Sítio e documentação defasados.

Interface MDI (Multiple Document Interface) que torna a aplicação confusa.

Gazpacho

Sítio Oficial: http://gazpacho.sicem.biz

Versão: 0.6.5

Tipo de licença: LGPL – Lesser General Public License

Plataforma: Linux e Windows.

Idioma: Inglês.

Linguagens utilizadas: O gazpacho gera interfaces no formato do glade, por isso as linguagens suportadas são as mesmas do glade.

Confiabilidade: Devido ao fato do gazpacho ser uma versão em desenvolvimento não é recomendada para ser usada em ambiente de produção.

Funcionalidade: Bom, suporta as mesmas funções do glade, mas com Undo/Redo infinitos e suporte a templates.

Eficiência: Não houve problemas de performance com o sistema.

Usabilidade: Seu apredizado é intuitivo e rápido, pode dar infinitos undo e redo.

Flexibilidade: Gera arquivos no formato do glade, por isso tem acesso a várias linguagens.

Manutenibilidade: Fácil de realizar alterações.

Portabilidade: A interface criada roda sem alterações em Unix e Windows por ser um arquivo glade.

Vantagens:

Undo/Redo infinitos.

Interface SDI (Single Document Interface).

Possui suporte a templates.

Possui instalador para Linux e Windows.

Desvantagens:

Na parte de sinais o gazpacho não mostra os eventos mais comuns e o nome dos objetos automaticamente, tudo deve ser escrito manualmente.

Ainda é uma versão de desenvolvimento.

Somente em inglês.

Conclusão

Após detalhada análise das ferramentas de desenvolvimento de interfaces listamos as ferramentas baseados nos critérios de qualidade de software na seguinte ordem:

1° Qt Designer – Foi selecionado pois foi a ferramenta que atendeu melhor as exigências de qualidade de software e por possuir diversas vantagens em relação as demais, mesmo só tendo suporte a C++.

2° Glade – Apesar de o Glade ter suporte a diversas linguagens de programação que o Qt Designer não possui e estar disponível em português, ainda assim ficou em segundo lugar pois não possui a quantidade de componentes disponíveis no Qt Designer, pela interface MDI e ainda pela sua usabilidade fraca.

3° Gazpacho – Ficou abaixo do Glade apenas por ser uma versão em desenvolvimento e por isso não recomendado para ambientes de produção, mas é mais intuitivo e amigável que o Glade.

4° Anjuta DevStudio – Ficou em último lugar por não ser um gerador de interfaces e sim uma ambiente de desenvolvimento. Ele pode usar qualquer gerador de interfaces.

Referências Bibliográficas

http://anjuta.sourceforge.net, acessado em 27 de Janeiro de 2006.

http://www.trolltech.com, acessado em 25 de Janeiro de 2006.

http://glade.gnome.org, acessado em 26 de Janeiro de 2006.

http://gazpacho.sicem.biz, acessado em 24 de Janeiro de 2006.

http://www.wikipedia.com, acessado no período de 24 a 27 de Janeiro de 2006.

2006-01-24T17:34:26

sanae sato