Currently, Syncit is at an early development stage. During this stage, API could be changed frequently.
Using Syncit needs @syncit/ui and @syncit/transporter:
npm i @syncit/ui @syncit/transporter
Import Syncit and use the LocalStorageTransporter:
import syncit from '@syncit/ui';
import '@syncit/ui/dist/style.css';
import { LocalStorageTransporter } from '@syncit/transporter';Initialize Syncit at the source:
new syncit.Embed({
target: document.body,
props: {
createTransporter({ role, uid }) {
return new LocalStorageTransporter({
role,
uid,
});
},
},
});Initialize Syncit at the target:
new syncit.App({
target: document.body,
props: {
createTransporter({ role, uid }) {
return new LocalStorageTransporter({
role,
uid,
});
},
},
});Use other transporters:
new syncit.App({
target: document.body,
props: {
createTransporter({ role, uid }) {
return new PeerjsTransporter({
role,
uid,
peerHost: 'localhost',
peerPort: 9000,
peerPath: '/myapp',
});
},
},
});The transporters supported by Syncit:
| name | options | description |
|---|---|---|
| LocalStorageTransporter | role,uid | Implemented with local-storage, good for testing and demo. |
| PeerjsTransporter | role,uid,peerHost,peerPort,peerPath | A wrapper of Peerjs, need to set up a Peerjs-server. |
| AgoraRtmTransporter | role,uid,agoraAppId | A wrapper of Agora RTM service,need register for an app id. |