Protocoder – schnell mal eine Android App coden

Protocoder IDE
Protocoder IDE

Protocoder ist eine App, welche mich seit langem mal wieder sehr fasziniert hat. Der Name sagt schon alles über sie aus: Proto(type)coder. Denn genau dazu ist sie da: um sehr einfache Prototypen zu erstellen. Hierzu bringt die App ein völlig neues Konzept mit: eine IDE, welche direkt über den Browser eines PCs zu erreichen ist. Dazu wird nach App-Start ein Webserver auf Port 8585 bereitgestellt. Alternativ kann das Gerät auch per USB an einen PC angeschlossen und die Verbindung (mit dem adb Tool aus dem Android SDK) getunnelt werden:

$ ./adb forward tcp:8585 tcp:8585
$ ./adb forward tcp:8587 tcp:8587

Somit ist die IDE auch ohne Wifi via lokalem Webserver unter http://localhost:8585/ erreichbar.

Funktionsumfang

Nach dem Start der App können sofort die mitgelieferten Beispiele gestartet werden und man versteht recht schnell welchen Funktionsumfang die App in etwa bietet:

Screenshot Protocoder Examples  Protocoder MyProjects
Version 0.8 kommt mit folgenden Beispielen:

  • AccelerometerPlots (Beschleunigungssensorgrafisch darstellen)
  • Camera (Bild mit der Kamera aufnehmen und abspeichern)
  • Canvas (Kreise auf einen Canvas anhand von Beschleunigungssendordaten malen)
  • Dashboard (Plots auf dem Dashboard anzeigen)
  • FileIO (Daten in Datei schreiben)
  • GPS (Positionsdaten ausgeben)
  • KeyEvents (
  • NFC (NFC Tag lesen, bzw beschreiben)
  • OSC (OSC networking protocol Beispiel)
  • OpenStreetMaps (Teil der OpenStreetMaps anzeigen)
  • PureData (PureData Patch ausführen)
  • Sensors (Sensordaten anzeigen)
  • Sound (OGG-Datei sbspielen)
  • TextToSpeech (Text per Sprache ausgeben)
  • UBoard_IOIO (Ansteuerung des IOIO-Boards)
  • UBoard_MAKR (Ansteuerung des MAKR Boards)
  • UI (Bedienelemente anzeigen)
  • Video (m4v-Video abspielen)
  • VoiceRecognition (Spracherkennung und anschliessende Ausgabe)
  • Webview (HTML-Anzeige)
  • timer (wiederkehrende Funktionsaufrufe mit Timer)

Java/Android API via Javascript

Codiert werden die Prototypen in JavaScript, das zur Laufzeit interpretiert wird. Hierfür wird die Android API für einfache Funktionsaufrufe gewrappt.
Ein Beispiel: mit folgendem Skript wird ein NFC-Tag ausgelesen, bzw bei Betätigen des Knopfes beschrieben.

var nfcinfo = ui.addLabel("tap to get NFC id and content", 20, 20, 500, 100);

//when tapping on a nfc the id and content will be displayed
//on the label
sensors.onNFC(function (id, data) {
console.log(„the nfc id is: “ + id, data);
nfcinfo.setHTMLText(„id: “ + id + “
data: “ + data);
});

//when we click
//the next touched nfc will be written with the data
ui.addButton(„Write to NFC“, 0, 200, 500, 100, function(){
sensors.writeNFC(„this is a test“, function() {
nfcinfo.setText(„data written“);
});
});

Abzüge in der B-Note

Der API-Funktionsumfang ist zZt noch recht überschaubar. Viele Funktionen habe ich vermisst bzw sind noch in der Entwicklung. Wenn irgendwelche Android-API Klassen fehlen muss man sich die App wohl selber erweitern und kompilieren.
Eine typische Schwachstelle bei der App ist – wie bei vielen kostenlosen Programmen – die fehlende Doku. Wäre sie in ausreichender Form vorhanden hätte man innerhalb von Minuten den ersten Prototypen fertig gestellt.
Und ja, Protocoder ist noch nicht ganz fertig / Bug-frei: Protocoder_Crash

Weitere Infos

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s