Java & Raspberry Pi - Parte 1
Publicado em 27/11/2014
A revista Java Magazine da Oracle, na sua edição do último bimestre de 2014, dá início a uma série de artigos muito interessantes, abordando a nova plataforma BlueJ, que permite o desenvolvimento de programas com a Java SE 8, diretamente no Raspberry Pi.
Acredito que atualmente todos já ouviram falar do pequeno computador do tamanho de um cartão de crédito, que custa a bagatela de US$ 40, o equivalente ao câmbio de hoje (27/11/2014) a R$ 100,00. Mas isso para os afortunados norte-americanos, pois aqui em terras tupiniquins o brinquedinho fica bem mais caro, por conta do famoso “custo-Brasil”. Para nós, o modelo B+ básico, com 512MB, fica em torno dos R$ 240,00, ou seja, mais do que o dobro… Como diria o Boris Casoy, “isso é uma vergonha”! Destinado à experimentação e aprendizado, o Raspberry Pi deveria ser isento de impostos e até mesmo distribuído de graça nas escolas públicas… mas isso é uma coisa que é melhor esperar sentado!
Ainda assim, em vista da tecnologia embutida no “bichinho” e o custo comparado ao dos demais computadores, vamos e venhamos que é uma pechincha.
Essa característica de baixo custo foi cuidadosamente observada no desenvolvimento do Raspberry Pi, concebido para ser usado na experimentação em projetos de eletrônica e no aprendizado de programação, e tem muita coisa fantástica por aí criada por marmanjos, embora o objetivo original do projeto Raspberry Pi fosse desenvolver um computador para inspirar as crianças no estudo da tecnologia.
Meu filho me presenteou com um "modelo B", logo quando foi lançado na Inglaterra, e já gastei muitas horas felizes brincando com ele e o Linux. Agora, o artigo da Java Magazine, meu Curso de Programação Java em andamento e meu Raspberry Pi precisando de novos desafios, criaram o clima perfeito para novas e excitantes experimentações.
No seu artigo, Kölling observa que, nos primeiros dias do Raspberry Pi, podia-se instalar e rodar o OpenJDK, mas ele não estava otimizado muito bem para a plataforma ARM e isso prejudicava bastante sua performance. Afinal, o Raspberry tem recursos muito limitados, mesmo comparado a um PC comum dos mais básicos.
No outono de 2013, a Oracle liberou uma versão do JDK otimizada para a plataforma ARM do Raspberry Pi. Ela roda muito bem (dentro das restrições da plataforma), e a Raspberry Pi Foundation começou a incluir o JDK da Oracle no seu pacote de programas: as imagens Raspbian distribuídas para rodar como padrão no Raspberry Pi.
Tudo pronto então para o desenvolvimento em Java? Bem, nem tanto assim. Acontece que, na sua concepção original, o Raspberry Pi era uma solução barata para a experimentação por crianças. Assim, nenhum problema se elas apagassem, por descuido, todo o sistema operacional. Era só reinstalá-lo e começar a brincar de novo.
Essa grande tirada, porém, não funciona bem em Java. Seu desenvolvimento normalmente é feito em IDEs como Eclipse, NetBeans, IntelliJ IDEA, o outros programas do gênero. Nenhum deles funciona bem no Raspberry. São muito grandes e consomem muitos recursos, não tendo uma execução aceitável no pequeno dispositivo.
Por essa razão, até agora o desenvolvimento em Java para o Raspberry Pi era feito num notebook normal e, uma vez completado, o executável era transferido para rodar no Raspberry Pi. Embora isso fosse aceitável para hobistas e entusiastas, fugia da concepção original. Ao invés de ser capaz de usar o Raspberry Pi para substituir um computador normal, era preciso um outro computador, ou seja, mais e não menos hardware.
Para mudar tudo isso, foi liberado agora o BlueJ para o Raspberry Pi. Sua última versão, com o auspicioso número 3.14, foi otimizada para executar sem problemas diretamente no pequeno computador. Inclui também uma biblioteca-padrão, a Pi4, que permite acessar diretamente os componentes de hardware do Raspberry Pi.
Portanto, com o BlueJ instalado, você já pode programar no Raspberry Pi usando a Java SE 8 e todos os exemplos-padrão Java/BlueJ que antes eram disponíveis apenas para os desktops normais. Seu Raspberry Pi pode finalmente substituir o desktop.
Mas você poderá fazer muito mais do que isso. Poderá criar objetos interativos que representem componentes de hardware conectados ao Raspberry Pi, tais como botões e LEDs, e ter uma experiência mais interativa e de maior configuração experimental para este tipo de desenvolvimento como jamais se conseguiu antes.
No próximo artigo desta série, vou esmiuçar os passos que devem ser seguidos para deixar seu Raspberry Pi pronto para a instalação do BlueJ.