Revista Do Linux
 


 
EDIÇÃO DO MÊS
 CD do Mês


 Capa
 Entrevista
 Estudo de Caso 1
 Estudo de Caso 2
 Desenvolvimento
 Programação
 Segurança
 REDES
 Comunidade
 Lançamento
 Internacional
 Mascote
 Corporativo
 Distro
assinantes
 

Ambientes Integrados

Os ambientes de desenvolvimento facilitam a vida dos programadores em todos os sistemas operacionais; e o Linux, é claro, não ficaria fora dessa

O conceito de IDE (Integrated Development Environment) surgiu com o Turbo Pascal da Borland, e consistia na integração do editor de textos, compilador, linkeditor e depurador em um único aplicativo, formando um ambiente para o desenvolvimento de software. Antes dos IDEs, estes componentes eram programas isolados (como devem estar lembrados os programadores Clipper) e este modelo que ainda é utilizado pela maioria das ferramentas de desenvolvimento tradicionais do Linux como o GCC, Perl, PHP e Python.

Esta idéia evoluiu para o conceito de RAD (Rapid Application Development) com o surgimento do Visual Basic, sendo logo imitado por ferramentas como o Watcom C++, SQLWindows e PowerBuilder. Hoje o mercado está praticamente reduzido ao Visual Basic e ao Delphi.

Um IDE RAD é focado no desenvolvimento visual de sistemas de informação cliente/servidor, portanto, dois componentes fundamentais de um IDE RAD são o construtor de formulários e os componentes ou classes de acesso a bancos de dados. Além disso, um IDE RAD deve estar baseado em uma linguagem de programação de fácil aprendizado.

À medida que a presença do Linux cresce no mercado corporativo, cresce também a demanda por ferramentas RAD para o sistema livre. Procuramos dar, neste artigo, uma visão geral das principais opções disponíveis no mercado, sejam elas software livre ou proprietário. Antes de prosseguirmos, não é demais lembrar que o uso de uma ferramenta livre não impede o desenvolvimento de software proprietário, mas o contrário pode ocorrer.

IBM Visual Age for Java 3.02

O Visual Age for Java é o mais antigo dos softwares abordados neste artigo, suportando o Linux há pelo menos dois anos, e é provavelmente o IDE mais avançado disponível no mercado.

Ele leva a programação visual a um novo patamar, pois permite incluir um objeto de qualquer classe (visual ou não) no Visual Component Editor (VCE) e desenhar graficamente conexões entre propriedades, eventos e métodos dos vários objetos envolvidos, de modo que a maioria da lógica de uma interface gráfica pode ser definida sem que o programador escreva uma única linha de código.

O VCE não se limita à construção visual de formulários, mas permite a construção de painéis que são depois utilizados como componentes em outros painéis e formulários, facilitando a reutilização de elementos da interface com o usuário.

Outro recurso único do Visual Age for Java é a capacidade de, a partir de uma conexão a um banco de dados, gerar automaticamente classes representando as entidades e os relacionamentos presentes, segundo o modelo relacional. Essas classes podem ser geradas como Enterprise Java Beans (EJBs) e hospedadas por um servidor de aplicações.

Existem três edições do Visual Age for Java: Entry, gratuita e limitada a 500 classes no repositório (que é um sistema de controle de versões); Professional, sem limite de classes no repositório e acrescentando componentes visuais para bancos de dados; e Enterprise, que adiciona um repositório multiusuário, suporte a EJBs e ferramentas de conectividade a mainframe e a Lotus Notes.

Borland Kylix 2.0

O Kylix foi lançado com grande estardalhaço no ano passado e é um porte do popular Delphi para o Linux. A versão 2.0 foi um upgrade menor, para acrescentar componentes de computação distribuída criados no Delphi 6.0.

A facilidade da linguagem Object Pascal, a velocidade do compilador otimizador e a riqueza de recursos tornaram o IDE preferido dos pequenos desenvolvedores, que não têm tido dificuldades para migrar para o Linux. A Borland parece bastante comprometida em manter o Delphi e o Kylix de modo que, com apenas uma recompilação, o desenvolvedor possa gerar versões nativas para o Windows ou para o Linux dos seus programas.

Existem três edições do Kylix: A Open Edition, gratuita, que não fornece os componentes de bancos de dados ou para web, mas que permite a criação de aplicações GPL; Profesional Edition, que acrescenta os componentes para bancos de dados, incluindo os bancos livres MySQL e PostgreSQL; e Enterprise Edition, que acrescenta componentes Web e CORBA.

Glade 0.6.2

O Glade, dentro do melhor espírito GNU, não é um IDE completo, mas apenas o componente de edição de formulários, à espera de implementações livres dos demais componentes que sejam integradas a ele. Mesmo não sendo um IDE RAD no sentido estrito da palavra, ele deve ser apresentado aqui, por ser a ferramenta preferencial dos desenvolvedores Gnome e, portanto, ele gera interfaces baseadas no toolkit GTK+.

