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.
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
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 linguagem Python tem a filosofia de enfatizar a importância do esforço do programador sobre o esforço computacional. Ela foi projetada para priorizar a legibilidade do código através de uma sintaxe clara e concisa. Esse é um dos fatores que propiciaram vantagens como a velocidade no desenvolvimento, a praticidade e a curta curva de aprendizado. Nesta seção vamos abordar um pouco da sua estrutura estudando a sintaxe de condições, laços, classes e métodos.
Condições
Para começar, nada melhor do que uma pequena comparação com o Java para percebermos um pouco das semelhanças e diferenças. O exemplo ilustrado na Listagem 2 mostra uma condição em Java, onde o valor de uma variável do tipo inteiro é testado e de acordo com o resultado do teste há a impressão de uma mensagem na tela.
int temperature = 20;
if (temperature > 25) {
System.out.println("Hoje está realmente quente.");
}
else if (temperature >= 20){
System.out.println("A temperatura está agradável.");
}
else {
System.out.println("Que frio!");
}
...
Confira outros conteúdos:
Introdução ao JDBC
Novidades do Java
Teste unitário com JUnit
Promoção de Natal
Oferta exclusiva de Natal!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 59,90
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 59,90 /mês
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.