Mostrando postagens com marcador sdk. Mostrar todas as postagens
Mostrando postagens com marcador sdk. Mostrar todas as postagens

Executando Python no Android OS da Google

Olá pessoal,

Este post é resultado de um experimento rápido que eu realizei nestas semanas sobre uma curiosidade que me alimentava há um certo tempo: " É possível desenvolver com Python na plataforma Android ?"
E a ótima notícia é que sim, é possível!  Eu estava brincando com meu N900 da Nokia que vem com o Maemo OS e este tem  suporte total ao Python nativo. Mas, é difícil no mercado brasileiro você comprar um N900, especialmente depois que a Nokia divulgou o seu preço oficial que fica acima da faixa de R$ 1000 reais.  E ultimamente tenho visto uma tendência positiva de aparelhos embarcados com a plataforma Android da Google e  suportada por fabricantes bastante populares no mercado brasileiro como a Motorola, Samsung, HTC, LG, etc. Como sou um fã da linguagem Python e pelas suas particularidades que fazem desta linguagem ser uma ferramenta para construção rápida de aplicativos, fiquei curioso para saber se o Android suportava desenvolvimento com Python.

Mas calma, nem tantas alegrias! De fato a plataforma oficial de desenvolvimento para o Android é a linguagem Java e que permite total integração com o sistema operacional e consequentemente a construção de aplicativos completos que possuam GUI e ao mesmo tempo instaláveis. Por enquanto assim como Python e outras linguagens de script é necessário que você instale um interpretador runtime para o Android e assim você poderá rodar seus scripts Python.  De acordo com alguns forums que venho acompanhado, parece que há uma movimentação no Google para tornar possível a construção de aplicativos completos com linguagens de script como Python, inclusive disponibilizando-os via a loja virtual Android Market.

Agora que sabemos que é possível desenvolver pequenos aplicativos Python no Android, vamos para a próxima etapa que é como e por onde começamos a desenvolver.  A resposta para esta pergunta está no projeto extra-oficial android-scripting (ASE).

Este projeto apresentado oficialmente em meados de 2009 agora conhecido como SL4A (Scripting Layer for Android) trouxe ao sistema Android o suporte a linguagens baseado em scripts como Python, Perl, JRuby, Lua, JavaScript, Tcl, e até o Shell. De acordo com o wiki do projeto, ele pode ser executado via terminal ou em background.

Tela de Edição do ASE

Existem 2 maneiras de instalar o interpretador e executá-lo: Por meio de um aparelho que tenha o sistema operacional Android ou pelo uso do emulador. Neste tutorial focarei na instalação no emulador, pois mesmo você não tendo um aparelho em mãos pode já começar a escrever códigos Python para executar no emulador e no futuro com seu aparelho em mãos vê-los em tempo real.  Deixo claro que nem todas funcionalidades estarão ativas por meio do emulador como conexão bluetooth, speech-to-text, câmera e outras funcionalidades avançadas. Você pode ter mais detalhes sobre o emulador no site oficial do Android.

Vamos ao passo - a - passo (neste tutorial foi usado o sistema operacional Mac OS 10.5)

1 - Instalar o Android SDK

Por meio deste post (existem diversos pela internet (Windows)) eu consegui instalar o SDK do Android (neste tutorial a última versão era a 2.2).  Com apenas o passo 2: Download the Android SDK,  já é possível ter o emulador pronto para uso.

2 - Configurar o Android Virtual Device (AVD)


O próximo passo é criar uma dispositivo virtual (AVD), com este é possível simular o dispositivo  com a versão do Android desejado. Para isso navego até a pasta onde eu extraí o android sdk:
  • /android-sdk-mac_86/tools  (meu caso no Mac)
  • C:\android-sdk-windows\tools\android.bat  (possível no Windows)
Executo o comando:

         ./android   (no Mac OS) ,  C:\android-sdk-windows\tools\android.bat (no Windows).

Crio um novo AVD, nomeado 'ASE_test', conforme a imagem abaixo:




Selecione o AVD criado e clique no botão 'Start..'


3 - Instalação do ASE (Android Scripting Enviroment)

