comlink
objectbuffer
comlink | objectbuffer | |
---|---|---|
22 | 4 | |
10,818 | 161 | |
0.6% | - | |
0.0 | 2.9 | |
7 days ago | 4 days ago | |
TypeScript | TypeScript | |
Apache License 2.0 | 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.
comlink
-
RemoteUI
Feels like taking a general Comlink-like system & making it more component oriented. Good ideas. https://github.com/GoogleChromeLabs/comlink
-
Your favorites?
React UI Framework: https://ant.design/ Reactive: https://www.learnrxjs.io/ Workers: https://github.com/GoogleChromeLabs/comlink Graphics: https://www.pixijs.com/
-
Concurrent.js, a multithreaded module loader - Run in a worker, use in the main thread
Reminds me of Comlink
-
Creating PDF Files Without Slowing Down Your App
Now that we have a way to create PDF files, we can create a web worker to run the renderPDF function in a separate thread. Here’s an example of a web worker that uses comlink to expose the renderPDF function as an asynchronous function:
-
How to use Service Workers with React and Vite
To streamline the process of configuring the Service Worker and simplify communication between the app and the Service Worker, we will be using the comlink library.
- Svelte + Web Workers (Looking for insight)
-
Deno 1.25
While there's no realistic way to provide a security boundary between JavaScript modules, Workers are a possibility [1].
The code with the more restricted set of permissions must run in the Worker. That code then communicates with the rest of your app through postMessage / SharedArrayBuffer, perhaps using ComLink [2].
[1] https://deno.land/[email protected]/runtime/workers#specifying-...
[2] https://github.com/GoogleChromeLabs/comlink
- [AskJS] What are some real world applications of JS Proxy objects?
-
Optimizing Your Web App for Maximum Runtime Performance and Premature Optimization 🦄
The worker API is very simple, you would post a message to the worker. The worker would have the code to process and reply back with the results to the listeners. To make it even easier Google has created the comlink library.
- Web Crypto API
objectbuffer
-
JavaScript APIs You Don’t Know About
is a great example, which I also tried to (poorly) reimplement myself.
It creates a new data structures that behave as an object for the user but is backed by SharedArrayBuffer in order to support parallel computation over it.
- [0]: https://github.com/Bnaya/objectbuffer
- Web Crypto API
-
isoworker - universal multithreading with main-thread dependencies, 6kB
There is a lot of complexity involved in representing arbitrary javascript objects inside an ArrayBuffer whilst making them thread-safe. I'd first point to a library like objectbuffer. There's also more fixed struct-like options such as Google's FlatBuffers or buffer-backed-object.
What are some alternatives?
partytown - Relocate resource intensive third-party scripts off of the main thread and into a web worker. 🎉
proposal-atomics-wait-async - "asynchronous atomic wait" for ECMAScript
vite - Next generation frontend tooling. It's fast!
d2-checklist - Source for www.d2checklist.com, written in Angular and using the Bungie API
workbox - 📦 Workbox: JavaScript libraries for Progressive Web Apps
worktank-loader - WebPack plugin for WorkTank which enables you to execute whole files in a worker pool, transparently.
threads.js - 🧵 Make web workers & worker threads as simple as a function call.
worktank - A simple isomorphic library for executing functions inside WebWorkers or Node Threads pools.
wasm-pack - 📦✨ your favorite rust -> wasm workflow tool!
wasm-futures-executor - Executor for asynchronous task based on wasm web workers.
Next.js - The React Framework
taskwork - Efficient multi-threaded task scheduler using generic re-usable WebWorkers.