python e dispositivos móveis

33

Upload: pugpe

Post on 26-Jun-2015

1.810 views

Category:

Documents


6 download

DESCRIPTION

Palestra ministrada por Lauro Moura no VII Encontro do PUG-PE na FIR dia 18/09/2010.

TRANSCRIPT

Page 1: Python e Dispositivos Móveis

Python em dispositivos móveis

Lauro Moura - lmoura

18 de Setembro/Recife - PE

Page 2: Python e Dispositivos Móveis

Prólogo

Page 3: Python e Dispositivos Móveis

Quem somos nós?

� INdT - Instituto Nokia de Tecnologia� openBossa - stream open source do INdT� Projetos mais conhecidos: Canola, Carman,PyMaemo

� Parceria com Qt Development Frameworks / KDE

Page 4: Python e Dispositivos Móveis

Quem sou eu?

� Envolvido com software livre desde 2003(4?)� Graduando em Ciência da Computação na UFPE -Recife

� Usa Python desde 2005� Trabalho no INdT (openBossa stream)� Membro da equipe PySide / PyMaemo

Page 5: Python e Dispositivos Móveis

Python

Page 6: Python e Dispositivos Móveis

O que é?

Python é uma linguagem de programação que permitevocê trabalhar mais rapidamente e integrar seus sistemasmais e�cientemente. Você pode aprender a usar Python e

ver ganhos de produtividade quase que imediatos emenores custos de manutenção (python.org)

Page 7: Python e Dispositivos Móveis

Onde usar?

Page 8: Python e Dispositivos Móveis

Principais sistemas

� Android� iOS� Maemo� MeeGo� S60� ...

Page 9: Python e Dispositivos Móveis

Android

� Google� Scripting Layer for Android (SL4A)� Suporta Python, Lua e outras linguagens de script.� API própria do Android

Page 10: Python e Dispositivos Móveis

iOS

� Não é suportado o�cialmente� Pode melhorar com as últimas mudanças naAppStore?

Page 11: Python e Dispositivos Móveis

(Py)Maemo

� Maemo5 "Fremantle"� Interface Hildon (baseada em GTK+), com suporte a

Qt

� Maemo6 "Harmattan"� Interface Meego Touch(baseada em Qt), com suporte a

Gtk

� Interpretador CPython 2.5 portado do Debian

Page 12: Python e Dispositivos Móveis

Aplicações PyMaemo

Canola2

Page 13: Python e Dispositivos Móveis

Aplicações PyMaemo

Hermes

Page 14: Python e Dispositivos Móveis

MeeGo

� Nokia (Maemo) + Intel (Moblin)� Interface baseada em Qt (MeeGo Touch)� Pacotes RPM

Page 15: Python e Dispositivos Móveis

S60 (Symbian)

� PyS60� Última versão baseada no CPython 2.5.4� API própria do S60

Page 16: Python e Dispositivos Móveis
Page 17: Python e Dispositivos Móveis

Qt

� Passado: TrollTech� Presente: Nokia� Futuro: ... Dominação Mundial

Page 18: Python e Dispositivos Móveis

Qt

� KDE, Google Earth, Autodesk, ...� Várias plataformas� C++� API extensa

Page 19: Python e Dispositivos Móveis

API padrão Qt

� Interfaces (QtGui)� Grá�cos SVG (QtSvg)� Rede (QtNetwork)� Engine HTML WebKit (QtWebKit)� Graphics View� Framework de animação� Interface declarativa (4.7 quase saindo do forno)� ...

Page 20: Python e Dispositivos Móveis

QtMobility

� Camera� Feedback� Mapas/Localizacão� Organizador� Telefonia� ...

Page 21: Python e Dispositivos Móveis

Python + Qt

� PyQt4 - Riverbank Computing� PySide - INdT/Nokia

Page 22: Python e Dispositivos Móveis

PyQt4

� Mais antigo (porém atualizado)� Base para o PyKDE� Desenvolvimento semi-aberto� Licença dual: GPL / Comercial

Page 23: Python e Dispositivos Móveis

PySide

� Agosto de 2009� Parceria com a Nokia� LGPL� API (não ABI) compatível com o PyQt� Ativamente desenvolvido

Page 24: Python e Dispositivos Móveis

Futuro do PySide

� Suporte ao QtCreator� Suporte às API's adicionais� Otimizações de performance

Page 25: Python e Dispositivos Móveis

Demos

Page 26: Python e Dispositivos Móveis

Desa�os e desvantagens

Page 27: Python e Dispositivos Móveis

Performance

Python é mais lento que C/C++

Page 28: Python e Dispositivos Móveis

Performance

Consequentemente usa mais bateria

Page 29: Python e Dispositivos Móveis

Performance

E usa mais memória

Page 30: Python e Dispositivos Móveis

API disponível

Nem sempre 100% vai estar disponível

Page 31: Python e Dispositivos Móveis

Dúvidas?

Lauro Moura (lmoura na Freenode)[email protected]

Page 32: Python e Dispositivos Móveis

Mais informações

http://www.pyside.orghttp://qt.nokia.com

Page 33: Python e Dispositivos Móveis

Obrigado

:)