Você pode instalar por via console, baixando os pacotes no seu browser e depois instalando mediante comandos no console (ver este link) ou você pode fazer toda a instalação dentro do próprio emulador! Muito mais fácil, pois o Google permite instalar aplicativos no seu emulador como se fosse um dispositivo real! Para facilitar esta a visualização desta etapa, preparei um vídeo passo-a-passo ilustrando a instalação completa e inclusive como editar e executar scripts python com o ASE no emulador Android (serve também no dispositivo móvel).



Running Python on Android OS Emulator from Marcel Caraciolo on Vimeo.


O que está acontecendo por baixo ? Para simplicar, o ASE provê  uma classe facade (fachada) que permite a integração via API por meio JSON RPC que funciona como um proxy. Assim funcionalidades nativas podem ser acessadas por meio desta fachada em interpretadores como Python e Lua. Claro que estas devem estar encapsuladas pelas classes AndroidFacade e AndroidProxy que de acordo com os autores do projeto são simples de extender.

4- Só programar e se divertir!

Pronto pessoal, vocês podem ter agora o Python rodando no seu emulador ou até no seu aparelho (os mesmos passos podem ser feitos em um dispositivo real). No emulador, embora limitado, já dá uma prévia do que é capaz a plataforma Android que abrange milhares aparelhos de diversas fabricantes. Vale ficar de olho nela, em especial no Brasil!  Pode tomar o lugar da Nokia na categoria Smartphones, se a Nokia não acelerar seu desenvolvimento com o MeeGo.

Há mais informações no site oficial do projeto do ASE-Android  e se quiser acompanhar a lista de dicussão do mesmo, também se encontra neste link.

Espero ter ajudado a todos a conhecerem mais uma plataforma que Python está presente: A plataforma Android da Google!

Até a próxima,

Atenciosamente,

Marcel Caraciolo

Olá pessoal,

Recebi uma ótima notícia hoje! O PyS60 (Python para Symbian) foi liberado hoje para comunidade com uma nova versão!!  Finalmente a tão aguardada versão 2.0! 

Sem dúvidas uma bela notícia para os desenvolvedores de aplicativos móveis, em especial, para aqueles que desenvolvem com a linguagem de programação Python e trabalham com dispositivos móveis embarcados com o sistema operacional Symbian como Nokia, Samsung, etc.




De acordo com a release notes que acompanha este pacote, esta versão estará disponível para os aparelhos Symbian S60 3rd Edition, 3rd Edition FP1 e FP2 e S60 5th edition.

Entre as features existentes, valem destacar:

  • Tutorial para Iniciantes que acompanha o instalador para o Windows
  • Algums problemas e bugs relacionados à memória foram consertados
  • Os UIDS agora poderão ser atribuídos à aplicação no momento da geração do instalável (.sis). O que significa ??  Os Aplicativos podem ser assinados e consequentemente podendo submetê-los ao Nokia OVI Store!  Agora você poderá  vender e divulgar seus aplicativos Python para o mundo todo!!!  
  • Não testei ainda isso, mas estou aguardando no fórum pelos primeiros desenvolvedores que conseguirem!

É isso aí pessoal!  Ótima notícia da Nokia, em especial do Symbian pela grande iniciativa em continuar o projeto Python para dispositivos móveis! Sem dúvidas só tem ainda mais agregar forças ao Symbian, estimular os antigos desenvolvedores que usam Python como plataforma e incentivar iniciantes a conhecerem essa poderosa plataforma de desenvolvimento!


Se vocês querem baixar o PyS60 2.0 vá até este link (Ele está hospedado no Garage Maemo). Querem saber mais sobre o PyS60 ?  Visitem a lista de discussão sobre o PyS60, sempre há pessoas aptas para te ajudar!


Ah, sim! E fiquem antenados!! Em breve um novo aplicativo sairá do forno por aqui! Acho que vou começar a brincar com o FourSquare !!

Sun libera o Java ME SDK para o MAC OS!

Olá pessoal,

Aproveitar para dar uma ótima notícia aos desenvolvedores Java, especificamente aos que desenvolvem aplicações móveis em Java ME! A SUN finalmente liberou o SDK (emulador + SDK) para o sistema operacional Mac OS !

