SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Maemo 5
    Developer Workshop



    Thomas Perl
    2010-01-22


                    
Ü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

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




                             
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

                                 
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




                           
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)

                             
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)

                                   
..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




                                
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

                             
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
                                 
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(!)



                                  
Publishen auf maemo.org (2/2)
                                                        Build­Fehler: E­Mail
                                                        mit Details, Rejected


                                                        Build OK: Import in
     Source­Paket                maemo.org             Maemo Extras­Devel
     (Debian, .dsc)              Autobuilder




  Paket darf ins           Extras QA Process         Entwickler entscheidet, wann
Extras­Repository     (10 Tage, 10 Karma­Punkte)   Paket nach Extras­Testing kommt


                                            
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


                                 
On-Device Development (2/2)




                  
Credits
    ●   Mer Photo: Meizirkki
        http://picasaweb.google.com/meizirkki/MerOnTheTouchBook
    ●   Maemo Extras QA Process - Icons
        GNOME Icon Theme
    ●   PyGTKEditor Screenshot: Khertan
        http://khertan.net/2009/11/
    ●   770, N800, N810, N900 Photos: Nokia
        http://www.nokia.com/press/media_resources
    ●   Maemo.org Logo: Maemo Community

                                       

Contenu connexe

Similaire à Maemo 5 Developer Workshop @ Metalab

OSMC 2015: OMD 5 Jahre Best Practice mit Matthias Gallinger
OSMC 2015: OMD 5 Jahre Best Practice mit Matthias GallingerOSMC 2015: OMD 5 Jahre Best Practice mit Matthias Gallinger
OSMC 2015: OMD 5 Jahre Best Practice mit Matthias GallingerNETWAYS
 
OSMC 2015 | OMD - 5 Jahre Best Practice by Matthias Gallinger
OSMC 2015 | OMD - 5 Jahre Best Practice by Matthias GallingerOSMC 2015 | OMD - 5 Jahre Best Practice by Matthias Gallinger
OSMC 2015 | OMD - 5 Jahre Best Practice by Matthias GallingerNETWAYS
 
NetBeans für PHP-Entwickler
NetBeans für PHP-EntwicklerNetBeans für PHP-Entwickler
NetBeans für PHP-EntwicklerIngo Reinhart
 
2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group
2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group
2011 12 05 KLUG Karl Franzens Universität Graz Linux User GroupMatthias Praunegger
 
Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007smancke
 
Azure Notebooks
Azure NotebooksAzure Notebooks
Azure NotebooksTEitelberg
 
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrOracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrGunther Pippèrr
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...NETWAYS
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzKai Donato
 
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHEntwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHstijink
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA'sFromDual GmbH
 
.NET Gadgeteer // msg@dnc12
.NET Gadgeteer // msg@dnc12.NET Gadgeteer // msg@dnc12
.NET Gadgeteer // msg@dnc12Holger Wendel
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als CodeJan Gehring
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungTilo Baller
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutterroskakori
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Thorsten Kamann
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...NETWAYS
 

Similaire à Maemo 5 Developer Workshop @ Metalab (20)

OSMC 2015: OMD 5 Jahre Best Practice mit Matthias Gallinger
OSMC 2015: OMD 5 Jahre Best Practice mit Matthias GallingerOSMC 2015: OMD 5 Jahre Best Practice mit Matthias Gallinger
OSMC 2015: OMD 5 Jahre Best Practice mit Matthias Gallinger
 
OSMC 2015 | OMD - 5 Jahre Best Practice by Matthias Gallinger
OSMC 2015 | OMD - 5 Jahre Best Practice by Matthias GallingerOSMC 2015 | OMD - 5 Jahre Best Practice by Matthias Gallinger
OSMC 2015 | OMD - 5 Jahre Best Practice by Matthias Gallinger
 
NetBeans für PHP-Entwickler
NetBeans für PHP-EntwicklerNetBeans für PHP-Entwickler
NetBeans für PHP-Entwickler
 
2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group
2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group
2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group
 
Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007
 
Azure Notebooks
Azure NotebooksAzure Notebooks
Azure Notebooks
 
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrOracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
 
openHAB @ rheinJUG Düsseldorf
openHAB @ rheinJUG DüsseldorfopenHAB @ rheinJUG Düsseldorf
openHAB @ rheinJUG Düsseldorf
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
 
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHEntwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA's
 
.NET Gadgeteer // msg@dnc12
.NET Gadgeteer // msg@dnc12.NET Gadgeteer // msg@dnc12
.NET Gadgeteer // msg@dnc12
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Ant im Detail
Ant im DetailAnt im Detail
Ant im Detail
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & Verwendung
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutter
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
 

Maemo 5 Developer Workshop @ Metalab

  • 1. Maemo 5 Developer Workshop Thomas Perl 2010-01-22    
  • 2. Ü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    
  • 3. Nokia 770, N800 und N810 ● “Internet Tablets” ● Mai 2005: Nokia 770 ● Jänner 2007: N800 ● Oktober 2007: N810    
  • 4. 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    
  • 5. 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    
  • 6. 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)    
  • 7. 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)    
  • 8. ..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    
  • 9. 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    
  • 10. 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    
  • 11. 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(!)    
  • 12. Publishen auf maemo.org (2/2) Build­Fehler: E­Mail mit Details, Rejected Build OK: Import in Source­Paket maemo.org Maemo Extras­Devel (Debian, .dsc) Autobuilder Paket darf ins Extras QA Process Entwickler entscheidet, wann Extras­Repository (10 Tage, 10 Karma­Punkte) Paket nach Extras­Testing kommt    
  • 13. 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    
  • 15. Credits ● Mer Photo: Meizirkki http://picasaweb.google.com/meizirkki/MerOnTheTouchBook ● Maemo Extras QA Process - Icons GNOME Icon Theme ● PyGTKEditor Screenshot: Khertan http://khertan.net/2009/11/ ● 770, N800, N810, N900 Photos: Nokia http://www.nokia.com/press/media_resources ● Maemo.org Logo: Maemo Community