1. Bob Bergman
  2. ap-rpc


This is a prototype spike for an easyXDM replacement that does only what the remotable-plugins project requires. The only supported method of transport is postMessage and only easyXDM's RPC API is emulated.

easyXDM is a rather large library supporting a wide variety of message transports and behaviors supporting many browsers. The bulk of the library's code exists to support obsolete browsers not covered by the atlassian brower support matrix. This spike aims to reduce the footprint of the XDM RPC code to only what we need for the remotable-plugins project while minimizing the effort required to test it in that proejct, by implementing a compatible API.

A simple node-based test app exists in the test directory. From within that directory, do the following to run the app:

$ npm install
$ node app

For comparison, easyXDM weighs in at 18,333 bytes minified (6856 gzipped), while (at the time of this writing) ap-rpc.js minifies to 2,384 bytes (1232 gzipped) -- 13% of the footprint (17% gzipped) of easyXDM.