JavaScript programmieren auf der cfw

Hallo Kids, hier ist eine Ecke extra für euch!
Ihr könnt hier Fragen aller Art stellen, die wir euch gerne so schnell wie möglich beantworten.
Ihr dürft hier aber auch gerne eure Modelle einfach mal anderen Fischertechnikern vorstellen.
Benutzeravatar
Tom_B.
Beiträge: 13
Registriert: 23 Jan 2021, 13:14

JavaScript programmieren auf der cfw

Beitrag von Tom_B. » 23 Jan 2021, 13:28

Hallo, bevor ich zum Thema komme, möchte ich nur sagen, dass ich eigentlich Tom B. bin. Hab nämlich mein Passwort vergessen. So, jetzt geht 's los! Also, ich wollte nur mal fragen, ob man auf der cfw auch mit JavaScript statt Python programmieren kann. Und wenn, dann wie? :?: :?: :?: Ich würde mich sehr über Antworten freuen.
Viele Grüße,
Tom

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: JavaScript programmieren auf der cfw

Beitrag von MasterOfGizmo » 23 Jan 2021, 13:40

Die Frage ist, was genau Du machen willst.

Normalweise wird Javascript vom Webserver an einen Browser ausgeliefert und dort ausgeführt. Sowas gibt es auf dem TXT z.B. in Form der Brickly-App. Aber da läuft dann der Code im Browser auf Deinem PC oder Handy. Der TXT liefert das lediglich aus.

Wenn Du Javascript wirklich auf den TXT laufen lassen willst brauchst Du auf dem TXT Software, die Javascript-Progrsmme ausführen kann. NodeJS ist so eine Software. Die ist auf der CFW nicht vorhanden. Daher geht sowas nicht so ohne weiteres. Außerdem bräuchtest Du irgendeine Möglichkeit, den Bildschirm des TXT von JS aus anzusteuern. Du willst ja sicher irgendwelche Dinge anzeigen und bedienen in Deinem Programm. Das geht auch nicht so ohne weiteres
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
Tom_B.
Beiträge: 13
Registriert: 23 Jan 2021, 13:14

Re: JavaScript programmieren auf der cfw

Beitrag von Tom_B. » 23 Jan 2021, 14:27

MasterOfGizmo hat geschrieben:
23 Jan 2021, 13:40
ohne weiteres
Was ist denn das weitere?

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: JavaScript programmieren auf der cfw

Beitrag von MasterOfGizmo » 23 Jan 2021, 16:06

TomBajorath hat geschrieben:
23 Jan 2021, 14:27
MasterOfGizmo hat geschrieben:
23 Jan 2021, 13:40
ohne weiteres
Was ist denn das weitere?
Die Firmware um NodeJS erweitern, Bibliotheken zur Grafikdarstellung schreiben und einbinden usw usw .... machbar ist das alles. Ist nur die Frage, ob Du die Geduld hast das zu lernen und umzusetzen.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
steffalk
ft:pedia-Herausgeber
Beiträge: 1792
Registriert: 01 Nov 2010, 16:41
Wohnort: Karlsruhe
Kontaktdaten:

Re: JavaScript programmieren auf der cfw

Beitrag von steffalk » 23 Jan 2021, 16:32

