Apresentação Minicurso PyS60

Post on 13-May-2015

1.500 views 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 of 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

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

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

14 - mateus.santana@gmail.com

● Teste prático

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

● 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

' 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

● 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 - mateus.santana@gmail.com

' 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 - mateus.santana@gmail.com

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

OBRIGADO !OBRIGADO !