Sharing JS Objects across system boundaries


I had been experimenting with providing a JavaScript-Object-based API across a system/trust boundary in a library I’m calling capnode, and then I just read @markm’s paper from 2010 “Object views: Fine-grained sharing in browsers” which presents “Views”, which do almost the exact same thing.

I was curious if the JS views library referenced in that paper is available anywhere.

One way I think I avoided some difficulties and insecurities that the paper raised is that I didn’t aspire to freely pass full JS objects over the system boundary, and instead figured it can be very explicit that objects and functions over this boundary have certain limitations, like always needing to be async (for now).

Anyways, it’s been a very fun project, the documentation could use some work, so it may not be easy to review right now (I’ll post here again when the docs are tighter), but would definitely be happy to hear anyone’s thoughts on the approach.