Sample project with a simple implementation of the webxdc read and write APIs.
- Open
index.html
in your web browser - Click 'Add Peer' to open as many peers as you like
- Type a message and press 'Send' to see the update in each peer. (For Safari you might need to check the setting under Develop > Disable Local File Restrictions.)
Simply copy webxdc.js
from this repo beside your index.html
and you are ready to go
to develop and test your app in most browsers.
Bundle your app using ./create-xdc.sh your-app-name
and send it to your friends 🙂
Due to the nature of most browsers and how they scope localStorage
,
each emulated peer will get the same localStorage
.
To really test the storage usage of your Webxdc,
bundle the app and test it in Delta Chat directly
where all peers get their own localStorage
.
Alternatively, use the more advanced webxdc-dev tool.
If you want to have type-checking and autocompletion you can use @webxdc/types package. Refer to https://webxdc.org/docs/faq/typing.html and https://github.com/webxdc/webxdc-types/ README for the documentation on setting it up.
To use the devtool in safari you need to disable the local file restrictions
under Develop
-> Disable Local File Restrictions
.
After doing this you can use the dev tool simulator.
Make sure to reload (Cmd + R
) all simulator tabs/windows to apply this setting.
Without this option Add Peer
seems to work (it opens a new instance), but the instances will not be able to communicate.
- install Termux
- install Python and Git in Termux
git clone
the devtool repo or your fork of it- use
python -m http.server
to serve it for development using nano/vim - when you are done, use
./create-xdc.sh
for bundling - copy the created
.xdc
file to a location from where you can access and send it via Delta Chat - pro tip: you can create symbolic link to a folder in the external storage