CFW: Integrierte Entwicklungsumgebungen

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

CFW: Integrierte Entwicklungsumgebungen

Beitrag von richard.kunze » 19 Nov 2016, 15:49

Hallo zusammen,

wie ihr hier und hier vielleicht schon gelesen habt, sind wir gerade dabei, die Community-Firmware um zwei Entwicklungsumgebungen zu erweitern, mit denen man dann direkt auf dem TXT Apps entwickeln kann. "Direkt" heißt hier, dass man außer dem TXT (mit Community-Firmware) und irgendeinem Gerät mit einem einigermassen modernen Browser (PC, Tablet, Smartphone, ...) nichts weiter braucht, um direkt loszulegen.

Die beiden Entwicklungsumgebungen, die wir aktuell einbauen wollen sind:
  • Jupyter/IPython: Das ist ein System, mit dem man "Notebooks" erstellen und ausführen kann, die neben dem eigentlichen (Python-)Code noch Dokumentation, Erklärungen und sonstigen Text enthalten können. Wie so ein Notebook aussieht kann man sich unter https://try.jupyter.org/ ansehen (da dann am besten das "Welcome to Python"-Notebook auswählen).
  • "RoboBlocks" (Arbeitsname, wenn jemand einen besseren hat bitte melden): Das wird ein Scratch-artiges System, das speziell auf den TXT zugeschnitten ist. Die Zielgruppe sind Programmieranfänger. RoboBlocks wird auf Blockly basieren, einen ersten Eindruck wie das auf dem TXT aussehen könnte kann man sich direkt unter https://developers.google.com/blockly/ ansehen (denkt Euch die rechte Seite mit der Anzeige des Programmcodes weg, das wird es in RoboBlocks so eher nicht geben).
Details zur Integration von Jupyter/IPython siehe hier, ein passender Thread zu RoboBlocks kommt noch wenn ich damit anfange (ich verlinke den dann ebenfalls hier).

In diesem Thread möchte ich vor allem diskutieren, wie man die beiden aktuell geplanten (und eventuelle zukünftige, z.B. eine generische IDE auf Basis von https://ace.c9.io/) am besten in die Community-Firmware integriert.

Im Groben stelle ich mir die Integration und die Anforderungen an die IDEs so vor:
  • Alle CFW-Entwicklungsumgebungen erzeugen und bearbeiten Apps für die Community-Firmware. Die Apps werden immer auf dem TXT gespeichert (und geladen), von dem aus auch die IDE abgerufen wird.
  • Wenn irgendwie möglich können die mit einer integrierten Entwicklungseumgebung erstellten Apps autonom laufen, d.h. ohne dass die jeweilige Entwicklungsumgebung laufen muss (immer ist das nicht möglich, weil z.B. IPython-Notebooks vom Konzept her immer über den Browser gesteuert werden auch wenn der eigentliche code auf dem TXt läuft).
  • Alle in der Community-Firmware integrierten IDEs brauchen für die Ausführung nur einen (halbwegs modernen) Browser, der das Webinterface des TXT aufrufen kann.
  • Die IDEs können direkt über das Webinterface des TXT angesprochen werden und müssen nicht explizit auf dem TXT gestartet werden (d.h. die IDEs sind selbst keine Apps)
  • Wenn eine IDE gerade nicht läuft, dann verbraucht sie auf dem TXT auch keine Resourcen (außer Speicherplatz auf der SD-Karte).
Was meint Ihr dazu?

Antworten