Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Apresentação Minicurso PyS60

1,801 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 !

×