Uma característica única do Glade é o suporte a múltiplas linguagens de programação. O Glade não gera a interface gráfica da aplicação em código (como os IDEs para Java) nem em recursos (como os IDEs para Windows), mas sim em arquivos XML. Isto facilita o suporte a múltiplas linguagens e a localização, pois nem sempre é suficiente traduzir as strings do programa e, muitas vezes, os diálogos têm que ser redesenhados para dar espaço ao texto ou para apresentar uma organização visual mais natural ao idioma, especialmente se falamos de chinês e árabe.

O projeto Gnome-DB está gerando uma série de componentes visuais para interação com bancos de dados, baseados no UnixODBC, mas estes componentes ainda não são considerados maduros o suficiente para serem incluídos na versão estável do Glade.

Kdevelop 2.0

O KDevelop foi iniciado junto com o projeto KDE e, assim como buscava imitar o ambiente gráfico do Windows, o KDevelop imita o ambiente do Visual C++, até mesmo na organização da aplicação em classes de Document e View.

À primeira impressão, o KDevelop não parece dever nada ao seu inspirador, fornecendo diversos assistentes para gerar esqueletos de aplicações baseados nos recursos selecionados pelo usuário, um ótimo editor de programas, depurador incorporado ao IDE e extensiva documentação integrada ao ambiente.

Mas as expectativas criadas são frustradas quando se descobre que o KDevelop não inclui um desenhador de formulários. Embora o menu de Tools inclua o item QtDesigner, não existe integração entre os dois. Seria bom que fosse possível ao menos importar um desenho de formulário criado como QtDesigner como uma classe View do KDevelop, mas esta conversão não é trivial, porque o Qt não tem conhecimento das convenções ou dos componentes extras exigidos pelo KDE.

A falta de um editor de formulários e a escolha da complexa linguagem C++ tornam o KDevelop desqualificado como ferramenta RAD, mas ele é sem dúvida uma ferramenta produtiva para desenvolver softwares básicos e aplicações de produtividade pessoal, como podemos comprovar pelo KOffice e outras aplicações inclusas no KDE.

NetBeans 3.3.1

O NetBeans surgiu como um “clone” do Delphi, escrito inteiramente em Java, que se tornou gratuito e depois livre, sendo finalmente incorporado pela Sun Microsystems, que abandonou seu próprio IDE Java e criou o Forte a partir do NetBeans.

Ele é o mais evoluído dos IDEs livres examinados, e o único que realmente pode ser considerado uma ferramenta RAD. Mas prepare-se para demandas de hardware bem maiores do que com os outros IDEs apresentados, graças ao Swing. Em compensação, o NetBeans suporta mais sistemas operacionais do que qualquer outro IDE e incorpora componentes como o Apache Ant e o Jakarta Tomcat.

O NetBeans não inclui componentes visuais para bancos de dados, mas na verdade a API JDBC do Java é tão simples que não há necessidade deles. Mesmo assim, o desenvolvedor que sentir falta do estilo de programação a la Delphi ou VB pode realizar uma busca no www.freshmeat.net e encontrar classes em Java emulando os dois modelos, chegando, em alguns casos, próximos à capacidade do Visual Age for Java de gerar classes de entidade no padrão EJB.

O desenvolvedor de software proprietário pode se considerar bem servido de ferramentas RAD para o Linux, mas o desenvolvedor de software livre infelizmente ainda não tem ferramentas no mesmo patamar.

Por outro lado, o foco do desenvolvimento corporativo no desenvolvimento para a Web pode, em breve, tornar o conceito de RAD obsoleto e a questão deixará de ser importante. Além disso, uma ferramenta RAD não é tão importante no desenvolvimento de software básico, como utilitários para o desktop.

Outros IDEs

Existem muitos outros IDEs disponíveis para o Linux e, embora a maioria deles não se qualifique como verdadeiras ferramentas RAD, vale a pena examiná-los:

