2010-12-04 2 views
15

Я использую Node.js для нескольких заданий в своих веб-приложениях и до сих пор все в порядке.Возможно ли, что Node.js использует Rhino в качестве механизма Javascript?

Но Node.js использует V8 Google как механизм Javascript по умолчанию (JSE), а V8 работает исключительно на x86 и ARM Instruction Set Architectures (ISA).

Теперь у меня есть компьютер Mac с процессором PPC, на котором я хочу запустить Node.js.

Для этого я рекомендую использовать виртуальную машину Shino Virtual Machine + Low Level Virtual Machine (LLVM) в качестве JIT-компилятора. В настоящее время это выглядит как наиболее подходящий способ запуска Node.js в PPC ISA. Или, есть ли лучший способ сделать это?

Не могли бы вы рассказать заранее, можно ли сделать Node.js работу с Rhino? Btw, Node.js написано на C++, и у меня есть опыт программирования на C++, т. Е. Я могу попытаться повторно редактировать код Node.js, если мне нужно.

Спасибо.

+0

https://github.com/ic/v8-powerpc – earthmeLon 2012-09-26 19:53:21

+1

Продолжается работа, но стоит проверить: https://github.com/mulesoft/rhinodo – apose 2013-02-25 04:51:56

+0

rhinodo выглядит как перспективный способ запуска узла. js в архитектурах, отличных от x86, для которых поддерживается Java VM. – Romario 2013-07-29 23:46:06

ответ

5

Существует реализация Node.js на Rhino называется Rhinodo по MuleSoft.

Но вам больше не нужно использовать Rhino в качестве бэкенда для Node.js - есть недавний порт Node.js и V8 для PowerPC от Andrew Low (IBM).

19

Нет. Node.js привязан к V8 почти в каждом исходном файле и содержит все надстройки, которые были написаны. Даже если у вас есть опыт на C++, было бы огромной задачей сделать преобразование.

Не говоря уже о том, что если вы пойдете по этому пути в одиночку, вы также останетесь в покое. (Принимая во внимание, что node.js собрал большое сообщество.)

Если вы действительно хотите вложить такие усилия, подумайте об этом на the mailing list. Или, наоборот, собирайте импульс для порта PPC V8. (В равной степени, если не более сложная задача.)

Для серверного механизма JavaScript, который использует Rhino из коробки, взгляните на Narwhal project. (Хотя кажется менее активным.)

+4

Некоторые люди приступили к работе над запуском Node.js на SpiderMonkey, который, я считаю, поддерживает PPC. Просто отметив это здесь: http://blog.zpao.com/post/4620873765/about-that-hybrid-v8monkey-engine – 2011-04-23 19:35:23

+1

Я бы не стал препятствовать Ömer так быстро, если бы я был вами, Java имеет слишком обширную эко- чтобы просто отказаться от интеграции двух технологий. В большинстве случаев, когда я отказываюсь от использования node.js в новом проекте, мне очень нужно использовать специализированную Java-библиотеку для выполнения заданий (особенно в закрытом домене enterpriseisey). – bbozo 2013-11-14 09:23:18

4

Это невозможно, поскольку Shtééf уже сказал, что Node.js тесно связан с V8, он использует определенные методы V8 повсюду, зависимость будет расти только в ближайшем будущем, там являются «хаками» на пути к внутренним компонентам V8, чтобы значительно повысить производительность при записи строк в сокеты.

Многие модули (утверждают, проверяют и т. Д.) Зависят от конкретных функций V8. Никакой код не будет каким-либо образом переносимым между V8 и другими JS-серверами на стороне сервера.

Хотя Shtééf рассматривает варианты, я вижу только одно решение:
Избавьтесь от оборудования PPC.

Если вы действительно хотите, чтобы это выполнялось на Rhino, вы закончите поддерживать кошмар, в конце концов у вас будет две записи либо двух разных приложений, либо создайте гигантский уровень времени выполнения для Rhino, который пытается эмулировать Node.js, удачи в этом, так как многие вещи просто не будут доступны в Rhino.

Также не будет поддержки сторонних библиотек.

Серьезно, получить другой компьютер, написать все обертки и т. Д. По своему усмотрению будет стоить только ваше время, в котором вы могли бы написать удивительный материал Node.js. И так как время - деньги ...