Anwendungen auf dem Handy programmieren

Berührt, programmiert

Touchdevelop erlaubt die Entwicklung von Apps direkt auf dem Windows Phone. Mit Einschränkungen funktioniert das sogar auch mit iPhone, Android und im Webbrowser.

Aus Windows Phone User 03/2013

Bevor ein App-Entwickler Geld verdient, stehen Investitionen an. Zum Programmieren von iPhone-Apps braucht es einen Mac, fürs Windows Phone einen PC mit Windows 8. Mit der experimentellen und kostenlosen Software Touchdevelop bringt Microsoft die App-Entwicklung direkt aufs Handy und beschwört die gute alte Homecomputer-Ära herauf, in der das Programmieren noch Spaß machte und jedermann offen stand.

Anwender schreiben mit Touchdevelop in einer einfachen Programmiersprache eigene Skripte, die auf die wesentlichen Funktionen des Telefons zugreifen können, etwa per GPS den aktuellen Ort auslesen, mit der Kamera ein Foto schießen, dies bearbeiten und per E-Mail verschicken. Über sogenannte Events können die Touchdevelop-Skripte mit dem Benutzer interagieren, wenn der beispielsweise das Handy schüttelt. Auch der Zugriff auf SMS, Kontaktdaten und die Musikbibliothek ist per Skript möglich.

Abbildung 1

Abbildung 1: Touchdevelop ermöglicht App-Entwicklung direkt auf dem Handy.

Abgespielt

Nach dem Start der App findet man sich im Home-Screen wieder, auf dem man mit dem Plus-Icon ein neues eigenes Skript anlegen kann. Nach dem Eingeben eines App-Namens zeigt Touchdevelop die Übersichtsseite, auf der oben der Eintrag "code" zu finden ist. Dort ist bereits die Main-Funktion eingetragen, die Touchdevelop ausführt, wenn der Nutzer die App startet. Im Entwicklungsmodus tippt man dazu die Main-Funktion an, was den Code-Editor öffnet. Am unteren Rand des Editors ist ein Play-Button zu sehen, der das Skript startet.

In einem sogenannten "strukturierten" Editor kann der Anwender auf dieser Seite eigenen Programmcode eingeben. Im grundlegenden Eingabemodus hebt der Editor die aktuelle Zeile hervor und bietet an, entweder über oder unter ihr neuen Programmtext einzufügen. Zusätzlich gibt es Funktionen, um Text auszuschneiden (cut) und wieder einzufügen (paste). Wählt man mit dem Plus-Zeichen den Einfügemodus, präsentiert Touchdevelop eine Auswahl von Schlüsselwörtern der Programmiersprache, etwa für If-Abfragen, For/While-Schleifen und Variablen.

Der Button "command" führt zu einer neuen Auswahl, die weitere Schaltflächen bietet, zum Beispiel für Zahleneingaben, Operatoren (Plus, Größer, Kleiner …), logische Verknüpfungen und eingebaute Funktionen. Das Angebot ist hier größer als der zur Verfügung stehende Platz, deshalb schaltet der rechte untere Button seitenweise weiter. Hier finden sich zum Beispiel Funktionen, um Text auf dem Display auszugeben und Mails zu verschicken.

Wieder zurück auf der App-Seite, ist unter "code" ein zweiter Punkt namens "events" zu finden. Dort sind sogenannte Ereignisse aufgeführt, die meistens Benutzereingaben entsprechen, auf die das Skript reagiert. So gibt es ein "shake"-Event, das ausgelöst wird, wenn der Anwender das Handy schüttelt. Dreht er es ins Breit- oder Hochformat, laufen die Events "phone portrait" beziehungsweise "phone landscape left" oder "phone landscape right" ab. Ein Druck auf den Kameraknopf am Handy lässt sich mit einem Event verarbeiten, genauso wie eine Vielzahl von Berührungsarten auf dem Touchscreen.

Abbildung 2: Der strukturierte Editor in Touchdevelop erleichtert das Editieren über Buttons.

Abbildung 3: Der Editor bietet Zugriff auf Handy-Funktionen wie die Bilddatenbank.

