Apresentação Minicurso PyS60

1,783 views

Published on

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

Published in: Technology
  • Be the first to comment

Apresentação Minicurso PyS60

  1. 1. PyS60 Python para Dispositivos Móveis Symbian Antonio Mateus Santana Neto Graduando de Sistemas de Informação FAL – Faculdade de Alagoas
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 15. ' Módulos específicos para S60 (cont)' Layout de uma aplicação S60 ● Teste prático ● 14 - mateus.santana@gmail.com
  16. 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. 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. 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. 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
  20. 20. ' Criando um pacote SIS ' ensymble py2sis ● -n Flisol2009 -r 1.0 -l EN -s quot;Arquivoquot; -c quot;Arquivo Xquot; --caps=NetworkServices+ LocalServices+ ReadUserData+WriteUserData+ UserEnvironment arquivo.py 19 - mateus.santana@gmail.com
  21. 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
  22. 22. PERGUNTAS ?????
  23. 23. OBRIGADO !

×