MicroEJ: JavaScript-Unterstützung angekündigt, Python und Kotlin ante portas

OP (Firma: Tamoggemon Holding k.s.) #6807285
Lesenswert?
• ▲
▼

MicroEJ – das Unternehmen ist vor Allem für seine Java-Runtime für diverse Microcontroller bekannt – bietet mit Kifaru eine JavaScript-Runtime für diverse Microcontroller an.

von Tam HANNA

BILDQUELLE: https://docs.microej.com/en/latest/_images/js_runtime.png

Was bringt es?

JavaScript-Entwickler sind Massenware: es gibt kaum eine (drittklassige) Fachhochschule, die nicht pro Semester einige Dutzend davon auswirft. Heutige Hardware stellt hohe Ansprüche an das Aussehen des Benutzerinterfaces – wer nicht echtzeitkritische Aufgaben unter Nutzung einer billigeren Arbeitskraft realisiert, spart Kosten.

Wie funktioniert es?

MicroEJ realisiert die JavaScript-Ausführungsumgebung unter Nutzung des bekannten Java-Interpreters. Java-Entwickler müssen ihre MicroEJ-Applikation im ersten Schritt um ein derzeit nur auf Anfrage erhältliches Paket mit dem JavaScript-Interpreter ergänzen, und können diesen danach nach folgendem Schema auf JavaScript-Code loslassen:

1
import com.microej.js.JsErrorWrapper;
2
import com.microej.js.JsCode;
3
import com.microej.js.JsRuntime;
4

5
...
6

7
JsCode.initJs();
8
JsRuntime.ENGINE.runOneJob();
9
JsRuntime.stop();

Der JavaScript-Interpreter ist dabei auf die Ausführung von Code beschränkt – es gibt kein an Cordova und Co erinnerdes WebView-Steuerelement, in dem GUI-Stacks wie jQuery UI oder Telerik ausgeführt werden können.

Für die eigentliche Realisierung der JavaScript-Ausführung setzt MicroEJ dabei auf die Nashorn-Bibliothek aus dem JDK 1.8. Für Sie als Entwickler bedeutet dies, dass der JavaScript-Code – siehe Abbildung – noch auf der Workstation in Java transpiliert wird.

BILDQUELLE https://docs.microej.com/en/latest/ApplicationDeveloperGuide/js/internals.html

Das bedeutet allerdings nicht, dass der Java- und der JavaScript-Code isoliert sind: es ist erlaubt, Funktionsaufrufe aus den beiden Domänen auszulösen. Der dafür notwendige Code ist allerdings vergleichsweise komplex, weshalb Ping-Pong-Spiele zwischen den Domänen auch hier ein klassisches Antipattern darstellen.

Noch mehr Hochsprachen

Die zur Mobilisierung von JavaScript verwendete Modularisierungstechnik lässt sich auch auf andere Hochsprachen anwenden. In der Dokumentation zum derzeit nur auf Anfrage erhältlichen JavaScript-Transpiler findet sich folgende Passage:

1
Additionally, Kotlin and Python programming languages development frameworks will soon be released to embrace an even broader engineering workforce. Stay tuned or contact us for more info!

– via https://developer.microej.com/microej-kifaru-javascript-development-environment-embedded-devices/

Lohnt es sich?

MicroEJ mag für erste Experimente kostenlos sein: im produktiven Einsatz fallen nicht unerhebliche Kosten an. Personen mit großem Java-IP haben keine wirkliche Wahl, was MicroEJ weidlich ausnutzt.

Für Besitzer von in JavaScript gehaltenem geistigen Eigentum sieht die Lage etwas anders aus: auch wenn die unter https://www.neonious.com/ befindliche Neonious die Arbeiten an ihrem ESP32-Port Low.js mittlerweile zu Gunsten einer Kryptowährung reduziert hat, ist das Produkt trotzdem ein attraktiver Alternativkandidat.

Mehr Ressourcen

Einstiegs-Portal => https://developer.microej.com/microej-kifaru-javascript-development-environment-embedded-devices/

Entwicklerdokumentation => https://docs.microej.com/en/latest/ApplicationDeveloperGuide/js/index.html

Einschränkungen der JavaScript-Syntax => https://docs.microej.com/en/latest/ApplicationDeveloperGuide/js/limitations.html#js-limitations

Disclaimer aus Ehrlichkeitsgründen: der Autor bekam die Presseinformationen bereits am 30. August.

Angehängte Dateien:

Kommentare

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.