Llegamos a ustedes gracias a:



Noticias

Nueva API de Node.js escudará a los módulos de cambios

En el motor de JavaScript

[11/08/2017] La ayuda está en camino para los desarrolladores que crean módulos nativos para Node.js, así como para aquellos que quieren cambiar el motor de JavaScript subyacente que es la base de la plataforma.

Actualmente, los módulos deben ser recompilados para funcionar con las nuevas versiones de Node.js y el motor de JavaScript, que tradicionalmente ha sido el motor V8 de Google. Pero N-API está a punto de hacer las cosas más fáciles proporcionando una API para conectar complementos nativos. Independiente del runtime de JavaScript subyacente, N-API será estable para la application binary interface (ABI) en las versiones de Node, para aislar los complementos de los cambios en el motor de JavaScript subyacente. Los módulos compilados para una versión de Node.js funcionarían en las versiones posteriores sin necesidad de recompilar.

La iniciativa N-API también apunta a facilitar el soporte de varios motores de JavaScript de back-end. El año pasado, Microsoft ideó un plan para cambiar el motor V8 de Google con el ChakraCore de Microsoft. Pero Microsoft tuvo que hacer que ChakraCore parezca y actúe como V8 para que funcione, y eso requirió el desarrollo de una capa correctora de compatibilidad, afirmó James Snell, miembro del comité directivo técnico de Node.js y arquitecto de la creadora de software NearForm.

"Lo que N-API nos permite hacer es tener una ABI intermediaria que viva dentro de Node que los autores de módulos nativos pueden usar para escribir, afirmó Myles Borins, defensor de los desarrolladores en Google. Para obtener las ventajas de N-API, los desarrolladores tendrán que migrar sus NPMs a N-API. Una vez que lo hagan, deberían tener sus beneficios de estabilidad.

N-API está en sus etapas iniciales, después de haber sido presentada en mayo con Node.js 8. El objetivo es hacer de N-API una función totalmente soportada en Node.js 9, que está programado para octubre, o en Node.js 10, programado para seis meses después, afirmó Snell.

Se espera que N-API ayude a los usuarios a hacer upgrade a las versiones más recientes de Node.js. "Las dependencias de código nativas de misión crítica son la razón Nº 1 de por qué la gente todavía se queda con las versiones anteriores de Node, afirmó Arunesh Chandra, gerente senior de programa de Microsoft para Chakra.

Con los módulos nativos de V8, la mayoría de los NPM son escritos en JavaScript. Pero hay algunos módulos intensivos en CPU, como los motores gráficos o decodificadores de vídeo, escritos en C o C++. N-API debe asegurar que esos módulos no se rompan con cada nueva versión de V8 o Node, afirmó Joe McCann, CEO del proveedor de distribuciones Node, NodeSource.

N-API utiliza una API de C, aunque algunos desarrolladores de Node creen que una API de C++ sería más fácil de usar. Así, los creadores de Node.js tienen previsto módulos de envoltura para proporcionar una API de C++.