GUI ist GUI. Mehr gibt es dazu nicht zu sagen.
Beides ist nicht miteinander zu vergleichen. Das hier soll eine hardwarenahe Programmiersprache nicht ersetzen. Man kann es aber am ehesten mit irgendeinem Basic vergleichen.Zitat:
was ist dann daran anders als bei C++ Libs
Bei dieser Oberfläche bzw. dem darunter liegenden Programm, geht es vor allem um Abstraktion, ohne auszuschließen, dass man damit aber auch Code ausführen kann.
Die Interface-Funktion (Interface in dem Fall meint den Teil, wo die Baumstruktur abgebildet wird) ist gesamt in einer Art programmiert, die auch verwendet wird, wenn das Interface benutzt wird.
Über das Interface kann man eigentlich auch dessen Funktion ändern. Das Programm kann sich selbst ändern. So, wie das unter DOS möglich war, wo man mit COM-Dateien bspw. den Code der Datei überschreiben konnte.
Die Abstraktion bekommt man auch mit JavaScript hin, C++ oder anderem. Auch mit Assembler oder Maschinencode ist das möglich. Nur gerade bei Letzterem offenbart sich dann, wo die Nachteile liegen. Auch in der Arduino-IDE ist das möglich. Es ist aber unheimlich umständlich, bei größeren Projekten u.U. unübersichtlich und nicht systemunabhängig. Dies hier funktioniert in jedem Webbrowser auf jedem Computer (ob unter Linux, Windows, Mac oder was anderem), der ECMA Script in Version 5 unterstützt (JavaScript). Als ich das grafische Interface noch nicht hatte, habe ich alles in ellenlangen Scripten, per Texteditor, verfasst, was dann irgendwann auch wieder unübersichtlich wurde. Die zugrundeliegende Struktur ist. u.U. nicht ganz einfach zu verstehen und nach längerer Zeit habe auch ich dann immer wieder mal Sachen vergessen (wie Befehle zusammen arbeiteten z.B.). Auch wenn ich eine fast 50-seitige Dokumentation darüber habe. Deswegen habe ich dann diese nächste Ebene eingeführt, die die Handhabung und das Erstellen von Code, den ich eben sonst in Scripten verfasse, vereinfacht und unanfälliger für Fehler macht. Außerdem habe ich direkten Zugang zum ausgeführten, abstrakteren Code, falls irgend etwas nicht funktioniert. Die Arbeit der Programme ist im Detail, Zeile für Zeile und Variable für Variable zu beobachten (auch wenn es dann nat. langsamer ausgeführt wird). Falls mal was nicht funktioniert, kann ich so Fehler in sehr kurzer Zeit finden. Damit steigt die Produktivität.
Ich weiß noch nicht, ob ich die Möglichkeit für dieses Projekt noch zugänglich mache, aber implementiert ist sie: die Programmausführung kann zu jeder Zeit pausiert werden. Stell Dir vergleichsweise vor, MS-Windows hätte einen Pause-Button, den Du betätigen kannst. Man kann hier die gesamte Anwendung im Browser anhalten / einfrieren und später einfach fortsetzen. Bis jetzt sehe ich noch nicht, dass man das hier brauchen könnte.
MfG
PS: ich kann das auch auf einem BueRay-Disk-Player ausführen, auf der Playstation oder dem Fernsehgerät. Also ich kann den nodeMCU - Webserver auch über diese Geräte erreichen und die Benutzeroberfläche dort verwenden.
Hier habe ich die Benutzeroberfläche, vom nodeMCU, auf dem Fernseher im Wohnzimmer, geladen:
Bild hier