(OT: Darf ich mal fragen, was das in der Kids' Corner macht?)

Benutzeravatar
Kali-Mero
Beiträge: 595
Registriert: 21 Nov 2017, 12:28
Wohnort: Karlsruhe
Kontaktdaten:

Re: JavaScript programmieren auf der cfw

Beitrag von Kali-Mero » 23 Jan 2021, 17:48

steffalk hat geschrieben:
23 Jan 2021, 16:32
(OT: Darf ich mal fragen, was das in der Kids' Corner macht?)
...digital Natives sind halt ein bisschen früher dran... :-D

Benutzeravatar
Tom_B.
Beiträge: 13
Registriert: 23 Jan 2021, 13:14

Re: JavaScript programmieren auf der cfw

Beitrag von Tom_B. » 23 Jan 2021, 18:00

Also ich habe auf jeden Fall Geduld dazu...

Benutzeravatar
Tom_B.
Beiträge: 13
Registriert: 23 Jan 2021, 13:14

Re: JavaScript programmieren auf der cfw

Beitrag von Tom_B. » 23 Jan 2021, 18:55

...wie geht das denn alles?
Ich würde mich sehr über eine Antwort freuen
Zuletzt geändert von Tom_B. am 30 Jan 2021, 18:13, insgesamt 1-mal geändert.

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: JavaScript programmieren auf der cfw

Beitrag von MasterOfGizmo » 24 Jan 2021, 09:32

steffalk hat geschrieben:
23 Jan 2021, 16:32
(OT: Darf ich mal fragen, was das in der Kids' Corner macht?)
Sorry, wollte keinen irritieren. Ich halte mich dann mal zurück.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
steffalk
ft:pedia-Herausgeber
Beiträge: 1792
Registriert: 01 Nov 2010, 16:41
Wohnort: Karlsruhe
Kontaktdaten:

Re: JavaScript programmieren auf der cfw

Beitrag von steffalk » 24 Jan 2021, 11:39

Tach auch!
Sorry, wollte keinen irritieren. Ich halte mich dann mal zurück.
Bitte nicht! Falsch verstanden: Ich fragte mich nur, warum jemand so einen Thread hier aufmacht und nicht in den Community Projekten. Nichts schlimmes. Weitermachen bitte!

Gruß,
Stefan

Benutzeravatar
The Rob
Moderator
Beiträge: 968
Registriert: 03 Dez 2015, 12:54

Re: JavaScript programmieren auf der cfw

Beitrag von The Rob » 24 Jan 2021, 15:50

steffalk hat geschrieben:
24 Jan 2021, 11:39
Ich fragte mich nur, warum jemand so einen Thread hier aufmacht und nicht in den Community Projekten.
Weil der Threadersteller damit zeigen kann, dass er dieser Altersklasse angehört. Wir sind dann darauf vorbereitet, von einem anderen Erfahrungslevel auszugehen und ggf. die Antworten anders zu formulieren.

@MoG
Ich glaube Tom B. braucht Hilfe derart, dass er erstmal wissen muss, wo er die nötigen Infos nachlesen kann.

Benutzeravatar
Tom_B.
Beiträge: 13
Registriert: 23 Jan 2021, 13:14

Re: JavaScript programmieren auf der cfw

Beitrag von Tom_B. » 09 Feb 2021, 14:17

Ich würde mich sehr über eine Antwort freuen.

Benutzeravatar
EstherM
Beiträge: 1466
Registriert: 11 Dez 2011, 21:24

Re: JavaScript programmieren auf der cfw

Beitrag von EstherM » 09 Feb 2021, 14:29

Hallo Tom,
in dem Fall gilt wohl: keine Antwort ist auch eine Antwort.

Alle die, die Dir nicht geantwortet haben, obwohl sie sich mit dem Thema auskennen, denken sich:
JavaScript auf dem TXT ist ein wirklich großer Aufwand. Wahrscheinlich ist der Aufwand so groß, dass niemand damit anfangen will.

Um auf einer beliebigen Plattform in einer bestimmten Programmiersprache programmieren zu können, müssen zwei Voraussetzungen erfüllt sein:
1. Der Programmierer muss die Programmiersprache können.
2. Die Plattform muss die Programmiersprache können.

In diesem Fall ist Voraussetzung 2 nicht erfüllt. Wahrscheinlich ist es einfacher und schneller, Du lernst Python als dass jemand Dir erklärt, wie man dem TXT JavaScript beibringt.

Gruß
Esther

atzensepp
Beiträge: 658
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: JavaScript programmieren auf der cfw

Beitrag von atzensepp » 09 Feb 2021, 19:56

Könnte man auf dem Controller eine Python-Library installieren, die Javascript interpretiert oder ist das prinzipiell ausgeschlossen?
https://medium.com/analytics-vidhya/run ... fe8f8aeb1e

Lars
Beiträge: 564
Registriert: 25 Okt 2016, 21:50

Re: JavaScript programmieren auf der cfw

Beitrag von Lars » 09 Feb 2021, 21:50

Hallo atzensepp,
atzensepp hat geschrieben:
09 Feb 2021, 19:56
Könnte man auf dem Controller eine Python-Library installieren, die Javascript interpretiert oder ist das prinzipiell ausgeschlossen?
das ist selbstverständlich möglich. Es fragt sich allerdings, ob sich das empfiehlt und wozu das gut sein soll.

Wenn ich es richtig sehe, dient JavaScript hauptsächlich als browserseitige Scriptsprache, d.h. die muß im Falle einer Steuerungsanwendung für ein ft-Modell eigentlich gar nicht auf dem TXT, sondern im Browser laufen. Das können alle halbwegs verbreiteten Browser und zumindestens die Verbreitetsten haben ihre JavaScript-Implementierungen in den letzten Jahren auch sehr stark verbessert.
Eines JavaScript-Webentwicklungssystems browserbasiert mit dem TXT als Server bedarf es ohnehin nicht zwingend. Das Entwicklungssystem dafür könnte auch auf einem Windows-PC, Linux-PC oder MAC mit Maus und Tastatur laufen. Auch die Entwicklungsumgebung für ROBOPro läuft ja nicht auf dem TX(T), sondern auf einem Windows-PC. Genauso läuft es beim Arduino, nur daß deren Entwicklungssystem plattformneutral in Java implementiert wurde und daher im Ergebnis ebenfalls auf einem PC oder einem MAC mit Maus und Tastatur betrieben wird.

Es stellt sich eher die Frage, mit welcher Programmiersprache der TXT als Server programmiert werden soll - da käme ich aber auch eher auf Python oder PHP als ausgerechnet auf JavaScript.

Auf diesem Projekt könnte man ein in Python realisiertes JavaScript-Entwicklungssystem aufsetzen, wenn die JavaScript-Ausführung Debugging-tauglich implementiert wurde und man nicht bloß das fertige Resultat bewundern kann.


Mit freundlichen Grüßen
Lars

tintenfisch
Beiträge: 472
Registriert: 03 Jan 2018, 22:04

Re: JavaScript programmieren auf der cfw

Beitrag von tintenfisch » 09 Feb 2021, 22:21

Hi Lars,
Lars hat geschrieben:
09 Feb 2021, 21:50
[...]Wenn ich es richtig sehe, dient JavaScript hauptsächlich als browserseitige Scriptsprache,
Das ist soweit richtig, zumindest kam die Sprache mal daher.
Lars hat geschrieben:
09 Feb 2021, 21:50
d.h. die muß im Falle einer Steuerungsanwendung für ein ft-Modell eigentlich gar nicht auf dem TXT, sondern im Browser laufen.
[...]
Das ist nicht richtig, z.B. erlaubt es nodejs beliebige Anwendungen, die nicht auf den Browser beschränkt sind, zu entwickeln. Dabei kommt die ursprünglich für Chrome entwickelte Laufzeitumgebung V8 zum Einsatz, die JS ausführt. Das kann sehr performant sein weil das u.a. auf asynchroner I/O basiert.

Ich stimme aber MoC und Esther zu, dass es ein ziemliches Unterfangen wäre, JS nativ auf dem TXT auszuführen. Würde man die Schritte im einzelnen erklären wollen, wäre das vermutlich ebenso aufwendig, wie das alles selbst zu entwickeln. Till hat ja schon Stichworte genannt, was alles notwendig wäre.

Sofern man nicht über das nötige Wissen verfügt, wäre es vermutlich ratsamer, das zu nehmen, was bereits auf dem TXT funktioniert. Die Zielsetzung ist mir auch noch nicht klar, geht es einfach darum, dass man lieber JS verwendet?

Die von @atzensepp vorgeschlagene Bibliothek wäre sicherlich eine Möglichkeit, ein paar Schnipsel JS auszuführen, aber weit würde so ein Lösungsansatz nicht führen. Zudem bezweifle ich, dass das performant auf dem TXT laufen würde.

Alle Ansätze (nodejs und "Python interpretiert JS") laufen derzeit m.W. weder mit dem ft TXT Linux noch mit der cfw auf dem TXT, somit müßte man auch Eingriffe beim buildroot vornehmen.

Wenn das nicht jemand entweder allein oder in einer kleinen Gruppe entwickelt und testet und dann mit dem fertigen Resultat Patches für die cfw einreicht, sehe ich für das Ansinnen ob der begrenzten Kapazität der cfw-Entwickler eher schwarz.

M.E. wäre das ein netter Punkt auf der Feature-Liste für die cfw, mehr aber auch nicht, weil für so eine Entwicklung kein Bedarf besteht und das Ansinnen, so ich das richtig verstehe, lediglich auf eine persönliche Präferenz für eine Sprache zurückgeht.

Viele Grüße
Lars

atzensepp
Beiträge: 658
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: JavaScript programmieren auf der cfw

Beitrag von atzensepp » 09 Feb 2021, 22:26

Hallo Lars,

Javascript war ursprünlgich für Browser geschrieben. Inzwischen wird es auch auf der Serverseite eingesetzt.
Vielleicht kann man es auf dem TXT irgendwie machen, muss man aber nicht. Denn Python is als Programmiersprache m.E. sehr gut geeignet.

Florian (aka atzensepp)

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: JavaScript programmieren auf der cfw

Beitrag von richard.kunze » 10 Feb 2021, 02:22

atzensepp hat geschrieben:
09 Feb 2021, 19:56
Könnte man auf dem Controller eine Python-Library installieren, die Javascript interpretiert oder ist das prinzipiell ausgeschlossen?
https://medium.com/analytics-vidhya/run ... fe8f8aeb1e
Ich hab beim Überfliegen da nichts gesehen, was sofort "geht nicht" schreien würde.

Sinnvoll ist es allerdings denke ich nicht: Wenn ich mich nicht völlig täusche, dann ist das ein in Python geschriebener JavaScript-Interpreter. Python wird ebenfalls interpretiert. Und der Prozessor im TXT ist nicht wirklich schnell. Wenn man das alles zusammennimmt, wird wohl nicht mehr viel Performance beim JavaScript-Code ankommen...

Und wie andere schon geschrieben haben: Auch node.js sollte sich eigentlich auf dem TXT zum laufen bringen lassen (ist wahrscheinlich gar nicht mal besonders schwierig, wenn man etwas Ahnung von Linux auf kleinen ARM-Rechnern hat).

Aber damit hat man halt auch nur die halbe Miete: Um damit dann auch wirklich was anfangen zu können, braucht man mindestens eine Anbindung an die I/O-Platine des TXT (in Python macht das ftrobopy), und am besten auch irgendwas, was den Touchscreen ansteuern kann (in Python für die CFW: pyQt). Das alles müsste man für JavaScript ebenfalls erst mal implementieren...

Benutzeravatar
Tom_B.
Beiträge: 13
Registriert: 23 Jan 2021, 13:14

Re: JavaScript programmieren auf der cfw

Beitrag von Tom_B. » 10 Feb 2021, 15:58

Hallo,
vielen Dank für die interessanten Beiträge. Lars hat Recht, ich habe mich zwar mit beiden Programmiersprachen beschäftigt, aber mir liegt JS einfach besser. Aber trotz dem vielen Aufwand, langsamem Prozessor, ... würde ich das gerne hinkriegen. Man lernt ja schließlich auch was dabei. Außerdem steht hier: "Es könnte aber auch jede beliebige andere Programmiersprache sein." Das sollte doch machbar sein! Und ich sage nochmal: Ich habe auf jeden Fall Geduld dazu. Und eine Schritt-für-Schritt-Anleitung dafür wäre auch nicht schlecht...
Viele Grüße,
Tom(9 Jahre)

Speerwerfer
Beiträge: 126
Registriert: 01 Apr 2018, 09:32
Wohnort: Oldenburger Münsterland

Re: JavaScript programmieren auf der cfw

Beitrag von Speerwerfer » 10 Feb 2021, 16:18

Hallo Tom,

wenn du tatsächlich 9 Jahre alt bist - und das glaube ich dir - warum sollten wir uns hier Blödsinn erzählen, dann finde ich es super, dass du dich bisher nicht von deiner Idee JS auf dem TXT zum Laufen zu bekommen, hast abbringen lassen. Ich finde deine Einstellung wirklich großartig: Du willst was lernen, suchst die Herrausforderung und hast den Mut dich hier im Forum den Komentaren der "alten" Hasen zu stellen. Bleib so ... wir brauchen solche Leute zukünftig!

Jetzt kommt der Teil, der dir nicht gefallen wird: Wenn sich hier nicht noch jemand findet, der die Idee genauso toll findet wie du, wird es vermutlich sehr schwer für dich. Es gibt für das was du vorhast keine Schritt für Schritt Anleitung, die du einfach durcharbeiten musst und am Ende kannst du mit JS auf dem TXT programmieren. Ich selbst habe keine Ahnung von JS und auch keine Ahnung von der cfw auf dem TXT. Aber ich bin Softwareentwickler und kenne mich mit Linux ein wenig aus. Ich glaube ich kann abschätzen, was da auf dich zukommt. Ich sage nicht, dass das nicht geht, aber es wird sehr herausfordernd sein und vermutlich lange dauern, bis du das ALLEINE geschafft hast. Mal sehen, vielleicht findet sich hier ja noch ein Unterstützer für dich.

Ansonsten bleibt mir die Empfehlung: Nimm den Schwung und deinen Forschergeist und beschäftige dich mit Python (kenne ich leider auch nicht so gut - steht aber bei mir ganz oben auf der Liste). Python ist eine Sprache die dir im Moment überall begegnet und es kann nicht schaden, sich mit Python auszukennen.

Nochmal: Ich finde es großartig, dass du dich mit 9 Jahren an solche Themen rantraust - bitte weitermachen!!!

VG
Martin
VG
Martin

Antworten