Skip to content

Commit b03a650

Browse files
committed
More documentation
1 parent 3210057 commit b03a650

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

README.md

+26
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,29 @@ npm run cli -- run /path/to/xdc
2727

2828
to run an Webxdc directory. There's a UI on port 3000 that lets you open
2929
instances in new tabs. You can also add a new instance using this UI.
30+
31+
## Architecture
32+
33+
This codebase consists of three pieces:
34+
35+
- backend: a NodeJS Express application that serves webxdc applications in the
36+
browser and distributes updates using websockets.
37+
38+
- simulator: a version of `webxdc.js` that uses a websocket to the backend to
39+
send and receive updates. This is injected into webxdc applications.
40+
41+
- frontend: a SolidJS application that presents the webxdc-dev UI.
42+
43+
The backend is compiled with TypeScript directly. The simulator and frontend are bundled using webpack using the babel loader (with the typescript preset).
44+
45+
## Development
46+
47+
You can run `webxdc-dev` in development mode so that both frontend and backend
48+
are automatically recompiled when you change code. For frontend and simulator
49+
changes you need to reload your browser windows to see the effect. When you
50+
make a backend change, the entire server is restarted and a new browser window
51+
is opened.
52+
53+
```sh
54+
npm run dev -- run /path/to/xdc
55+
```

0 commit comments

Comments
 (0)