Guia Python

Jython, desenvolva em Python na plataforma Java - Revista Java Magazine 95

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (3)  (0)

Este artigo apresenta uma abordagem prática sobre o Jython, explicando alguns conceitos através de pequenos trechos de código e enfatizando o uso desta linguagem na construção de uma aplicação Swing.

De que se trata o artigo:

Este artigo apresenta uma abordagem prática sobre o Jython, explicando alguns conceitos através de pequenos trechos de código e enfatizando o uso desta linguagem na construção de uma aplicação Swing. Também é demonstrado como configurar o ambiente de desenvolvimento usando o PyDev, um plugin para o Eclipse adotado no desenvolvimento de aplicações em Python.


Em que situação o tema é útil:

Este tema é útil para desenvolvedores Python que querem implementar aplicações empregando recursos da API Java ou para desenvolvedores Java que querem conhecer toda a produtividade e simplicidade que a tecnologia Jython pode proporcionar.

Resumo DevMan:

No artigo é mostrado como desenvolver aplicações Jython, ou seja, desenvolver aplicações com a sintaxe de Python para rodar na plataforma Java. Para isso ser possível há um interpretador que faz o papel de traduzir o código Python em bytecodes Java. Essa tecnologia permite ainda que durante a codificação utilizemos classes Java, possibilitando até mesmo o desenvolvimento de aplicações Swing, conforme exemplificado no decorrer do artigo.

A plataforma Java é baseada no conceito de máquina virtual, que é um interpretador responsável por traduzir, em tempo de execução, os bytecodes que formam um programa Java em instruções nativas do processador. Isso torna a aplicação Java independente do sistema operacional e permite que o programa seja executado em qualquer sistema que possua uma implementação para a máquina virtual.

Inicialmente, a plataforma suportava apenas programas escritos na linguagem Java, mas passou a ser multi-linguagem assim como outras plataformas do mercado. Atualmente são suportadas linguagens como Groovy, Ruby e o Python, que será o tema abordado neste artigo. Portanto, um código desenvolvido nestas linguagens também pode gerar os bytecodes que são interpretados pela máquina virtual, da mesma forma que uma aplicação escrita em Java.

A possibilidade de codificar aplicativos em Python para rodar na plataforma Java traz uma série de vantagens e particularidades. O Python é uma linguagem de script orientada a objetos extremamente poderosa e com uma boa produtividade no desenvolvimento de aplicações. Sua flexibilidade, sintaxe simples e limpa tornam a curva de aprendizado da linguagem curta e diminui a complexidade do código, o que despertou o interesse de organizações como Google e NASA.

Ao desenvolver em Python, o escopo de métodos, condições e laços é delimitado pela endentação do código, o que facilita a compreensão e obriga o desenvolvedor a manter uma certa organização. A Listagem 1 apresenta um exemplo de código Python, no qual podemos perceber que a endentação delimita o escopo do método e o escopo do bloco if.

Listagem 1. Exemplo de código Python.

  def methodExample(num):
      print "Esta instrução esta no escopo do método."
      if num > 10:
          print "Esta instrução esta no escopo do bloco If." 

O Jython trata-se de uma implementação da linguagem Python em Java, um interpretador que possibilita que o código escrito em Python, uma vez compilado, gere bytecodes interpretados pela máquina virtual. O resultado obtido com isso é uma aplicação 100% Java.

A tecnologia Jython permite a união das várias vantagens de se programar em Python com a possibilidade de utilizar os vários recursos da plataforma Java. Isso torna possível o desenvolvimento de aplicações híbridas, que unam código dessas duas linguagens em um mesmo software.

Classes em Jython podem estender classes Java, assim como instanciá-las, referenciá-las e acessar seus métodos e atributos. Deste modo, podemos criar aplicações em Jython usando o pacote Swing, acesso a banco de dados e até mesmo aplicações web.

Neste contexto, o objetivo deste artigo é mostrar na prática alguns conceitos do Jython e, por fim, desenvolver uma aplicação Swing com esta linguagem. Alguns trechos de código são explicados no decorrer do artigo, mas é interessante que você monte o ambiente de trabalho e execute cada etapa. Isto possibilitará uma melhor compreensão dos assuntos abordados e uma maior interação com a tecnologia.

Uma passada rápida pela história

O projeto Jython foi criado em 1997 por Jim Hugunin, inicialmente com o nome de JPython. Em 2000, o projeto passou a ser chamado de Jython e foi transferido para o SourceForge, onde permanece até hoje.

A origem do projeto se deu quando Hugunin, que havia criado um módulo de análise numérica para o Python chamado Numeric Python, estava trabalhando no seu doutorado no MIT. Ao fazer um trabalho comparando o desempenho de Numeric Python com várias outras linguagens de programação, ele se espantou ao descobrir que Java era tão rápido quanto C para alguns cálculos numéricos simples. Antes deste fato, ele tinha se desinteressado pelo Java porque o via como um substituto inferior ao Python. Contudo, depois disso, percebeu a possibilidade de Java ser um substituto para o código C que ele estava escrevendo para as partes de maior desempenho em seus sistemas. Hugunin dizia que o código C era propenso a erros e feio se comparado ao Java.

Então, Jim em bytecodes Java

Figura 1. Logo do projeto Jython.

A Figura 1 mostra a logo do projeto Jython, que atualmente se encontra na versão 2.5.2. Sua distribuição e uso, tanto do binário como do fonte, são permitidos sob as condições descritas na Python Software Foundation License Version 2. Dentre os atuais mantenedores do projeto, estão Frank Wierzbicki e Jim Baker. Wierzbicki e Baker também estão entre os autores do Jython Book, um guia de referência para a tecnologia. O livro está disponível online e o endereço se encontra na seção Links.

Como já informado, o Jython é a implementação em Java da linguagem Python. A versão principal do Python foi desenvolvida em C e também é conhecida como CPython. Além dessas implementações, temos o IronPython, que é usado na plataforma .NET.

Cada versão do Jython corresponde exatamente à mesma versão do CPython, ou seja, se você está utilizando o Jython 2.5, você vai ter acesso aos mesmos recursos que estão presentes na versão 2.5 do CPython. Isso é importante porque há algumas diferenças entre cada versão da linguagem.

Estrutura da linguagem "

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?