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.
The repo makes use of npm workspaces, so installation is straightforward.
npm install
deno task metagen ios
deno task metagen macos
deno task build macos
# or build for iOS
deno task build ios-universal
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
Deno Node-API has an issue with napi_get_all_property_names
.
Without a custom Deno build from the below PR, you can't use AppKit in Deno (works in Node).
Upstream PR: denoland/deno#19585
MIT licensed.
Copyright © 2023 DjDeveloperr