¿Es posible hacer que Node.js use Rhino como motor de Javascript?

Utilizo Node.js para varios trabajos en mis aplicaciones web y hasta ahora todo está bien.

Pero Node.js usa el V8 de Google como motor de Javascript predeterminado (JSE) y V8 se ejecuta exclusivamente en las architectures de conjuntos de instrucciones x86 y ARM (ISA).

Ahora tengo una computadora Mac con procesador PPC en la que quiero ejecutar Node.js.

Para hacerlo, se me aconseja utilizar la Máquina Virtual de Tiburón Rhino + OpenJDK + Máquina Virtual de Bajo Nivel ( LLVM ) como el comstackdor JIT. Actualmente, parece ser la forma más adecuada de ejecutar Node.js en el PPC ISA. O bien, ¿hay una mejor manera de hacerlo?

¿Podría decir de antemano si sería posible hacer que Node.js funcione con Rhino? Por cierto, Node.js está escrito en C ++ y tengo la experiencia de progtwigción en C ++, es decir, puedo intentar volver a editar el código de Node.js si es necesario.

Gracias.

Hay una implementación de Node.js en Rhino llamada Rhinodo por MuleSoft.

Pero ya no tiene que usar Rhino como backend para Node.js, hay un puerto reciente de Node.js y V8 para PowerPC por Andrew Low (IBM).

No, node.js está vinculado a V8, en casi todos los archivos de origen, e incluye todos los complementos que se han escrito. Incluso si tiene la experiencia de C ++, sería una tarea enorme hacer la conversión.

Sin mencionar que, si sigues este camino solo, también estarás solo para mantenerlo. (Mientras que node.js ha reunido una gran comunidad que contribuye).

Si realmente desea poner ese tipo de esfuerzo, considere discutirlo en la lista de correo primero. O alternativamente, acumule impulso para un puerto PPC de V8. (Una tarea igual, si no más desalentadora.)

Para un motor de JavaScript del lado del servidor que utiliza Rhino fuera de la caja, eche un vistazo al proyecto Narwhal . (Aunque parece menos activo).

Esto es imposible, ya que Shtééf ya dijo que Node.js está estrechamente vinculado a V8, utiliza métodos específicos de V8 en todo el lugar, la dependencia solo crecerá en el futuro cercano, hay “hacks” en el camino para ingresar a los componentes internos de V8 con el fin de mejorar masivamente el rendimiento al escribir cadenas a sockets.

Muchos módulos (afirmar, inspeccionar, etc.) dependen de funciones V8 específicas. No es posible que el código sea portátil de ninguna manera entre V8 y otros motores JS del lado del servidor.

Mientras Shtééf considera opciones, solo veo una solución:
Deshazte del hardware PPC.

Si realmente quieres que se ejecute en Rhino, terminarás en una pesadilla de mantenimiento, al final tendrás que escribir dos aplicaciones distintas o crear una capa de ejecución gigante para Rhino que intente emular Node.js Buena suerte con eso, ya que muchas cosas simplemente no estarán disponibles en Rhino.

Tampoco habrá soporte para bibliotecas de terceros.

En serio, conseguir otra computadora, escribir todos los envoltorios, etc. solo te costará tiempo, en el que podrías haber escrito cosas increíbles de Node.js. Y como el tiempo es dinero …

Proyecto para portar el motor de JavaScript V8 originado en Google a la architecture PowerPC.

https://github.com/ic/v8-powerpc

Intereting Posts