Endlich: Samsung launcht Widget-SDK für TouchWIZ
Wednesday, August 19, 2009 13:22Wie alt ist das F480, Codename Tocco? 2 Jahre? Schon bei der ersten Begegnung mit dem handlichen Touchphone, das sich unter anderem auch mit dem Namen Armani Phone zieren durfte, stellte man sich zwei grundsätzliche Fragen: Welches Betriebssystem ist das und wie programmiert man dafür? Die Antwort bleibt Samsung der breiten Öffentlichkeit bis heute schuldig, aber in dieser Woche startet der koreanische Hersteller sein offizielles “Vorprogramm” für die Lüftung der Geheimnisse der “Samsung Handheld Platform“, die Geräten wie F480, Jet oder Pixon zugrunde liegt und veröffentlicht ein SDK, mit dem sich HTML/JS-Widgets für die Homescreens von TouchWIZ-basierten Geräten entwickeln lassen.
Damit begeben sich die Koreaner ins Kampfgebiet der webbasierten Tool-Entwicklung, für viele wegen ihrer vermeintlichen Einfachheit der heilige Gral des modernen Software-Developments. So gut dokumentiert, wohldurchdacht und integriert wie die SDKs für Nokias S60 Web Runtime oder Palms webOS wirkt das neue Widget-SDK zwar nicht, aber es bietet eine gute Grundlage, um das unter einer kunterbunten Oberfläche versteckten dröge Widget-Ökosystem mit dynamischen Applikationen zu erweitern.
Samsung verpackt sein SDK als Eclipse-Plugin, das ab Galileo (3.5) installiert werden kann. Im Bundle stecken zwei Demoprojekte (ein HelloWorld- und ein RSS-Reader-Widget), die als Templates für eigene Projekte dienen können. Das Ressourcenlayout eines Widgets trennt in gewohnter Weise Präsentation, Design und Funktionalität voneinander. Grundsätzlich orientiert sich Samsung mit seinem Widget SDK an der Widget-Spezifikation 1.0, die das W3C vorgibt, sodass sich die mit dem SDK verpackten .WGT-Files (ZIP als Kompressor) auch in jedem Widget-fähigen Opera-Browser installieren lassen. Um auf gerätespezifische Eigenarten eingehen zu können, kann der Entwickler von einem “override”-Folder Gebrauch machen, der bei Bedarf für jeden Gerätetyp ein spezielles Layout oder Grafiken vorsieht. Zum Testen der Darstellung von Widgets beinhaltet das SDK die mobilen Runtimes für Opera, NetFront und den WebKit-Browser Dolfin. So lässt sich ein simpler Vorschaumodus aufrufen, der das Widget auf der sichtbaren Fläche des jeweiligen Handy-Bildschirms darstellt – ein Device-Emulator ist allerdings nicht Bestandteil des Development Kits.
Das im SDK mitgelieferte Javascript-Minimalframework eignet sich dabei nur als naive Beispielimplementierung von gängigen Problemen der Web-Entwicklung: es fragt auf einem Gerät die Verfügbarkeit des Netzwerks ab, kümmert sich ums Error-Handling, die Positionierung und Skalierung des Widget-Fensters und den Lifecycle von XMLHttpRequests. Für die Entwicklungsumgebung wurden die Bibliotheksfunktionen so angepasst, dass Widgets auch in lokalen Browsern wie Firefox oder Safari ihren Dienst verrichten und mit Tools wie Firebug debugged werden können. Zusätzlich zu den im SDK verpackten Template-Dateien bietet Samsung sein Javascript-Framework “Common Library” an, das auf SHP-typische proprietäre Systemfunktionen für Widgets zugreift. Von der Funktionsvielfalt eines Protoype oder jQuery ist Samsung damit aber noch meilenweit entfernt. Auch die Interoperabilität mit etablierten Frameworks scheint fragwürdig, da beispielsweise das Package “util.js” einen $-Operator als Alias für getElementById() vorsieht und damit potenziell mit Prototype kollidieren kann, das seinerseits ein via $ referenziertes Element automatisch um Framework-eigene Funktionen erweitert.
Mehr Informationen
Widget-SDK Startseite bei Samsung Innovator
Übersicht über die Common Library
Spezifikation eines einheitlichen Layouts für Widget-Packages (W3C)

