Ein erster Ausflug in die App-Entwicklung für bada

Samsungs mobile Plattform bada spielt bei Entwicklern bislang kaum eine Rolle. Und das, obgleich es mittlerweile mehrere Millionen Anwender gibt und die Plattform rasant wächst. Wer mit der Anwendungsentwicklung für bada umzugehen weiß, kann mit wenig Aufwand eine große Zahl Anwender ansprechen.

In Pocket speichern vorlesen Druckansicht 10 Kommentare lesen
Lesezeit: 20 Min.
Von
  • Tam Hanna
Inhaltsverzeichnis

Samsungs mobile Plattform bada spielt bei Entwicklern bislang kaum eine Rolle. Und das, obgleich es mittlerweile mehrere Millionen Anwender gibt und die Plattform rasant wächst. Wer mit der Anwendungsentwicklung für bada umzugehen weiß, kann mit wenig Aufwand eine große Zahl Anwender ansprechen.

Wer heute eine Anwendung für einen Handcomputer entwickeln will, denkt an Android und/oder iOS. Amerikaner ziehen unter Umständen noch BlackBerry in Erwägung, in Europa findet sich vielleicht noch der eine oder andere von Nokia noch nicht vollends vergrämte Symbian-Entwickler. Samsungs bada spielt bislang kaum eine Rolle. Das ist – zumindest nach Meinung des Autors – fahrlässig. Es gibt mittlerweile mehrere Millionen bada-Anwender, und die Plattform wächst rasant. Dem steht eine geradezu minimale Anzahl von Entwicklern gegenüber – und das, obwohl noch vor einigen Jahren Samsung glänzend im mobilen Markt positioniert war (siehe Exkurs).

Mehr Infos

bada

Ungeachtet aller Spekulationen, was Produktnamen in anderen Sprachen für Konnotationen und eventuell auch Konsequenzen nach sich ziehen, heißt bada auf Koreanisch "Ozean". Das soll die Breite der Plattform symbolisieren.

Aktuell

Wer auf seinem Telefon immer noch mit einer 1.x-Version arbeitet, sollte aktualisieren. Dazu deinstalliert man das Synchronisationstool Kies am PC und installiert die aktuelle Version. Danach verbindet man das Telefon mit Kies und sucht nach einem Update. Wird kein Update für das Gerät anzeigt, liegt das entweder am Netzbetreiber oder daran, dass früher eine inoffizielle Version des Betriebssystems aufgespielt wurde. Dann empfiehlt es sich, direkt die Version 2.0 zu installieren. Die Webseite handy-faq.de bietet hierzu eine umfangreiche Auswahl an.

Seit 2010, als mit dem Wave I ein erstes bada-Gerät erschien, ist im Mobilmarkt eine halbe Ewigkeit vergangen. Samsung hat eine wahre Horde von Geräten auf den Markt geworfen und im Frühjahr 2012 Bada 2.0 veröffentlicht. Mittlerweile ist das Betriebssystem für alle Wave-Telefone verfügbar.

Die Mehrheit der APIs hat sich zwischen bada 1.0 und bada 2.0 nicht verändert. Obwohl die Beispiele im folgenden Artikel mit einem unter bada 2.0 betriebenen Wave II getestet wurden, sollten Entwickler sie ohne große Probleme auf älteren Geräten zum Laufen bringen.

Samsung benennt bada wechselweise als "Plattform" und als "Framework". Die Bezeichnung Betriebssystem kommt im offiziellen Sprachgebrauch so gut wie nie vor. Mit Framework bringt Samsung zum Ausdruck, dass es sich nur um eine Gruppe von C++-Bibliotheken handelt. Das ist insofern richtig, als Samsung sich zum in bada verwendeten Kernel nicht äußert und sich Änderungen vorbehält. Für die praktische Entwicklung hat das aber mangels Kernel-APIs sowieso keine Bedeutung.

Samsungs Wave II, für das im Artikel entwickelt wurde (Abb. 1)

Das Plattformkonzept ist hingegen eminent wichtig. Das bada-Handset ist nämlich nur ein Teil der in Abbildung 2 dargestellten Infrastruktur, deren größter Bereich nicht in den Händen des Endanwenders oder des individuellen Entwicklers liegt.

Samsung sieht das Leben von bada als zyklischen Prozess. Der Entwickler erstellt nach der Registrierung auf der Entwickler-Website eine Anwendung mit dem SDK. Diese nutzt die APIs des Handsets, die zum Teil mit weiteren am Server verdrahtet sind. Die Verdrahtung geht so weit, dass manche APIs des Betriebssystems am Telefon nur als "Shell" implementiert sind und die eigentliche Verarbeitung an einen von Samsung oder von Amazon betriebenen Server weiterreichen. Ein Beispiel dafür ist die Content Storage API, die die vom Benutzer erstellten Content Items auf einem von Samsung betriebenen Server kennzeichnet, die eigentliche Speicherung aber in Amazon S3 vornimmt.

Das bada-Ökosystem (Abb. 2)

Die vierte Kolumne in der Abbildung ist dem Endbenutzer zugewandt. Der DAU (Dümmste anzunehmende User) kauft in Samsung Apps ein Programm. Samsungs (eher unzuverlässige) Synchronisierungssoftware Kies jagt es auf sein Telefon. Der DAU testet das Programm und beklagt sich beim Entwickler. Der Kreis schließt sich, indem der Entwickler von seinem DAU gefundene "Issues" an Samsung meldet. Das Melden von Fehlern ist kostenlos. Die gemeldeten Fehler bewegen bei Samsung durchaus größere Zahnräder.

bada steht in der Tradition von Symbian OS. Deshalb ist es in Samsungs eigenem Betriebssystem möglich, Anwendungen auf verschiedene Arten zu entwickeln. Die einfachste Methode der Anwendungserstellung ist mit Sicherheit das Verwenden von HTML5 oder Flash Lite. Damit erstellte Apps laufen im Browser, lassen sich trotzdem über Samsung Apps vertreiben. Da bada auch als Ersatz für die klassischen (und erfolgreichen) Feature-Dumbphones vorgesehen ist, gibt es auch einen Java-ME-Interpreter (Java Micro Edition). Wer seine Anwendungen mit Java ME entwickelt, muss nur die plattformüblichen Anpassungen durchführen. Will ein Entwickler den maximalen Nutzen aus bada ziehen, muss er auf die C++-Runtime zurückgreifen. Sie entspricht im Großen und Ganzen standardisiertem C++, wenn auch einige seltenere Teile der Programmiersprache nicht oder nur rudimentär implementiert sind.