Hallo,
erstmal ein Hallo in die Runde; Ich bin neu hier im Java Forum und hätte folgende Fragen, die vl. nicht eindeutig beantwortet werden können aber vl. ergibt sich ja Diskussion/Erfahrungsaustausch.
1. Integration von Java in JS unter Node.JS
Gibt es Erfahrungen mit der Integration von Java Klassen in JavaScripts, die unter NodeJS laufen?
NodeJS baut auf der Chrome JS-Engine auf habe ich gelesen. Nun sollte man meinen, Google griegt das hin, aber vl. könnte Node JS noch dazwischen funken? Denn es gibt bei uns Bedenken, ob die Java/JS Bridge von Chrome bzw. Node.JS stabil / zuverlässig läuft. [1]
Dabei geht es um folgende Merkmale:
- Instanzieren von Java-Klassen aus JavaScript heraus
- Aufrufen von Methoden von Java-Klassen aus JavaScript heraus
- Übergabe von JS-Callback-Funktionen an JAVA-Klassen
- Aufruf der JS-Callback-Funktionen aus dem JAVA-Code.
Hat irgendwer Erfahrung damit?
2. Node.JS und Multithreading
Ein weiterer Punkt war, dass NodeJS angeblich singlethreaded läuft und Multithreading nicht wirklich unterstützt. Nun ist es so, dass der konkrete Java Code, um den es hier geht, zumindest mal Timer-Objekte benötigt, deren TimerTasks ja auch in eigenem Thread aufgerufen werden. [2] Wie sieht es damit dann aus? Kann Node.JS durcheinanderkommen, wenn da verschiedene Threads ins spiel kommen. (Sorry, vl. doofe frage aber ich habe so gut wie keine erfahrung mit Java/JavaScript/Node.JS) [4]
3. NodeJS Addon in C++
Alternativ besteht noch die Möglichkeit, ein c++ addon für NodeJS zu schreiben. Die Komplexität ist hier wohl ungleich höher. Was meint ihr? Wie funktioniert das Multithreading heir? Angenommen, ich erzeuge einen Thread in c++ und rufe eine Callback funktion in JavaScript auf, wird diese JavaScript dann in dem Thread ausgeführt, den ich in c++ erzeugt habe?
Generell: Node.JS mit Java oder besser c++ addon für Node.JS? [3]
Links:
[1] https://docs.oracle.com/javase/8/docs/technotes/guides/scripting/prog_guide/javascript.html#A1147207
[2] https://stackoverflow.com/questions/18758864/does-timertask-executing-in-new-thread
[3] https://nodejs.org/api/addons.html
[4] https://stackoverflow.com/questions/40028377/is-it-possible-to-achieve-multithreading-in-nodejs
erstmal ein Hallo in die Runde; Ich bin neu hier im Java Forum und hätte folgende Fragen, die vl. nicht eindeutig beantwortet werden können aber vl. ergibt sich ja Diskussion/Erfahrungsaustausch.
1. Integration von Java in JS unter Node.JS
Gibt es Erfahrungen mit der Integration von Java Klassen in JavaScripts, die unter NodeJS laufen?
NodeJS baut auf der Chrome JS-Engine auf habe ich gelesen. Nun sollte man meinen, Google griegt das hin, aber vl. könnte Node JS noch dazwischen funken? Denn es gibt bei uns Bedenken, ob die Java/JS Bridge von Chrome bzw. Node.JS stabil / zuverlässig läuft. [1]
Dabei geht es um folgende Merkmale:
- Instanzieren von Java-Klassen aus JavaScript heraus
- Aufrufen von Methoden von Java-Klassen aus JavaScript heraus
- Übergabe von JS-Callback-Funktionen an JAVA-Klassen
- Aufruf der JS-Callback-Funktionen aus dem JAVA-Code.
Hat irgendwer Erfahrung damit?
2. Node.JS und Multithreading
Ein weiterer Punkt war, dass NodeJS angeblich singlethreaded läuft und Multithreading nicht wirklich unterstützt. Nun ist es so, dass der konkrete Java Code, um den es hier geht, zumindest mal Timer-Objekte benötigt, deren TimerTasks ja auch in eigenem Thread aufgerufen werden. [2] Wie sieht es damit dann aus? Kann Node.JS durcheinanderkommen, wenn da verschiedene Threads ins spiel kommen. (Sorry, vl. doofe frage aber ich habe so gut wie keine erfahrung mit Java/JavaScript/Node.JS) [4]
3. NodeJS Addon in C++
Alternativ besteht noch die Möglichkeit, ein c++ addon für NodeJS zu schreiben. Die Komplexität ist hier wohl ungleich höher. Was meint ihr? Wie funktioniert das Multithreading heir? Angenommen, ich erzeuge einen Thread in c++ und rufe eine Callback funktion in JavaScript auf, wird diese JavaScript dann in dem Thread ausgeführt, den ich in c++ erzeugt habe?
Generell: Node.JS mit Java oder besser c++ addon für Node.JS? [3]
Links:
[1] https://docs.oracle.com/javase/8/docs/technotes/guides/scripting/prog_guide/javascript.html#A1147207
[2] https://stackoverflow.com/questions/18758864/does-timertask-executing-in-new-thread
[3] https://nodejs.org/api/addons.html
[4] https://stackoverflow.com/questions/40028377/is-it-possible-to-achieve-multithreading-in-nodejs
Zuletzt bearbeitet: