-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
N-API Support for node-nanomsg #177
Comments
Hi Sampson, ABI stability is quite a tall order to achieve. The demo mentions chakracore-nightly, and it looks like a few people involved in the effort is employed by Microsoft. I'm really happy that Microsoft open sourced ChakraCore. I think diversity of runtimes is a good thing, and I'd like to know more about:
I'm happy to discuss them in person over the phone, but I don't think that would be transparent to my fellow maintainers. I realize there must be a chicken and the egg problem; it would be difficult to replace the VM for Node without native module support, but native modules won't switch to a non-existent runtime. It's smart to stage support for both runtimes in separate branches; once you reach critical mass, then it's possible to jump Node to have pluggable VMs. Anyways, looks interesting, and I'll keep my eye on the project. |
Nice questions @nickdesaulniers! I have a couple too :)
@sampsongao, my questions:
|
Sorry for the confusing branch. So the most up todate nanomsg port is under napi and node-addon-api. You are welcome to download the code and have a look. For more details on node-ChakraCore and IBM involvement, you can ask Arunesh and Michael at our weekly meeting. Comparing to NaN, Napi is aiming to achieve ABI stability versus source stability so you can compile your code once and have the binding work across node version. Napi is going to replace Nan in the future (at least that is what we are trying to do). Answering @reqshark 's question: Currently Napi support node v8.x and we plan to backport to node 6.x. For node 4.x, you can get old API through our node-addon-api module but it would not be ABI stable. |
I'll comment on the IBM involvement. We've heard from module maintainers that there is pain in having to recompile and possibly make code changes for new versions of Node and are working to help lesson that problem as part of our involvement in the community. We are also interested in ensuring Node.js can be used in different environments (ranging from small devices to larger servers) and having the flexibility to use different Javascript engines can support that. However, we don't have any specific plans or goals to move away from v8. |
The recently announced Node 8 has a new experimental feature called N-API which is aimed at reducing maintenance cost for node native addons. Checkout this blog for more details on its benefits.
Module
node-nanomsg
is one of the top 30 native modules by dependency count, and in order to help the Node.js community make the important transition to N-API, we are hoping you will be able to work with us in order to portnode-nanomsg
to support N-API. Your support and feedback is important in making this effort a success.I am part of the N-API working group and and would like to talk to you about how you can can get started with N-API and what help we might be able to provide. I'm available to talk on the phone individually if you'd like. Alternatively, if you prefer, feel free to jump in our WG meeting which happens every Thursday at 1.30 Eastern / 10.30 Pacific US time, to discuss any issues.
Here’s a video of N-API in action
The text was updated successfully, but these errors were encountered: