AA_foxie-on-the-phone.jpg

© Mozilla Foundation

Apps für Firefox OS entwickeln

Hello Firefox OS

,
Das Firefox-Phone ZTE Open C kostet nicht einmal 60 Euro. Dank der in Firefox integrierten Entwicklungsumgebung eignet sich Firefox OS ideal für Anwender, die schon immer einmal eine eigene App entwickeln wollten.

Die Smartphone-Welt teilt sich in zwei, bei ganz genauem Hinsehen in drei Lager. Google, Apple und Microsoft bestimmen mit Android, iOS und Windows Phone (respektive demnächst Windows 10) das Geschehen. Abseits der Produkte der Mega-Konzerne warten drei Open-Source-Systeme für Smartphones und Tablets auf ihre Chance: Ubuntu Phone [1] von Canonical, Sailfish OS [2] von Jolla und Mozillas Firefox OS [3]. Während die ersten zwei noch absolute Exoten darstellen, ist Firefox OS längst im Mainstream angekommen – wenn auch eher in den Schwellenländern Südamerikas, wie Brasilien, Costa Rica oder Peru. Aber auch in Deutschland finden sich Handys mit Firefox OS im Angebot von größeren Anbietern, darunter bei Congstar [4].

Für unsere ersten Schritte in die Welt von Firefox OS dient ein ZTE Open C [5]. Mit seiner 1,2 GHz schnellen Dual-Core-CPU, dem 4 Zoll großen Display mit einer Auflösung von 480 x 800 Pixeln sowie 512 MByte Arbeitsspeicher gehört es zu den Einsteiger-Smartphones (weitere Daten finden Sie in der Tabelle "Technische Daten: ZTE Open C"). Für das schlanke Firefox OS reicht die gebotene Rechenleistung allerdings locker aus; ein Raspberry Pi mit gerade einmal einem Viertel der Rechenkraft des Open C zeichnet einen kompletten Desktop flüssig auf den Bildschirm – viel Rechenleistung braucht es für die Darstellung von Inhalten auf einem Display also nicht.

Technische Daten: ZTE Open C

   
Betriebssystem Firefox OS 1.3
Chipsatz Qualcomm MSM8210 Snapdragon 200
CPU Dual-Core, 1,2 GHz, Cortex-A7
GPU Adreno 302
Display 4,0 Zoll (480 x 800)
Speicher 4 GByte intern, 512 MByte RAM
Kartenslot Micro-SD, bis zu 32 GByte zusätzlich
Kamera 3,15 Megapixel (max. 2048 x 1536)
WLAN 802.11 b/g/n, Hotspot
Akku Li-Ion, 1400 mAh
Abmessungen 126 x 64.7 x 10.8 mm, 125 g

ZTE vertreibt das Open C in Deutschland ausschließlich über seinen eigenen Ebay-Shop [6]. Für 59,99 Euro kommt das Handy nach wenigen Tagen frei Haus. Der erste Eindruck ist durchweg positiv; das Handy liegt gut in der Hand und wirkt trotz des geringen Preises durchaus nicht schäbig. Das initiale Einrichten geht intuitiv von der Hand und nimmt nur wenig Zeit in Anspruch. Nun möchten wir aber nicht einen weiteren Produkttest zu Firefox OS oder dem ZTE Open C liefern, sondern erste Schritte in der App-Entwicklung unter Firefox OS machen.

Erste Schritte

Auf der Homepage von Firefox OS schreibt Mozilla [7], dass Apps auf Firefox-Handys mit HTML5, CSS und Javascript arbeiten. Das klingt nicht besonders kompliziert – erst recht nicht, wenn Sie in jüngerer Zeit an einer Webseite gearbeitet haben. Bei der Benutzeroberfläche von Firefox OS handelt es sich im Endeffekt nur um eine Web-App, die wiederum weitere Web-Apps einbinden kann. Mit dem Ansatz, Web-Techniken zum Zeichnen eines Desktops einzusetzen, steht Mozilla nicht alleine da: Auch Gnome 3 setzt umfassend auf HTML5 und Javascript. Der Verzicht auf Sprachen wie C++ oder Java bringt einen weiteren Vorteil mit sich: Als Entwicklungsumgebung genügt die in Firefox enthaltene WebIDE [8].