O Java ME SDK 3.0 for Mac OS (como foi chamado) dispõe:

  • Suporte ao CLDC 1.1/ MIDP 2.1 com emulador multi-tarefa. Isso também inclui às APIS do MSA 1.1 (Mobile Service Architecture) , Mobile Sensor API (JSR 256) , XML API (JSR 280) e Payment API (JSR 229).
  • Deployment direto no aparelho com suporte à debugging
  • Suporte integrado ao Toolkit de Interface gráfica LWUIT (1.2)
  • JDK 1.5 e JDK 1.6 (Suporte)
  • Banco de dados de milhares de especificações de aparelhos móveis também disponível através de uma interface de pesquisa que acompanha o SDK
  • Suporte ao Java FX Mobile Runtime versão 1.2.1
Que presentão da SUN! Parabéns a todos envolvidos, embora meio tarde... mas antes tarde do que nunca!

Para download e mais informações ver este link:

Nokia lança OVI SDK (Acesso a mapas e muito mais!)

A grande novidade lançada hoje pela Nokia no evento Nokia World foi o Ovi SDK. E digo de passagem que realmente fiquei impressionado com o poder deste SDK. Ele é uma API para ajudar os desenvolvedores a fazer aplicativos para os celulares Nokia.

A principal vantagem é que ela será a mesma para os sistemas Symbian e Maemo, uma vez que é baseada em Web (HTML, CSS e JavaScript). Isso ajudará o desenvolvedor a integrar e uniformizar a interface e o desenvolvimento, visando facilitar a vida do usuário e do desenvolvedor.

Uma das funcionalidades mais legais é a disponibilidade do Ovi Maps que oferece uma gama de possibilidades ao desenvolvedor para produzir aplicativos baseados em localização do usuário. Pelo vídeo apresentado abaixo, vi que o poder dessa API é gigantesco, inclusive na construção de aplicativos que usem serviços de localização e mapas.




Popout

No SDK inclui-se também um emulador que facilita os testes dos aplicativos. Ele é gratuito e pode ser baixado no Forum Nokia (é preciso registrar-se) no endereço abaixo:


http://www.forum.nokia.com/Ovi/

Acho que estou pensando a voltar estudar Web Runtime e JavaScript, está ficando realmente uma plataforma viável e poderosa de desenvolvimento de aplicativos!

PyS60 versão 1.9.7 lançada!

Uma nova versão do PyS60 foi lançada, chegando na sua oitava versão 1.9.7 rumo à versão final 2.0.

Seguem as novas funcionalidades nesta versão:

* Suporte ao touch para o GLCanvas UI Control. O controle direcional é exibido por default nos aparelhos touchscreen. Um aplicativo demonstração (gles_touch_demo.py) foi adicionado ao ScrpitShell que demonstra a funcionalidade.

* Duas novas APIs foram adicionadas ao canvas - begin_redraw e end_redraw. Estes podem er usados para instruir o gerenciador de janelas a fim de manipular a repintura da tela no canvas UI Control. Mais informações podem ser encontradas na documentação (Seção 3.1.10).

* O listbox com múltipla escolha foi modificado de tal maneira que agora a caixa de diálogo "checkmark" agora tem a opção "Options" e "Back" na esquerda e direita respectivamente (softkets). O Back retorna o estado atual do listbox baseado nos items selecionados.

* O controle direcional (4-way directional pad) com suporte ao landscape.

* Diferentes tipos de ScriptShell podem coexistir no aparelho (Isso foi muito bom!!)

* Alterações no código do aplicativo exemplo Scribble com a adição do uso das APIs begin_redraw e end_redraw (Melhora de desempenho) e a área de pintura é mantida mesmo alternado para o modo landscape ou portrait e o toolbar se ajusta automaticamente de acordo com a alteração.

* E por fim, a documentação do PyS60 pode ser acessada online no site:
http://pys60.garage.maemo.org/doc/

* PS: Versões com código-fonte para uso no Linux e MAC OS agora disponíveis! =D

Para download do aplicativo, acessar o site garage maemo!


PyS60 versão 1.9.6 lançada!

Olá,

Um pouco sumido mas prometo trazer novidades em breve! Vida de mestrando não é fácil...

