15
 Maemo 5 Maemo 5 Developer Workshop Developer Workshop Thomas Perl Thomas Perl 2010-01-22 2010-01-22

Maemo 5 Developer Workshop @ Metalab

  • Upload
    thp4

  • View
    2.619

  • Download
    4

Embed Size (px)

DESCRIPTION

2010-01-22

Citation preview

Page 1: Maemo 5 Developer Workshop @ Metalab

   

Maemo 5Maemo 5Developer WorkshopDeveloper Workshop

Thomas PerlThomas Perl2010-01-222010-01-22

Page 2: Maemo 5 Developer Workshop @ Metalab

   

Übersicht● Nokia 770, N800 und N810● Maemo.org community und Mer● Sprachen, Toolkits und Frameworks● Maemo 5 SDK● Debian Packaging und /optification● Publishen auf maemo.org● On-Device Development

Page 3: Maemo 5 Developer Workshop @ Metalab

   

Nokia 770, N800 und N810● “Internet Tablets”● Mai 2005: Nokia 770● Jänner 2007: N800● Oktober 2007: N810

Page 4: Maemo 5 Developer Workshop @ Metalab

   

Maemo.org community● Open Source – Software für Maemo● Services

● bugs.maemo.org (Offizieller Bug-Tracker)● talk.maemo.org (Forum)● garage.maemo.org (Projekt-Hosting)● maemo.org/packages (Extras QA)● #maemo, #mer auf Freenode

● Bester Einstiegspunkt zum Entwickeln

Page 5: Maemo 5 Developer Workshop @ Metalab

   

Mer● Open-Source “Distribution” von Maemo 5 ● Proprietäre Teile durch Open Source-

Implementierung ersetzen (wo möglich)● Support für nicht-Maemo-Geräte

Page 6: Maemo 5 Developer Workshop @ Metalab

   

Sprachen, Toolkits und Frameworks● GTK+/Hildon: C, C++, Python (PyMaemo)● Qt-Support: C++, Python (PyQt4, PySide)● Sonstiges: Haskell, Perl, Ruby, Prolog, …● Für Spiele: OpenGL ES, SDL, PyGame● Für Multimedia: GStreamer

● Mehr? → Pakete in Debian (armel)

Page 7: Maemo 5 Developer Workshop @ Metalab

   

Maemo 5 SDK● SDK Installer (URL siehe Wiki-Seite)● Ohne Linux: VM (zB Ubuntu-Image)● UI, Desktop, Compile-“targets” (armel, x86)● MADDE (Technology Preview)

● Cross-compiler● Für Linux (32- u. 64-bit), Windows, Mac OS X

● ...oder direkt am Gerät ohne SDK (später)

Page 8: Maemo 5 Developer Workshop @ Metalab

   

..und IDEs?● PluThon

● Eclipse-Plugin für Python/Maemo● Direktes “Deployment” auf das Gerät (SSH)

● Qt Creator● Qt-Anwendung designen und entwickeln● Source mit Scratchbox (armel) kompilieren

Page 9: Maemo 5 Developer Workshop @ Metalab

   

Debian-Packaging● Apps werden als “.deb”-Pakete geliefert● Handling von Abhängigkeiten, Konflikten,

Upgrades, etc.. (“apt-get”)● Siehe: Wiki, Debian Policy Manual● Maemo-spezifische Erweiterungen

(Programmname, Icon für App Manager, ...)

● Alternativen: PyPackager oder py2deb

Page 10: Maemo 5 Developer Workshop @ Metalab

   

Optification● 256MB OneNAND: Kernel + Root-FS● 32GB eMMC

● 2 GB /home (ext3)● ca. 29 GB /home/user/MyDocs (vfat)● /opt ist Symlink auf /home/opt/

● Programme müssen nach “/opt” installiert werden, um Platz zu sparen

● Helper-Tool: maemo-optify

Page 11: Maemo 5 Developer Workshop @ Metalab

   

Publishen auf maemo.org (1/2)● Maemo.org Extras Repository● QA-Prozess

● 10 Tage Quarantäne● 10 Karma-Punkte (Thumbs up: +1, down: -4)● Funktionalität, Illegale Inhalte, Usability,

Stromverbrauch, Optification, Security Risks, fehlende URL zum Bugtracker(!)

Page 12: Maemo 5 Developer Workshop @ Metalab

   

Publishen auf maemo.org (2/2)

Source­Paket(Debian, .dsc)

maemo.orgAutobuilder

Build­Fehler: E­Mailmit Details, Rejected

Build OK: Import inMaemo Extras­Devel

Entwickler entscheidet, wannPaket nach Extras­Testing kommt

Extras QA Process(10 Tage, 10 Karma­Punkte)

Paket darf insExtras­Repository

Page 13: Maemo 5 Developer Workshop @ Metalab

   

On-Device Development (1/2)● Man nehme:

● Python + UI Bindings (PyGTK oder PyQt4)● Vim (oder: QEmacs, PyGTKEditor, ...)● Wenn man Zeit hat: GCC für C-Entwicklung

● Per X-Terminal geht das so:

apt-get install python-gtk2 python-hildon

Page 14: Maemo 5 Developer Workshop @ Metalab

   

On-Device Development (2/2)

Page 15: Maemo 5 Developer Workshop @ Metalab

   

Credits● Mer Photo: Meizirkki

http://picasaweb.google.com/meizirkki/MerOnTheTouchBook

● Maemo Extras QA Process - IconsGNOME Icon Theme

● PyGTKEditor Screenshot: Khertanhttp://khertan.net/2009/11/

● 770, N800, N810, N900 Photos: Nokiahttp://www.nokia.com/press/media_resources

● Maemo.org Logo: Maemo Community