Skip to content

An embeddable, engine-agnostic NativeScript runtime based on Node-API

License

Notifications You must be signed in to change notification settings

NativeScript/runtime-node-api

Repository files navigation

NativeScript (Node-API)

An embeddable, engine-agnostic NativeScript runtime based on Node-API and libffi.

This library allows any JavaScript engine or runtime that supports Node-API to access native APIs directly from JavaScript. At present, it supports accessing Objective-C APIs (thus most of the iOS and macOS SDKs). We hope to support other native APIs, such as the Java-based Android SDK, in future.

Initializing repo

The repo makes use of npm workspaces, so installation is straightforward.

npm install

Generating metadata

deno task metagen ios
deno task metagen macos

Building

deno task build macos
# or build for iOS
deno task build ios-universal

Run examples

node examples/foundation.js
# or
deno run -A examples/foundation.js

# ML Compute example
node examples/mlcompute.js

# AppKit related examples
node examples/appkit.js
node examples/split_view.js
node examples/view_controller.js
node examples/spritekit.js

Copyright notice

Copyright OpenJS Foundation and NativeScript contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

The OpenJS Foundation | Terms of Use | Privacy Policy | OpenJS Foundation Bylaws | Trademark Policy | Trademark List | Cookie Policy

Made with ❤️