Ferramentas Proprietárias

  • Borland JBuilder (www.borland.com/jbuilder)

    IDE bastante semelhante em aparência ao Delphi, mas inteiramente baseado em Java, o que garante sua portabilidade para diversas plataformas (além do Windows e do GNU/Linux, o Solaris é oficialmente suportado). Possui todos os recursos que se esperam de uma ferramenta RAD e recursos para Web e Enterprise Java.

  • Oracle JDeveloper (www.oracle.com/ip/develop/ids)

    A sua base é o JBuilder da Borland, enriquecido com vários modelos, assistentes e componentes voltados para a linha de produtos da Oracle. É uma opção atraente para usuários deste banco de dados, mas nada impede seu uso com bancos de outros fornecedores.

  • IBM WebSphere Studio (www-3.ibm.com/software/ad/adstudio)

    A linha de produtos para desenvolvimento Web e Java da IBM está sendo redesenhada, com ênfase no suporte a Enterprise Java Beans e JSP, de modo que este não será um IDE RAD no sentido clássico, mas está previsto que um futuro produto desta linha inclua os recursos do VCE do Visual Age for Java.

  • Sun Microsystems Forte (www.sun.com/forte/ffj)

    O Forte substituiu o antigo JavaWorkshop como IDE da empresa para Java, quando da aquisição do Xelphi, que é o antecessor do IDE livre NetBeans. A relação entre o Forte e o NetBeans é a mesma entre o Netscape e o Mozilla ou entre o StarOffice e o OpenOffice. O que o Forte realmente acrescenta é o suporte a Enterprise Java.

  • Simplicity (www.datarepresentations.com)

    O Simplicity é outro IDE escrito inteiramente em Java, mas em vez de focar o lado “enterprise”, ele se define como uma ferramenta para “não programadores”. Ele realmente é simples e prático, mas o seu grande defeito é não ser livre.

    Ferramentas Livres

  • Visual TCL (vtcl.sourceforge.net)

    Talvez seja a ferramenta visual mais antiga do mundo Unix, embora não tenha atingido o patamar completo de uma ferramenta RAD. Tende a se tornar obsoleto pela dependência sobre o toolkit TCL quando o KDE utiliza Qt e o Gnome utiliza GTK+. Por outro lado, também é compatível com o Windows

  • Eclipse (www.eclipse.org)

    É o primeiro fruto da reorganização da linha de ferramentas de desenvolvimento e Web da IBM. Contém basicamente o core do Visual Age for Java, desvinculado do repositório proprietário e suportando em seu lugar o CVS, mas não possui ainda um desenhador de formulários ou suporte à web, que estarão presentes em outros produtos (proprietários) da linha e eventualmente serão replicados pela comunidade no IDE livre.

  • PerlComposer (perlcomposer.sourceforge.net)

    O projeto se define como “um VB para GNU/Linux”, mas o fato é que uma linguagem “estranha” como Perl nunca se qualificará para uma ferramenta RAD no sentido clássico. Entretanto, a biblioteca DBI e o suporte a GTK+ fazem do PerlComposer uma boa opção para os amantes do camelo.

  • Anjuta (anjuta.sourceforge.net)

    O Anjuta é uma ferramenta muito nova e, infelizmente, não houve tempo hábil para avaliar a sua estabilidade e adequação para projetos de sistemas de informação. Mas ele promete ser “O” IDE para o desenvolvedor GNU/Linux. Fornece os recursos do KDevelop em uma interface Gnome e integrado ao Glade para o desenho da interface com o usuário. Entre os modelos disponíveis para criar novas aplicações temos até componentes Bonobo. Como ponto negativo, temos a escolha de C ou C++ para os projetos que não são muito adequadas para RAD.


  • Visual Age for Java (www-3.ibm.com/software/ad/vajava) +
    • Programação visual não só para o desenho de formulários, mas também para a programação da lógica de tratamento de eventos.
    • Geração automática de classes de negócio para bancos de dados e objetos distribuídos.
    • Todo o código gerado pelo IDE, inclusive o acesso a banco de dados, é 100% Pure Java, pode ser compilado sem o Visual Age e executado sem qualquer biblioteca “extra” de run-time.
    -
    • Não roda nas últimas versões das distribuições populares, exige kernel 2.2 e glibc 2.1 (Red Hat 6.2).
    • Somente a versão Windows recebeu as últimas atualizações. Entretanto, a linha de produtos está sendo reformulada e o Linux é prioridade na nova linha WebSphere Studio.

  • Kylix 2.0 (www.borland.com/kylix) +
    • Compatibilidade com o Delphi facilita a reciclagem de milhares de desenvolvedores Windows e o fornecimento de aplicações para as duas plataformas.
    • Facilidade da linguagem de programação Object Pascal.
    -
    • O IDE é uma aplicação Wine, somente o compilador e as bibliotecas são realmente código nativo para o Linux (mas as aplicações compiladas com o Kylix são totalmente nativas).
    • Nem todos os utilitários do Delphi (como o Database Desktop e o Gerador de Relatórios) estão disponíveis para o Linux.
    • Várias das bibliotecas tem licenças incompatíveis com a GPL.

  • Glade (glade.gnome.org) +
    • Suporte a múltiplas linguagens de programação (C, C++, Ada, Perl, Python e Eiffel; previstos Pascal e Java)
    • Geração de todos os formulários como arquivos XML, o que facilita a localização das aplicações.
    -
    • Não é um IDE verdadeiro, mas apenas um construtor de formulários; a compilação e depuração devem ser realizados por outras ferramentas, como o Glimmer e o GVD.
    • Ainda não possui suporte a Bonobo na versão estável, o que permitiria a extensão do IDE com novos componentes visuais.

  • KDevelop (www.kdevelop.org) +
    • Tanto o IDE quanto a biblioteca de classes são muito semelhantes ao Visual C++ da Microsoft.
    • Fornece modelos de aplicações inclusive para Gnome e para modo texto.
    • Extensa documentação para o desenvolvedor KDE.
    -
    • O IDE não inclui um construtor de formulários, e não existe real integração com o QtDesigner.

  • NetBeans (www.netbeans.org) +
    • Suporta não só a programação visual (Swing) como também web (Servlets e JSP) e distribuída (RMI).
    • Vasta gama de plug-ins de terceiros para fornecer capacidades adicionais ao IDE.
    -

  • A Revista do Linux é editada pela Conectiva S/A
    Todos os Direitos Reservados.

    Política de Privacidade
    Anuncie na Revista do Linux