1. PyS60
Python para Dispositivos Móveis
Symbian
Antonio Mateus Santana Neto
Graduando de Sistemas de Informação
FAL – Faculdade de Alagoas
2. ' Python ' - http://www.python.org
Uma Linguagem de Programação de alto nível
●
Interpretada, interativa, orientada a objetos
●
Possui tipagem dinâmica e forte
●
Possui um grande número de bibliotecas disponível
●
É uma linguagem Open Source
●
1 - mateus.santana@gmail.com
3. ' Um pouco da história do Python '
Python foi concebida no final de 1989 por Guido van Rossum no
instituto de Pesquisa Nacional para Matemática e Ciência da
Computação nos países baixos, sucessora da linguagem ABC que
visava ser uma linguagem de alta produtividade baseada no C ,o
nome Python tem origem do grupo humorístico britânico Monty
Python.
2 - mateus.santana@gmail.com
4. ' Symbian OS '
Sistema operacional para Smartphones
●
Mais utilizado do mundo entre os mobiles
●
57% dos Smartphones operando com Symbian
●
Mais de 14 fabricantes de celular utilizaram ele
●
Aquisição completa pela Nokia em 2 de Dezembro de 2008
●
3 - mateus.santana@gmail.com
5. ' PyS60 '
Port da Linguagem Python para Dispositivos
●
Symbian
● Baseado na versão 2.2.2 do Python
Possui uma API de controle própria para estes
●
dispositivos
Sua atual versão estável é a 1.4.5
●
4 - mateus.santana@gmail.com
6. ' O que são celulares com “Série 60” ? '
Smartphones com velocidade de um PC@1998
●
Sistema operacional Symbian (consórcio
●
mantido por diversos fabricantes de dispositivos
móveis)
Plataforma Série S60: Symbian + UI + recursos
●
adicionais
5 - mateus.santana@gmail.com
7. ' Por que desenvolver para S60 '
Mais de 100 milhões de celulares vendidos
●
Previsões apontam como plataforma dominante para os
●
próximos 5 – 10 anos
Várias opções de linguagem: J2ME, C++, Python
●
Plataforma aberta e SDK gratuita
●
Existe uma comunidade de desenvolvedores
●
6 - mateus.santana@gmail.com
8. ' Por que usar Python para S60 '
Pelas virtudes naturais do Python :-)
●
● API mais estável, pois as diferenças entre versões são
resolvidas no pacote Python
Boa parte das bibliotecas padrão do Python está disponível
●
no PyS60
● Torna muito mais fácil o acesso a recursos como câmera ou
SMS, em relação a C++
● Comunidade muito mais atuante
http://pys60.sourceforge.net
●
7 - mateus.santana@gmail.com
9. ' Desvantagens do PyS60 '
Baseado em uma versão “antiga” do Python (2.2), veda recursos
●
novos com o @decorators
● Não faz coleta de lixo de referências circulares por motivos de
performance
Desempenho pode ser um problema
●
Pode-se escrever bibliotecas em C para as partes de desempenho
●
criticamente importante.
Nem toda a API C++ está coberta
●
Pode-se escrever módulos adicionais
●
8 - mateus.santana@gmail.com
10. ' Ciclo de Desenvolvimento '
Editar no PC, testar somente no celular
●
Auto-suficiente porém moroso
●
Editar no PC, testar somente no celular
●
Muitas partes exigirão teste moroso no celular
●
Testar no emulador Symbian
●
Algumas partes exigirão teste no celular
●
A priori somente para Windows (e o GNUPOC ?)
●
Emulador é lento e diferente do celular
●
9 - mateus.santana@gmail.com
11. ' Comprando um Celular Série 60
para fins de Desenvolvimento '
Se puder investir, compre um celular 3rd Edition
●
PyS60 funciona bem
●
Hardware muito mais rápido
●
Todos os novos celulares são 3rd Edition
●
10 - mateus.santana@gmail.com
12. ' Por onde começar ? '
Em primeiro lugar, provando que funciona !
●
● Instalar o Pacote PyS60 no Celular
Download dos arquivos em http://sourceforge.net/projects/pys60
●
● S60 3rd
PythonForS60_1_4_5_3rdEd.SIS
●
PythonScriptShell_1_4_5_3rdEd.SIS
●
Executar um comando qualquer
●
Descobrir que o teclado do celular é uma péssima interface
●
Acessar a linha de Comando Python via Bluetooth
●
11 - mateus.santana@gmail.com
13. ' Módulos específicos para S60 '
Módulo e32 – Serviços do Symbian, mais notadamente os Actives
●
Objects (AO), responsáveis por manipular as atividades
Simultâneas, Threads.
Teste prático
●
Módulo sysinfo – Exibe informações diversas sobre o dispositivo
●
Teste prático
●
12 - mateus.santana@gmail.com
14. ' Módulos específicos para S60 (cont)'
Módulo appuifw – É o módulo da UI do dispositivo e o mais
●
complexo para Série 60
Quem já usou PyGTK+, vai achar familiar
●
Application (reside em appuifw.app) – Estrutura da UI da aplicação
●
Eventos de alertas, perguntas, erros, informações...
●
Criação de forms
●
Chamada de eventos e teclas de ações
●
13 - mateus.santana@gmail.com
15. ' Módulos específicos para S60 (cont)'
Layout de uma aplicação S60
●
Teste prático
●
14 - mateus.santana@gmail.com
16. ' Módulos específicos para S60 (cont)'
Módulo camera – Permite manipular a(s) câmera(s) do dispositivo
●
Não funciona no emulador
●
Gravação e leitura de Imagens
●
Teste prático
●
Módulo audio – Lida com os recursos de som do dispositivo
●
Permite gravar som, inclusive de ligações
●
Teste prático
●
15 - mateus.santana@gmail.com
17. ' Módulos específicos para S60 (cont)'
Módulo telephone – permite fazer e receber ligações
●
Teste prático
●
Módulo messaging – permite enviar a receber mensagens
●
Teste prático
●
Módulo position – API de localização
●
Informações das coordenadas X, Y; latitude e longitude
●
Permite integração com outras API's de localização; Ex: Google Maps
●
16 - mateus.santana@gmail.com
18. ' Módulos específicos para S60 (cont)'
Módulos e32db / e32dbm – Mini banco de dados do Symbian, com
●
interface baseada em comandos SQL
Para persistência de configurações e pequenas quantidades de dados
●
Mesma idéia do SQLite
●
Será mesmo o SQLite na 3rd Ed. FP2
●
Teste prático
●
17 - mateus.santana@gmail.com
19. ' Criando um pacote SIS '
Pacote SIS é um formato aberto de distribuição de aplicativos
●
Symbian
● O PyS60 é distribuido como SIS, nossos scripts também podem ser
Na 3rd Edition, pacote SIS é assinado digitalmente; é preciso usar o
●
Ensymble
http://www.nbl.fi/~nbl928/ensymble.html
●
18 - mateus.santana@gmail.com
21. ' Desenvolvendo PyS60 no Linux ou no Mac OS X '
É perfeitamente possível
●
Emulador: a princípio é Windows-only, mas o GNUPOC pode
●
funcionar
Compilador C++: GNUPOC
●
20 - mateus.santana@gmail.com