Mas uma novidade para os desenvolvedores Python e da plataforma Symbian. Uma nova versão do PyS60 (Python for S60) foi lançado hoje pelo time de desenvolvimento. Esta novea versão, 1.9.6 não traz grandes novidades, mas corrige diversos bugs das versões anteriores 1.9.x. A principal novidade é a criação de um D-pad (um controle virtual para telefones touchscreen Symbian ) que é exibido na parte inferior da tela.

Outra novidade é a adição de um nova seção na documentação do PyS60, com um guia de como desenvolver e criar extensões para PyS60 (Sem dúvidas a feature mais legal!).

Além de correções de bugs e a redução de tamanho do Python Packager.

Como sempre, uma nova versão é sempre bem vinda, e a atualização do SDK do seu PyS60 é sempre recomendável!

Para mais informações sobre o SDK, ver este link.

Para download, visitar o site do garage maemo aqui.
Até a Próxima!

Nova Release do Java ME SDK 3.0!

Direto do JavaMovel.com:

A Sun Microsystems acaba de lançar o Java Platform Micro Edition Software Development Kit 3.0, também chamado, Java ME SDK 3.0. Este será o sucessor do popular Sun Java Wireless Toolkit 2.5.2 e integrará CLDC, CDC e Blu-ray Disc Java (BD-J) num mesmo SDK.

Esta nova versão traz as seguintes novidades:

* Integração com emuladores de terceiros, bem como, de dispositivos com Windows Mobile;
* Simplificação no processo de deploy em dispositivos reais;
* Integração do CDLC/MIDP, CDC/FP/PBP/AGUI e BD-J em um único SDK, não sendo mais necessário o download e instalação de pacotes separados;
* Uma nova máquina virtual HotSpot CLDC, em substituição à antiga KVM;
* MSA 1.1 otimizado e com extensões;
* Suporte a profiling;
* Suporte a BD-J;
* Novo ambiente de desenvolvimento baseado na plataforma Netbeans;
* Integração com Lightweight UI Toolkit (LWUIT);
* Pesquisa por especificações técnicas de dispositivos integrado no SDK.


Lembrando que o ambiente de desenvolvimento tem fácil integraçao com o NetBeans, onde novos desenvolvedores terão mais facilidades de criar as suas primeiras aplicações.

No Netbeans, as principais ferramentas deste ambiente de desenvolvimento integrado são o editor de código, gerenciador de projetos e arquivos, integração com o Anterior, configurações do projeto, ofuscador de código, além de outras de cunho mais geral, encontradas em qualquer distribuição do NetBeans.

A máquina virtual da Java ME, a Kilo Virtual Machine (KVM), finalmente encerra o seu ciclo de vida, sendo esta substituída pela CLDC HotSpot Virtual Machine, inclusive para a configuração CDC. Com esta mudança, o comportamento das aplicações no emulador ficou mais parecido ao encontrado nos dispositivos reais. Outra mudançaça com a nova máquina virtual foi a compilação dinâmica das instruções de bytecode em instruções nativas “Compilação Just-in-time (JIT)” com menor consumo e fragmentação de memória, maior economia da bateria, dentre outras. Enfim, a instrução compilada dinamicamente, chega a ser cinquenta vezes mais rápida do que uma instrução interpretada.

A Sun não hesitou e incorporou a LWUIT como uma de suas bibliotecas padrão, disponibilizou uma aplicação exemplo e integrou uma de suas ferramentas utilitárias, o Resource Manager, dentro do Java ME Platform SDK 3. Alavancando de vez o nome LWUIT dentro da comunidade Java ME.

No Java ME Platform SDK 3, três novas APIs estão disponíveis para os desenvolvedores:
- Mobile Sensor API (JSR 256)
- XML API for Java ME (JSR 280)
- Java Binding for the OpenGL ES API (JSR 239)

A Sun está disponibilizando, no Java ME Platform SDK 3, uma máquina virtual para o Windows Mobile 6, que pode tanto ser instalado em um emulador do próprio sistema operacional no PC, quanto num dispositivo real. Tudo o que o desenvolvedor precisa fazer é instalar a maquina virtual.

Fonte:

JavaMovel

Artigo completo sobre o Java ME Platform SDK 3 na edição 69 da Java Magazine

Página de download do Java ME Platform SDK 3


CLDC HotSpot Implementation Virtual Machine WhitePaper
top