Python for Maemo
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Python for Maemo

on

  • 4,041 views

Presented at FISL8

Presented at FISL8

Statistics

Views

Total Views
4,041
Views on SlideShare
4,032
Embed Views
9

Actions

Likes
0
Downloads
103
Comments
0

4 Embeds 9

http://www.linkedin.com 4
http://www.slideshare.net 2
http://blog.triveos.com.br 2
http://www.pythonologia.org 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Python for Maemo Presentation Transcript

  • 1. Python for Maemo
  • 2. APRESENTAÇÃO
    • Osvaldo Santana Neto
      • 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.
  • 3. INdT – BRASIL / RECIFE
    • Instituto Nokia de Tecnologia
      • Instituição sem fins lucrativos, fundada pela Nokia em 2002.
      • Criado com investimentos da Lei de Informática.
      • 3 escritórios, em Manaus, Brasília e Recife.
      • Pesquisa & Desenvolvimento nas áreas de Mecânica & Produtos Eletrônicos, Software, Multimídia, Telecomunicações e Excelência em Operações e Logística.
  • 4. INdT - ESTRUTURA
    • Estrutura:
    • 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.
    • Parcerias:
      • Estes são alguns parceiros do INdT para execução de projetos:
    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. PLATAFORMA MAEMO
    • Maemo é uma plataforma para o desenvolvimento de aplicações para Internet Tablets da Nokia e outros dispositivos portáteis compatíveis.
    • 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.
  • 6. ESPECIFICAÇÕES TÉCNICAS
    • Kernel Linux (Core)
    • D-BUS (IPC)
    • GTK+ (GUI)
    • Xserver
    • Gconf
    • GnomeVFS
    • Hildon (GUI)
    • LibOSSO
  • 7. NOKIA 770: 1º PRODUTO
    • Primeira versão:
    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. NOKIA N800: 2º PRODUTO
    • Uma nova versão:
    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. DESENVOLVENDO PARA MAEMO
    • Desenvolvimento muito semelhante ao desenvolvimento Linux para Desktop:
      • As ferramentas são as mesmas utilizadas para desenvolvimento Linux
    • As bibliotecas são as mesmas utilizadas por dezenas de aplicações Linux para Desktop com pequenas optimizações
  • 10. DESENVOLVENDO PARA MAEMO
    • As ferramentas necessárias para o desenvolvimento:
      • Ambiente para cross-compiling (scratchbox)
      • GNU Toolkit (gcc, gdb, make, autotools, ...)
    • Python
      • projeto criado e mantido pelo INdT de Recife
  • 11. DESENVOLVENDO PARA MAEMO
    • Aplicação bem simples, componentes básicos sendo utilizados. C e GTK+
    • Tela de abertura de um jogo escrito em Python com PyGame
  • 12. for
  • 13. PORQUE PYTHON?
    • Licenciamento:
      • Python possui uma licença de código aberto compatível com GPL
      • Todos os componentes estão sob a mesma licença, inclusive a máquina virtual / interpretador Python
    • Desenvolvimento aberto
      • Python possui uma comunidade participativa e aberta a sugestões
      • Python possui um modelo de desenvolvimento pouco burocrático
  • 14. PORQUE PYTHON?
    • Qualidade da Linguagem
      • Facilidade de uso, sintaxe limpa, estrutura de dados poderosas como lista, tupla e dicionário
      • Paradigmas suportados: estrutural, bom para scripts rápidos e orientado a objetos¸facilita o desenvolvimento de aplicativos de maior porte
    • Muitos módulos reunidos
      • Parsers XML, HTML, servidores SMTP, HTTP, manipulação de textos, imagens e outros
  • 15. DESAFIOS PARA O PORT
    • Ocupação de espaço em disco:
      • Redução da instalação padrão
      • Remoção de módulos desnecessários
      • Otimização dos módulos com remoção das “docstrings”
      • Arquivamento dos módulos principais em um arquivo ZIP
  • 16. DESAFIOS PARA O PORT
    • Velocidade do Interpretador
      • O aplicativos em Python aparentam ter o comportamento esperado para uma linguagem interpretada
    • Calcanhar de aquiles: Tempo de inicialização
      • Experiências de melhoria do tempo de carga do módulo GTK+
      • Python Launcher (experiência para a próxima versão)
      • Melhorias beneficiariam também os projetos OLPC e OpenMoko
  • 17. CARACTERíSTICAS DO PYMAEMO
    • PyGame
      • Bindings Python para biblioteca SDL. Permite o desenvolvimento de jogos
    • PyGTK/PyHildon
      • GTK componente padrão no Linux
      • Hildon é uma “extensão” do GTK para a plataforma Maemo
  • 18. CARACTERíSTICAS DO PYMAEMO
    • Python OSSO
      • Acesso à serviços do dispositivo
    • Outros bindings:
      • HildonDesktop - plugins e applets para a plataforma. Desenvolvido pela Nokia
        • Envolvimento do Lucas Rocha
      • LibIconic, GnomeVFS, D-Bus, BlueZ, Gstreamer, ...
  • 19. IDÉIAS PARA O FUTURO
    • Otimizador de bytecode e compiladores nativos (Psyco, CPython, PyPy/LLVM, ...)
    • Personalizações específicas para plataforma
    • Criação de uma API simplificada para a plataforma
      • Permitir coisas como:
    from easy import camera, audio image = camera.take_picture() image.save(“foto.jpg”) audio.play(“sonzera.mp3”) :
  • 20. COMO SE ENVOLVER?
    • Em C:
      • http://maemo.org/
    • Em Python:
      • http://pymaemo.garage.maemo.org/
    • Em outras linguagens / plataformas:
      • Java
        • Muitas tentativas e poucos resultados
      • Mono (.Net)
        • Totalmente funcional
  • 21. LINKS IMPORTANTES
    • http ://www. maemo . org
      • Site oficial da plataforma.
    • http ://www. maemo . org / maemowiki
      • Wiki oficial
    • http://pymaemo.garage.maemo.org
      • Python para Maemo
  • 22. EXEMPLO DE APLICAÇÃO
    • Colocar o SolarWolf pra funcionar...
  • 23. PERGUNTAS?
  • 24. OBRIGADO!
      • [email_address]