Comments (4)
That sounds amazing!
It would be great if this worked out of the box. I’m not sure everything you did was actually necessary, but I’d be happy to help sort this out. For example, I already wrote MessageChannelAdapter.ts
to support string-based channels (like WebRTC data channels), so that could probably be re-used there. I am very conscious of Comlink’s size, so obviously I aim to add as little special cases to the core library as possible.
I have very little experience with React and React native, so I’d be super helpful if you opened a PR and gave me instructions on how to run a demo project of yours using Comlink. Then we can work through your changes and figure out which ones are necessary.
from comlink.
It took some more effort that expected, but I ended up wrapping comlinkjs
with React-Native's WebView
into a new package rn-webview-rpc that exports both a React WebViewRpc
component, and a matching web endpoint. I hope you that find that OK.
After sorting out many React-Native problems, I think that there is one issue that should be addressed in the comlinkjs
package:
Currently Comlink is provided either in ES6 or in UMD (or globally).
At the moment, ES6 dependencies are not supported by Create React App (read more about it here).
Also, UMD modules seems not to play nicely with WebPack: I've encountered a similar warning as in this thread.
Hence, to make it easier on fellow developers, I think that Comlink should be also provided in an ES5/commonJS format.
from comlink.
+1!
I've been trying to get clooney and now comlink
to play nice with a create-react-app demo, but, so far, no joy.
from comlink.
Hey @gpolyn,
From my experience, you can make it work if you copy Comlink's es6 files (2 of them) to your src
folder, so they get compiled.
from comlink.
Related Issues (20)
- How to pass an object with both methods and properties as a parameter to a worker? HOT 1
- Finalizers, proxy and two-way communication
- Calling `expose` in an async scope? HOT 3
- "Proxy" is a loaded term in the docs. Should be named `Remote` when referring to symbol methods HOT 1
- Missing types for `Comlink.finalizer` props on objects. HOT 4
- Possible to get reference to original object from a proxy? HOT 2
- Proxy not inferred as a promise when it's a nested inside a proxied object as a property value HOT 4
- Web Worker Hangs if Imported File Contains Top-Level `Await` HOT 6
- Service worker example: stops working when SW is suspended HOT 9
- Set operation is not awaitable HOT 2
- Possible to communicate between web workers? HOT 1
- How to transfer result buffers HOT 2
- [feat] DeasyncEndpoint HOT 2
- Move from Karma to Playwright? HOT 1
- Do I need to use transfer inside a proxy? HOT 1
- Add support for async transferHandle serializer/deserializer HOT 2
- Significant performance optimizations possible in `requestResponseMessage` HOT 4
- Push notifications from web worker HOT 5
- Memory leak when terminating worker with ongoing call HOT 2
- Worker Pool for similar tasks HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from comlink.