Just another Client: Mobile HTML

Den Batteriezustand im Griff!

Die Leistung moderner Smartphones wird immer stärker. Nicht selten besitzen sie heute zwei CPUs oder wesentlich längere Batterielebenszeit als die älteren Vorgängermodelle. Nichtsdestotrotz kann es sehr nützlich sein, wenn die mobile Webanwendung den Status der Batterie im Auge behält. Genau dafür gibt es das Battery Status API [6] (Listing 2).

Listing 2
...
var battery = navigator.battery;

// listener:
battery.ondischargingtimechange = function() {
  console.log("Verbleibende Sekunden der Batterielaufzeit: " + battery.dischargingTime);
};
battery.onlevelchange = function() {
  console.log("Batterie Status: " + (battery.level * 100) + "%");
};
...

Der BatteryManager besitzt vier Attribute:

  • charging: boolean, der angibt, ob das Gerät geladen wird
  • chargingTime: Verbleibende Sekunden bis der Akku 100 % erreicht hat
  • dischargingTime: Verbleibende Sekunden bis der Akku vollständig entladen ist
  • level: Fließkommawert (zwischen 0 und 1.0), der den Status der Batterie angibt

Daneben gibt es vier entsprechende Callbacks (onchargingchange, onchargingtimechange, ondischargingtimechange und onlevelchange), die durch den Browser aufgerufen werden, sobald sich der Wert des entsprechenden Attributs ändert. Der Webentwickler kann so auf eine schwache Batterie reagieren und zum Beispiel statt visuellen Grafiken (Canvas) eine einfache Textausgabe anbieten.

Fazit

Innerhalb von HTML5 entstehen neue interessante APIs, die gerade im mobilen Kontext sehr nützlich erscheinen. Der anhaltende Trend zu einer starken mobilen Nutzung des Internets beflügelt APIs wie die hier vorgestellten. Zwar sind native (z. B. iOS oder Android) Apps derzeit noch deutlich leistungsstärker, aber der (mobile) HTML5-Zug scheint nicht aufzuhalten.

Lars Röwekamp ist Geschäftsführer der open knowledge GmbH und berät seit mehr als zehn Jahren Kunden in internationalen Projekten rund um das Thema Enterprise Computing (Twitter: @mobileLarson).

Matthias Weßendorf arbeitet für die Firma Kaazing. Dort beschäftigt er sich mit WebSocket, HTML5 und weiteren Themen rund um das Next Generation Web. Er bloggt regelmäßig auf http://matthiaswessendorf.wordpress.com (Twitter: @mwessendorf).

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.