Bevor Sie mit einem "Hello World" starten, müssen Sie an Ihrem Linux-System eine Kleinigkeit anpassen, sodass das Betriebssystem das Firefox-Handy mit den richtigen Rechten einbindet – Ähnliches war auch früher bei Android-Handys nötig. Dazu benötigen Sie die USB-ID des Mobiltelefons. Diese entnehmen Sie entweder einer im Internet gepflegten Datenbank [9] oder sehen einfach selbst nach. Der Befehl lsusb gibt die gesuchte Information aus (Listing 1). Im gezeigten Fall trägt unser Firefox-Handy die Hersteller-ID 19d2 und die Produkt-ID 1350.

Listing 1

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[...]
Bus 002 Device 003: ID 048d:1345 Integrated Technology Express, Inc.
Bus 002 Device 010: ID 19d2:1350 ZTE WCDMA Technologies MSM

Zumindest eine dieser IDs müssen Sie Udev mitteilen, damit der Dienst das Gerät ins System einbindet. Am einfachsten klappt das mit der Hersteller-ID, also der Zifferngruppe vor dem Doppelpunkt. Dazu erstellen Sie als Root-User in /etc/udev/rules.d/ die Datei 52-firefoxfone.rules und fügen den Inhalt aus Listing 2 ein.

Listing 2

SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"

Sollten Sie ein anderes Firefox-Smartphone nutzen, dann passen Sie die Hersteller-ID (im Listing idVendor) an die auf Ihrem System von lsusb ausgegebene ID an. Anschließend sorgen Sie mithilfe von Chmod dafür, dass die Benutzerrechte der Datei stimmen, und starten den Udev-Dienst neu (Listing 3). Die Änderung erscheint nach außen hin zunächst wirkungslos – Sie benötigen die Udev-Regel aber spätestens dann, wenn Sie versuchen, auf die Debugging-Schnittstelle des Geräts zuzugreifen.

Listing 3

$ sudo chmod a+r /etc/udev/rules.d/52-firefoxfone.rules
$ sudo service udev restart

WebIDE

Zum Entwickeln von Apps für Firefox OS benötigen Sie keine große Entwicklungsumgebung wie Anjuta, Eclipse oder das Android Studio. Der Firefox-Browser bringt seit der Version 34 von Haus aus alles Nötige mit. Über das Menü Extras | Web Entwickler rufen Sie die von Mozilla WebIDE getaufte Entwicklungsumgebung für Firefox-OS-Apps auf. Dort erstellen Sie unter Projekt | Neue App eine erste App für Firefox OS. Für den Einstieg wählen Sie am besten die Hello-World-Applikation als Vorlage (Abbildung 1), dann fallen die weiteren Schritte nicht weiter schwer.

Abbildung 1: Der Firefox-Browser enthält von Haus aus die für die Entwicklung von Firefox-OS-Apps benötigte WebIDE mitsamt Demo-Projekten.

Die rudimentäre App besteht aus nur drei Dateien und einem Ordner. Die index.html bestimmt die Inhalte und – mittels eingebetteter CSS-Definitionen – auch das Aussehen der App. Die app.js sorgt über addEventListener dafür, dass das System unser Programmobjekt ausführt. In der manifest.webapp definieren Sie den Programmnamen, eine Beschreibung, das auszuführende Objekt, die aus dem Unterordner icons geladenen Symbolbilder des Programms sowie die Rechte. Für einen ersten Test sollten Sie an den Dateien erst einmal rein gar nichts ändern.

Zum Starten der Hello-World-App müssen Sie nun entweder Ihr Firefox-Handy per USB mit dem Rechner verbinden oder einen Firefox-Simulator installieren. Für einen ersten Test oder einen Trockenlauf ohne Firefox-OS-Smartphone greifen Sie am besten erst einmal zu einem Simulator. Unter Select Runtime spielen Sie mit Install Simulator einen Firefox-Simulator ein. Installieren Sie für Testzwecke am besten die Version, die auch auf dem Firefox-Gerät arbeitet. Kommen Sie noch ohne ein Handy mit Firefox OS aus, dann wählen Sie am besten die neuste Version Firefox OS 2.2. Anschließend listet die WebIDE das simulierte Gerät unter Select Runtime | SIMULATORS auf. Ein Klick auf den Eintrag startet den Simulator (Abbildung 2).

