apresentação minicurso pys60

23
PyS60 PyS60 Python para Dispositivos Móveis Python para Dispositivos Móveis Symbian Symbian Antonio Mateus Santana Neto Antonio Mateus Santana Neto Graduando de Sistemas de Informação Graduando de Sistemas de Informação FAL – Faculdade de Alagoas FAL – Faculdade de Alagoas

Upload: antonio-santana

Post on 13-May-2015

1.500 views

Category:

Technology


0 download

DESCRIPTION

Apresentação do Minicurso sobre PyS60 apresentado no Flisol 2009 de Alagoas no Campus da Universidade Federal de Alagoas - Campus Arapiraca.

TRANSCRIPT

Page 1: Apresentação Minicurso PyS60

PyS60 PyS60 Python para Dispositivos MóveisPython para Dispositivos Móveis

SymbianSymbian

Antonio Mateus Santana Neto Antonio Mateus Santana Neto Graduando de Sistemas de Informação Graduando de Sistemas de Informação FAL – Faculdade de AlagoasFAL – Faculdade de Alagoas

Page 2: Apresentação Minicurso PyS60

' Python ' - http://www.python.org ' Python ' - http://www.python.org

● Uma Linguagem de Programação de alto nível● Interpretada, interativa, orientada a objetos

● É uma linguagem Open Source

● Possui tipagem dinâmica e forte● Possui um grande número de bibliotecas disponível

1 - [email protected]

Page 3: Apresentação Minicurso PyS60

' Um pouco da história do Python '' 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 - [email protected]

Page 4: Apresentação Minicurso PyS60

' Symbian OS '' 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 - [email protected]

Page 5: Apresentação Minicurso PyS60

' PyS60 '' 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 - [email protected]

Page 6: Apresentação Minicurso PyS60

' O que são celulares com “Série 60” ? '' 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 - [email protected]

Page 7: Apresentação Minicurso PyS60

' Por que desenvolver para S60 '' 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 - [email protected]

Page 8: Apresentação Minicurso PyS60

' Por que usar Python para S60 '' 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 - [email protected]

Page 9: Apresentação Minicurso PyS60

' Desvantagens do PyS60 '' 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 - [email protected]

Page 10: Apresentação Minicurso PyS60

' Ciclo de Desenvolvimento '' 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 - [email protected]

Page 11: Apresentação Minicurso PyS60

' Comprando um Celular Série 60 ' Comprando um Celular Série 60 para fins de Desenvolvimento '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 - [email protected]

Page 12: Apresentação Minicurso PyS60

' Por onde começar ? '' 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

● Descobrir que o teclado do celular é uma péssima interface● Acessar a linha de Comando Python via Bluetooth

● Executar um comando qualquer

11 - [email protected]

Page 13: Apresentação Minicurso PyS60

' Módulos específicos para S60 '' 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 - [email protected]

Page 14: Apresentação Minicurso PyS60

' Módulos específicos para S60 (cont)'' 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 - [email protected]

Page 15: Apresentação Minicurso PyS60

' Módulos específicos para S60 (cont)'' Módulos específicos para S60 (cont)'● Layout de uma aplicação S60

14 - [email protected]

● Teste prático

Page 16: Apresentação Minicurso PyS60

' Módulos específicos para S60 (cont)'' 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 - [email protected]

Page 17: Apresentação Minicurso PyS60

' Módulos específicos para S60 (cont)'' 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

16 - [email protected]

● 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

Page 18: Apresentação Minicurso PyS60

' Módulos específicos para S60 (cont)'' 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 - [email protected]

Page 19: Apresentação Minicurso PyS60

' Criando um pacote SIS '' 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 - [email protected]

Page 20: Apresentação Minicurso PyS60

● ensymble py2sis -n Flisol2009 -r 1.0 -l EN -s "Arquivo" -c "Arquivo X" --caps=NetworkServices+

LocalServices+ReadUserData+WriteUserData+UserEnvironment

arquivo.py

' Criando um pacote SIS '' Criando um pacote SIS '

19 - [email protected]

Page 21: Apresentação Minicurso PyS60

' Desenvolvendo PyS60 no Linux ou no Mac OS X '' 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 - [email protected]

Page 22: Apresentação Minicurso PyS60

PERGUNTAS ?????PERGUNTAS ?????

Page 23: Apresentação Minicurso PyS60

OBRIGADO !OBRIGADO !