Geschüttelt

Ein einfaches Beispiel soll verdeutlichen, wie Events und Aktionen in Touchdevelop zusammenspielen: Das Schütteln des Telefons soll zufällig ein Bild aus der Medienbibliothek auswählen und anzeigen.

An der Main-Funktion gibt es zunächst nichts zu verändern. Eine Berührung des Plus-Symbols neben dem Eintrag "events" öffnet die Auswahl der Events, im Beispiel soll das "phone shake" sein. Touchdevelop zeigt dann den Editor, in dem bereits der Code "event shake()" steht, der die Funktion darstellt, die abläuft, wenn das Event eintritt. Darunter steht "do nothing". Hier trägt man ein, was passieren soll. Ein Tipp auf den Text aktiviert den Editor, ein weiterer auf das Pluszeichen ("add below") aktiviert die Eingabe.

Daraufhin wird der Plus-Button zum Command-Button, mit dem man in einen anderen Eingabemodus für Zahlen, Sonderzeichen und Kommandos gelangt. "media" wählt die Medienfunktionen, die etwa "choose picture" und "create picture" anbieten. Die gesuchte Funktion "pictures", die alle Bilder der Bibliothek wählt, findet sich auf der zweiten Seite, auf die man mit dem rechten unteren Button "next suggestions" gelangt. Wie man sieht, ändert der Touchdevelop-Editor jeweils kontextsensitiv die angebotenen Funktionen. Hier ist es "random", das aus den Bildern zufällig eines auswählt. Im letzten Schritt muss man wieder etwas durch die Liste scrollen, um die gewünschte Funktion "post to wall" zu finden. Das Antippen der Back-Funktion am Handy beendet das Editieren. Zurück im Event-Editor startet der Play-Button am unteren Rand das Skript. Zuerst läuft die Main-Funktion ab, die in unserem Beispiel nichts macht und dann auf das Eintreten eines Events wartet. Schüttelt man das Handy, sollte wie erwartet ein Bild aus der Bibliothek auf dem Bildschirm erscheinen. Ein Druck auf die Back-Funktion beendet das Skript.

Solche einfachen Anwendungen sind mit Touchdevelop leicht zu realisieren. Um komplexere Programme zu schreiben, bietet die Übersichtsseite jedes Skripts weitere Menüpunkte. So lassen sich mit "data" globale Variablen verwalten, die nicht nur dazu dienen, zwischen der Main-Funktion und anderen Funktionen des eigenen Programms Daten auszutauschen, sondern diese nach Beenden des Skripts dauerhaft speichern. Viele Entwickler zweckentfremden diese Variablen, da Touchdevelop für normale Variablen eigene Namen verwendet und durchnummeriert. Das ist der Übersicht nicht förderlich. Für komplexere tabellarische Daten gibt es auf der Übersichtsseite noch die "records". Bilder, Farben und Töne lassen sich ins eigene Programm per "art" einbinden. Allerdings muss man solche Dateien umständlich von Adressen im Web laden.

Skripte kann man direkt auf die Touchdevelop-Seite laden, wo sich eine Reihe von praktischen Bibliotheken findet. Um Touchdevelop hat sich eine rege Community entwickelt, die Skripte austauscht. Einige Beispiele demonstrieren, dass sich mit Touchdevelop Anwendungen mit vielen Hundert Zeilen Code schreiben lassen – das ist aber für meinen Geschmack ziemlich mühsam.

Wer glaubt, sein Programm sei für Größeres bestimmt, kann daraus eine App machen und sie im Store anbieten. Die Umwandlung übernimmt Microsoft, setzt jedoch einen kostenpflichtigen Entwickler-Account voraus. Auch iPhone- und Android-Besitzer sowie handylose Gesellen müssen nicht auf Touchdevelop verzichten, denn es gibt eine auf HTML5 basierende Version, die im Browser läuft. Lediglich die systemnahen Gerätefunktionen bleiben ausgeschlossen.

Schlagwörter: Apps , Developer , Touchdevelop

Verwandter Inhalt

blog comments powered by Disqus