comlink
Immer
comlink | Immer | |
---|---|---|
22 | 142 | |
10,818 | 26,943 | |
0.6% | 0.5% | |
0.0 | 7.1 | |
7 days ago | 10 days ago | |
TypeScript | JavaScript | |
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
Immer
-
Comparing React state tools: Mutative vs. Immer vs. reducers
Immer is a lightweight package that simplifies working with immutable states. Immutable data structures ensure efficient data change detection, making it easier to track modifications. Additionally, they enable cost-effective cloning by sharing unchanged parts of a data tree in memory.
-
Immer VS mutative - a user suggested alternative
2 projects | 25 Jan 2024
-
Show HN: Cami.js – A No Build, Web Component Based Reactive Framework
```
It looks like it’s mutating, but both the reducers and update() uses immer* under the hood, so we still respect immutability under the hood.
Cami supports redux devtools so you can use that for time-travel debugging too!
—-
* https://github.com/immerjs/immer
- Why do we need modules at all?
-
Making Sense of React Server Components
I heard that immutability libraries like immer.js [0] help with this. Anyone go this way and had good success? Is this 'the way'?
[0]: https://immerjs.github.io/immer/
-
How We Fixed Performance With JS Object Variable Mutation
So, that's what we built, and we built it in the most obvious way — using JavaScript Proxy objects to track mutations and reflect those changes across Appsmith’s framework. Initially things looked good — it worked, aside from a few hacks to make some data types work with map and set, and we were following the example of other projects that had similar requirements. If it was good enough for them, it should be good enough for us, right?
-
The sword refers to immer, the faster and stronger immutable data js tool limu stable version released!
But is immer really the ultimate answer? The performance problem of immer is more prominent in large arrays and deep-level object scenarios. See this issue description, many authors in the community began to try to make breakthroughs, and noticed that structura and mutative, I found that it is indeed many times faster than immer as they said, but it still fails to solve the problem of both fast speed and good development experience. I will analyze the two issues in detail below.
-
Ramda: A practical functional library for JavaScript programmers
I like immer for this kind of thing: https://github.com/immerjs/immer
It gives you immutable updates without getting bogged down in FP abstractions.
-
Why my variable is being mutated if I make any changes to my data ?
I've always been a huge fan of immer for these case. For your code, it would simply turn into setGridData((prev) => produce(prev, draft => applyChanges(changes, draft)) but I recommend you go over their documentation to fully understand how it works
-
Is there a better way to do read-only types
If you're trying to make things actually immutable, Object.freeze and deep copies can clutter things up pretty good, have you considered using something like immer? (https://immerjs.github.io/immer/)
What are some alternatives?
partytown - Relocate resource intensive third-party scripts off of the main thread and into a web worker. 🎉
immutability-helper - mutate a copy of data without changing the original source
vite - Next generation frontend tooling. It's fast!
immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity.
workbox - 📦 Workbox: JavaScript libraries for Progressive Web Apps
redux-toolkit - The official, opinionated, batteries-included toolset for efficient Redux development
threads.js - 🧵 Make web workers & worker threads as simple as a function call.
Recoil - Recoil is an experimental state management library for React apps. It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React.
wasm-pack - 📦✨ your favorite rust -> wasm workflow tool!
react-query - 🤖 Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query]
Next.js - The React Framework
valtio - 💊 Valtio makes proxy-state simple for React and Vanilla