python for maemo
Post on 16-Apr-2017
2.341 Views
Preview:
TRANSCRIPT
Python for Maemo
APRESENTAO
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.
INdT BRASIL / RECIFE
Instituto Nokia de Tecnologia
Instituio sem fins lucrativos, fundada pela Nokia em 2002.
Criado com investimentos da Lei de Informtica.
3 escritrios, em Manaus, Braslia e Recife.
Pesquisa & Desenvolvimento nas reas de Mecnica & Produtos Eletrnicos, Software, Multimdia, Telecomunicaes e Excelncia em Operaes e Logstica.
INdT - ESTRUTURA
Estrutura:
O INdT conta hoje com uma equipe de cerca de 100 profissionais altamente qualificados, divididos entre 2 reas-chave: tcnica e administrativa. A rea tcnica composta por quatro reas de conhecimento para a execuo de projetos. A rea administrativa inclui todas as funes de suporte para a execuo de projetos como Governana, Recursos Humanos, Administrativo e Financeiro, Escritrio de Projetos e TI.
Parcerias:
Estes so alguns parceiros do INdT para execuo de projetos:
CESAR - Centro de Estudos e Sistemas Avanados de RecifeFUCAPI - Fundao Centro de Anlise, Pesquisa e Inovao TecnolgicaINATEL - Instituto Nacional de TelecomunicaesPMR - Escola Politcnica da Universidade de So Paulo
UFAMUFCGUFMGUFRJ
PLATAFORMA MAEMO
Maemo uma plataforma para o desenvolvimento de aplicaes para Internet Tablets da Nokia e outros dispositivos portteis compatveis.
A plataforma formada por componentes populares de Softwares Livre que so largamente utilizados e esto presentes nas principais distribuies Linux da atualidade.
ESPECIFICAES TCNICAS
Kernel Linux (Core)
D-BUS (IPC)
GTK+ (GUI)
Xserver
Gconf
GnomeVFS
Hildon (GUI)
LibOSSO
NOKIA 770: 1 PRODUTO
Primeira verso:
OMAP 1710 DSP
ARM9 220MHzResoluo: 800x480
65 mil cores
4.13 widescreen
Touch screen
WLAN 802.11b/g Bluetooth 1.2
USB
Multimdia
NOKIA N800: 2 PRODUTO
Uma nova verso:
OMAP 2420 DSP
ARM11 330MHz
Resoluo: 800x480
65 mil cores
4.13 widescreen
Touch screen
WLAN 802.11b/g Bluetooth 1.2
USB
MultimdiaCmera VGARdio FM
DESENVOLVENDO PARA MAEMO
Desenvolvimento muito semelhante ao desenvolvimento Linux para Desktop:
As ferramentas so as mesmas utilizadas para desenvolvimento Linux
As bibliotecas so as mesmas utilizadas por dezenas de aplicaes Linux para Desktop com pequenas optimizaes
DESENVOLVENDO PARA MAEMO
As ferramentas necessrias para o desenvolvimento:
Ambiente para cross-compiling (scratchbox)
GNU Toolkit (gcc, gdb, make, autotools, ...)
Python
projeto criado e mantido pelo INdT de Recife
DESENVOLVENDO PARA MAEMO
Aplicao bem simples, componentes bsicos sendo utilizados. C e GTK+
Tela de abertura de um jogo escrito em Python com PyGame
for
PORQUE PYTHON?
Licenciamento:
Python possui uma licena de cdigo aberto compatvel com GPL
Todos os componentes esto sob a mesma licena, inclusive a mquina virtual / interpretador Python
Desenvolvimento aberto
Python possui uma comunidade participativa e aberta a sugestes
Python possui um modelo de desenvolvimento pouco burocrtico
PORQUE PYTHON?
Qualidade da Linguagem
Facilidade de uso, sintaxe limpa, estrutura de dados poderosas como lista, tupla e dicionrio
Paradigmas suportados: estrutural, bom para scripts rpidos e orientado a objetosfacilita o desenvolvimento de aplicativos de maior porte
Muitos mdulos reunidos
Parsers XML, HTML, servidores SMTP, HTTP, manipulao de textos, imagens e outros
DESAFIOS PARA O PORT
Ocupao de espao em disco:
Reduo da instalao padro
Remoo de mdulos desnecessrios
Otimizao dos mdulos com remoo das docstrings
Arquivamento dos mdulos principais em um arquivo ZIP
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 inicializao
Experincias de melhoria do tempo de carga do mdulo GTK+
Python Launcher (experincia para a prxima verso)
Melhorias beneficiariam tambm os projetos OLPC e OpenMoko
CARACTERSTICAS DO PYMAEMO
PyGame
Bindings Python para biblioteca SDL. Permite o desenvolvimento de jogos
PyGTK/PyHildon
GTK componente padro no Linux
Hildon uma extenso do GTK para a plataforma Maemo
CARACTERSTICAS DO PYMAEMO
Python OSSO
Acesso servios do dispositivo
Outros bindings:
HildonDesktop - plugins e applets para a plataforma. Desenvolvido pela Nokia
Envolvimento do Lucas Rocha
LibIconic, GnomeVFS, D-Bus, BlueZ, Gstreamer, ...
IDIAS PARA O FUTURO
Otimizador de bytecode e compiladores nativos (Psyco, CPython, PyPy/LLVM, ...)
Personalizaes especficas para plataforma
Criao 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):
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
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
EXEMPLO DE APLICAO
Colocar o SolarWolf pra funcionar...
PERGUNTAS?
OBRIGADO!
osvaldo.santana@indt.org.br
Click to edit the text format
Click to edit the outline text format
Second Outline Level
Third Outline Level
Fourth Outline Level
Fifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level
Slide
top related