apresentação minicurso pys60
DESCRIPTION
Apresentação do Minicurso sobre PyS60 apresentado no Flisol 2009 de Alagoas no Campus da Universidade Federal de Alagoas - Campus Arapiraca.TRANSCRIPT
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
' 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.
' 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
' 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
' 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
' 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
' 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
' 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
' 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
' 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]
' 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]
' 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]
' 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]
' 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
' 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]
' 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
' 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]
' 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]
● 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]
' 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]
PERGUNTAS ?????PERGUNTAS ?????
OBRIGADO !OBRIGADO !