JavaScript продолжает неумолимое продвижение по сравнению с другими неудачными языками. Теперь у нас есть Node.js, работающий под JVM, который более или менее универсален, а также универсален, как Java.
Nodyn — это надмножество Node.js, которое работает поверх Dyn.js. Это компилятор байт-кода JavaScript, который использует динамические функции Java 7. Это полностью открытая альтернатива компилятору Oracle Nashorn JavaScript.
Nodyn также имеет открытый исходный код с лицензией Apache и является продуктом команды Project: odd в Red Hat. Это не порт node.js, а полная переработка с использованием платформы приложений vert.x.
Основным преимуществом Nodyn является то, что он обеспечивает доступ JavaScript к Java. Хотя в двух языках используется слово «Java», в обычном использовании это почти все, что у них общего. Вы можете использовать вызов внешней функции в node.js, но Nodyn гораздо более прямой и простой в использовании. Цитировать:
«… представьте, что вы запускаете приложение узла на JVM, где у вас сразу же есть доступ ко всему, что может предоставить мир Java — прямо из Javascript. В вашем распоряжении вся экосистема Java. Поскольку DynJS совместим с несколькими языками , почему бы не добавить в свое приложение немного JRuby или Clojure, если хотите ».
На данный момент реализована только относительно небольшая часть API node.js — завершены все важные HTTP, UDP, URL, Утилиты, Таймеры, Stdio и так далее. Но работа над такими важными модулями, как HTTPS, еще не началась. Это первые дни. но я сомневаюсь, что вы могли бы просто взять свое существующее приложение node.js и запустить его под DynJS.
Подход к конвертации:
«В некоторых случаях мы копировали файлы javascript Node.js как есть. Когда источник Node.js зависит только от битов Javascript и ничего в привязках C, нет необходимости переписывать все это. В других случаях , где Node.js зависит от привязок C, у нас есть собственный подход к работе с механизмом vert.x или даже с простым старым кодом Java ».
По сути, большая часть работы, похоже, связана с рефакторингом зависимостей C для node.js.
Насколько влиятельным будет Nodyn?
Очень хороший вопрос. Все зависит от того, сколько проектов выиграют от интеграции JavaScript / Java на стороне сервера.