napajs
txiki.js
napajs | txiki.js | |
---|---|---|
6 | 8 | |
9,238 | 2,337 | |
0.0% | - | |
0.0 | 9.1 | |
over 1 year ago | 11 days ago | |
C++ | C | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
napajs
-
A list of JavaScript engines, runtimes, interpreters
Napa.js
-
Napa.js: A multi-threaded JavaScript runtime
Each thread or worker is a V8 Isolate, each with their own GC. I don't think WeakMaps could cross the isolate boundary.
The project lists a set of "transportable" types, which can be passed in as an argument when calling a worker function - https://github.com/microsoft/napajs/blob/master/docs/api/tra...
- NapaJS: Multi-Threaded Processing for Node.js
txiki.js
-
A list of JavaScript engines, runtimes, interpreters
txiki.js
-
JavaScript Standard Input/Output: Unspecified
// https://github.com/denoland/deno/discussions/17236#discussioncomment-4566134 // https://github.com/saghul/txiki.js/blob/master/src/js/core/tjs/eval-stdin.js async function readFullAsync(length, buffer = new Uint8Array(65536)) { const data = []; while (data.length < length) { const input = await open("/dev/stdin"); let { bytesRead } = await input.read({ buffer }); await input.close(); if (bytesRead === 0) { break; } data.push(...buffer.subarray(0, bytesRead)); } return new Uint8Array(data); }
- Node.js fetch() vs. Deno fetch(): Implementation details...
-
How to compile serveTls for import into QuickJS?
I've only dabbled with the shared libraries once, with the help of the owner of the lnked repository. I wound up solving the issue adjusting the code I was working on https://github.com/saghul/txiki.js/issues/294.
-
C++ to C string concatenation
I have written the same code in C++ https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/capture_system_audio.cpp, Python https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/capture_system_audio.py, and QuickJS (C source code) https://github.com/saghul/txiki.js/issues/294. QuickJS is the only implementation that winds up clipping the end of real-time audio capture.
-
QuickJS JavaScript Engine – Fabrice Bellard
QuickJS is awesome, simple to use and very easy to integrate.
Over the past few years I slowly built a small JS runtime using QuickJS as the engine and libuv as the platform layer, amongst other things, in case anyone wants to take a look: https://github.com/saghul/txiki.js
- GitHub - saghul/txiki.js: The tiny JavaScript runtime built with QuickJS, libuv
- GitHub - saghul/txiki.js: The tiny JavaScript runtime built with QuickJS, libuv and ❤️
What are some alternatives?
socket - A cross-platform runtime for Web developers to build desktop & mobile apps for any OS using any frontend library.
v8go - Execute JavaScript from Go
ringojs - RingoJS is a JavaScript platform built on the JVM and optimized for server-side applications.
engine262 - An implementation of ECMA-262 in JavaScript
VectorizedKernel - Running GPGPU-like kernels on CPU with auto-vectorization for SSE/AVX/AVX512 SIMD Architectures
javascript-algorithms - 📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
ONE - On-device Neural Engine
AudioWorkletStream - fetch() => ReadableStream => AudioWorklet
hinapi - Node.js native addons without node-gyp!
proposal-common-minimum-api
RaftLib - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators
rayjs - Javascript bindings for raylib in a single ~3mb executable