Abbildung 2: Das simulierte Firefox-Handy führt die über die WebIDE installierte Hello-World-App unter den installierten Anwendungen auf.

Die Bits und Bytes des Simulators bedienen Sie genauso wie ein richtiges Firefox-Handy aus Silizium und Kunststoff. Mit dem Browser surfen Sie durchs Netz, über den Marketplace installieren Sie auch auf dem simulierten System Apps. Die Kamera-App liefert derzeit allerdings nur ein schwarzes Bild; in Zukunft soll die WebIDE jedoch die Webcam des Rechners einbeziehen [9]. Mit den zwei Schaltflächen am unteren Fensterrand kehren Sie auf den Homescreen zurück oder drehen das Display. Sobald der Simulator läuft, erscheinen mittig oberhalb des Editor-Bereichs drei Icons, wie Sie sie von einem Audioplayer kennen. Mit Start übertragen Sie das Programm auf das simulierte System und führen es umgehend aus (Abbildung 3). Mit Stop beenden Sie die Anwendung, auch wenn sie nicht mehr reagieren sollte; mit Pause öffnen Sie zum Debuggen die Firefox Developer Tools am unteren Rand des Fensters.

Abbildung 3: Die Hello-World-App kann nichts, das Demo-Projekt ist aber in weniger als fünf Minuten auf dem Handy installiert.

Damit dies auch auf einem realen Gerät funktioniert, müssen Sie auf dem Firefox-Phone das USB-Debugging einschalten. Es versteckt sich je nach Version tief in den Einstellungen des Geräts. Auf älteren Firefox-OS-Smartphones müssen Sie das Externe Debugging unter Einstellungen | Geräteinformationen | Weitere Informationen | Entwickler aktivieren.

Bei Geräten mit Firefox 2.2 schalten Sie unter Einstellungen | Geräteinformationen | Weitere Informationen das Entwicklermenü ein und geben dann anschließend das USB-Debugging für ADB und Werkzeuge in Einstellungen | Entwickler | Debugging über USB frei (Abbildung 4). Danach führt die WebIDE das Handy unter Select Runtime | USB DEVICES auf. Tippen Sie nun auf den Startknopf der Entwicklungsumgebung und lassen Sie den Netzwerkzugriff auf die Debugging-Schnittstelle zu. Kurz darauf installiert die WebIDE die Hello-World-App und führt sie wie im Simulator aus.

Abbildung 4: Möchte man über die Firefox-WebIDE Apps auf einem richtigen Handy installieren, muss der Debugging-Modus aktiviert sein.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Simulator für Firefox OS in Version 4.0

    Den Firefox-OS-Simulator gibt es nun in Version 4.0. Diese soll vor allem kommerzielle App-Developer beglücken und kann Touch Events erzeugen.
  • Maximiert
    Mit dem MX4 Ubuntu Edition bringt Meizu das bislang schnellste Ubuntu-Handy auf den Markt. Mit Octa-Core-CPU und 20,7-Megapixel-Kamera toppt es die Ubuntu-Handys von BQ deutlich, zeigt in der Praxis jedoch Schwächen.
  • Mozilla veröffentlicht Mobil-Ausgabe von Firefox-Version 4

    Mit der mobilen Ausgabe des Firefox-Browsers für Android-Geräte und Maemo-Handys hat Mozilla die nächste große Release nach dem Desktop-Browser Firefox 4 getätigt.
  • Firefox 41 erschienen
    Mozilla hat eine neue Version seines Browsers veröffentlicht. Firefox 41 bringt unter anderem kleinere Änderungen bei Hello und verbessert die Sicherheit in WebRTC-Verbindungen.
  • Firefox 43 veröffentlicht
    Mozilla hat eine neue Version seines Browsers freigegeben. Die Änderungen halten sich dieses Mal in Grenzen und richten sich hauptsächlich an Entwickler.
Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...