Python for Maemo

2.320 visualizações

Publicada em

Presented at FISL8

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
2.320
No SlideShare
0
A partir de incorporações
0
Número de incorporações
58
Ações
Compartilhamentos
0
Downloads
105
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Python for Maemo

  1. 1. Python for Maemo
  2. 2. APRESENTAÇÃO <ul><li>Osvaldo Santana Neto </li></ul><ul><ul><li>Pesquisador do INdT, trabalha com Linux desde 2000 e atualmente é coordenador da comunidade PythonBrasil. No INdT faz parte da equipe de SDK onde cuida do port da linguagem Python para a plataforma Maemo. </li></ul></ul>
  3. 3. INdT – BRASIL / RECIFE <ul><li>Instituto Nokia de Tecnologia </li></ul><ul><ul><li>Instituição sem fins lucrativos, fundada pela Nokia em 2002. </li></ul></ul><ul><ul><li>Criado com investimentos da Lei de Informática. </li></ul></ul><ul><ul><li>3 escritórios, em Manaus, Brasília e Recife. </li></ul></ul><ul><ul><li>Pesquisa & Desenvolvimento nas áreas de Mecânica & Produtos Eletrônicos, Software, Multimídia, Telecomunicações e Excelência em Operações e Logística. </li></ul></ul>
  4. 4. INdT - ESTRUTURA <ul><li>Estrutura: </li></ul><ul><li>O INdT conta hoje com uma equipe de cerca de 100 profissionais altamente qualificados, divididos entre 2 áreas-chave: técnica e administrativa. A área técnica é composta por quatro áreas de conhecimento para a execução de projetos. A área administrativa inclui todas as funções de suporte para a execução de projetos como Governança, Recursos Humanos, Administrativo e Financeiro, Escritório de Projetos e TI. </li></ul><ul><li>Parcerias: </li></ul><ul><ul><li>Estes são alguns parceiros do INdT para execução de projetos: </li></ul></ul>CESAR - Centro de Estudos e Sistemas Avançados de Recife FUCAPI - Fundação Centro de Análise, Pesquisa e Inovação Tecnológica INATEL - Instituto Nacional de Telecomunicações PMR - Escola Politécnica da Universidade de São Paulo UFAM UFCG UFMG UFRJ
  5. 5. PLATAFORMA MAEMO <ul><li>Maemo é uma plataforma para o desenvolvimento de aplicações para Internet Tablets da Nokia e outros dispositivos portáteis compatíveis. </li></ul><ul><li>A plataforma é formada por componentes populares de Softwares Livre que são largamente utilizados e estão presentes nas principais distribuições Linux da atualidade. </li></ul>
  6. 6. ESPECIFICAÇÕES TÉCNICAS <ul><li>Kernel Linux (Core) </li></ul><ul><li>D-BUS (IPC) </li></ul><ul><li>GTK+ (GUI) </li></ul><ul><li>Xserver </li></ul><ul><li>Gconf </li></ul><ul><li>GnomeVFS </li></ul><ul><li>Hildon (GUI) </li></ul><ul><li>LibOSSO </li></ul>
  7. 7. NOKIA 770: 1º PRODUTO <ul><li>Primeira versão: </li></ul>OMAP 1710 DSP ARM9 220MHz Resolução: 800x480 65 mil cores 4.13” widescreen Touch screen WLAN 802.11b/g Bluetooth 1.2 USB Multimídia
  8. 8. NOKIA N800: 2º PRODUTO <ul><li>Uma nova versão: </li></ul>OMAP 2420 DSP ARM11 330MHz Resolução: 800x480 65 mil cores 4.13” widescreen Touch screen WLAN 802.11b/g Bluetooth 1.2 USB Multimídia Câmera VGA Rádio FM
  9. 9. DESENVOLVENDO PARA MAEMO <ul><li>Desenvolvimento muito semelhante ao desenvolvimento Linux para Desktop: </li></ul><ul><ul><li>As ferramentas são as mesmas utilizadas para desenvolvimento Linux </li></ul></ul><ul><li>As bibliotecas são as mesmas utilizadas por dezenas de aplicações Linux para Desktop com pequenas optimizações </li></ul>
  10. 10. DESENVOLVENDO PARA MAEMO <ul><li>As ferramentas necessárias para o desenvolvimento: </li></ul><ul><ul><li>Ambiente para cross-compiling (scratchbox) </li></ul></ul><ul><ul><li>GNU Toolkit (gcc, gdb, make, autotools, ...) </li></ul></ul><ul><li>Python </li></ul><ul><ul><li>projeto criado e mantido pelo INdT de Recife </li></ul></ul>
  11. 11. DESENVOLVENDO PARA MAEMO <ul><li>Aplicação bem simples, componentes básicos sendo utilizados. C e GTK+ </li></ul><ul><li>Tela de abertura de um jogo escrito em Python com PyGame </li></ul>
  12. 12. for
  13. 13. PORQUE PYTHON? <ul><li>Licenciamento: </li></ul><ul><ul><li>Python possui uma licença de código aberto compatível com GPL </li></ul></ul><ul><ul><li>Todos os componentes estão sob a mesma licença, inclusive a máquina virtual / interpretador Python </li></ul></ul><ul><li>Desenvolvimento aberto </li></ul><ul><ul><li>Python possui uma comunidade participativa e aberta a sugestões </li></ul></ul><ul><ul><li>Python possui um modelo de desenvolvimento pouco burocrático </li></ul></ul>
  14. 14. PORQUE PYTHON? <ul><li>Qualidade da Linguagem </li></ul><ul><ul><li>Facilidade de uso, sintaxe limpa, estrutura de dados poderosas como lista, tupla e dicionário </li></ul></ul><ul><ul><li>Paradigmas suportados: estrutural, bom para scripts rápidos e orientado a objetos¸facilita o desenvolvimento de aplicativos de maior porte </li></ul></ul><ul><li>Muitos módulos reunidos </li></ul><ul><ul><li>Parsers XML, HTML, servidores SMTP, HTTP, manipulação de textos, imagens e outros </li></ul></ul>
  15. 15. DESAFIOS PARA O PORT <ul><li>Ocupação de espaço em disco: </li></ul><ul><ul><li>Redução da instalação padrão </li></ul></ul><ul><ul><li>Remoção de módulos desnecessários </li></ul></ul><ul><ul><li>Otimização dos módulos com remoção das “docstrings” </li></ul></ul><ul><ul><li>Arquivamento dos módulos principais em um arquivo ZIP </li></ul></ul>
  16. 16. DESAFIOS PARA O PORT <ul><li>Velocidade do Interpretador </li></ul><ul><ul><li>O aplicativos em Python aparentam ter o comportamento esperado para uma linguagem interpretada </li></ul></ul><ul><li>Calcanhar de aquiles: Tempo de inicialização </li></ul><ul><ul><li>Experiências de melhoria do tempo de carga do módulo GTK+ </li></ul></ul><ul><ul><li>Python Launcher (experiência para a próxima versão) </li></ul></ul><ul><ul><li>Melhorias beneficiariam também os projetos OLPC e OpenMoko </li></ul></ul>
  17. 17. CARACTERíSTICAS DO PYMAEMO <ul><li>PyGame </li></ul><ul><ul><li>Bindings Python para biblioteca SDL. Permite o desenvolvimento de jogos </li></ul></ul><ul><li>PyGTK/PyHildon </li></ul><ul><ul><li>GTK componente padrão no Linux </li></ul></ul><ul><ul><li>Hildon é uma “extensão” do GTK para a plataforma Maemo </li></ul></ul>
  18. 18. CARACTERíSTICAS DO PYMAEMO <ul><li>Python OSSO </li></ul><ul><ul><li>Acesso à serviços do dispositivo </li></ul></ul><ul><li>Outros bindings: </li></ul><ul><ul><li>HildonDesktop - plugins e applets para a plataforma. Desenvolvido pela Nokia </li></ul></ul><ul><ul><ul><li>Envolvimento do Lucas Rocha </li></ul></ul></ul><ul><ul><li>LibIconic, GnomeVFS, D-Bus, BlueZ, Gstreamer, ... </li></ul></ul>
  19. 19. IDÉIAS PARA O FUTURO <ul><li>Otimizador de bytecode e compiladores nativos (Psyco, CPython, PyPy/LLVM, ...) </li></ul><ul><li>Personalizações específicas para plataforma </li></ul><ul><li>Criação de uma API simplificada para a plataforma </li></ul><ul><ul><li>Permitir coisas como: </li></ul></ul>from easy import camera, audio image = camera.take_picture() image.save(“foto.jpg”) audio.play(“sonzera.mp3”) :
  20. 20. COMO SE ENVOLVER? <ul><li>Em C: </li></ul><ul><ul><li>http://maemo.org/ </li></ul></ul><ul><li>Em Python: </li></ul><ul><ul><li>http://pymaemo.garage.maemo.org/ </li></ul></ul><ul><li>Em outras linguagens / plataformas: </li></ul><ul><ul><li>Java </li></ul></ul><ul><ul><ul><li>Muitas tentativas e poucos resultados </li></ul></ul></ul><ul><ul><li>Mono (.Net) </li></ul></ul><ul><ul><ul><li>Totalmente funcional </li></ul></ul></ul>
  21. 21. LINKS IMPORTANTES <ul><li>http ://www. maemo . org </li></ul><ul><ul><li>Site oficial da plataforma. </li></ul></ul><ul><li>http ://www. maemo . org / maemowiki </li></ul><ul><ul><li>Wiki oficial </li></ul></ul><ul><li>http://pymaemo.garage.maemo.org </li></ul><ul><ul><li>Python para Maemo </li></ul></ul>
  22. 22. EXEMPLO DE APLICAÇÃO <ul><li>Colocar o SolarWolf pra funcionar... </li></ul>
  23. 23. PERGUNTAS?
  24. 24. OBRIGADO! <ul><ul><li>[email_address] </li></ul></ul>

×