- WebAssembly
- WebSocket
- WebGL
<body>
<script src="https://google.github.io/typograms/typograms.js"></script>
<script type="text/typogram">
+-----------------+
| API |
| .-------------. |
| | WebSocket | |
| '------+------' |
+--------+--------+
|
Stream
|
v
+-----------------------------------+
| Browser |
| +--------+ +---------+ |
| | WASM +--Process-->| WebGL | |
| +--------+ +---------+ |
+-----------------------------------+
</script>
</body>
- Real-time communication
- Efficient data processing
- High-performance rendering
- Scalability
- Browser compatibility
read more...
- Real-time communication: WebSocket allows for bidirectional communication between the server (API) and the client (Browser), making it suitable for real-time applications and reducing latency.
- Efficient data processing: WASM is a binary instruction format designed for secure and fast execution, enabling efficient processing of the data received from the WebSocket.
- High-performance rendering: WebGL is a JavaScript API for rendering interactive 2D and 3D graphics in the browser, allowing for high-performance graphics without the need for plugins.
- Scalability: This architecture allows the server to handle multiple WebSocket connections concurrently, enabling the system to scale effectively.
- Browser compatibility: Since both WebAssembly and WebGL are supported by modern web browsers, the architecture is compatible across different platforms and devices.
- Limited browser support
- Complexity
- Security concerns
- Potential performance bottlenecks
- Dependency on JavaScript
read more...
- Limited browser support: Older browsers may not support WebSocket, WebAssembly, or WebGL, which could limit the reach of the application.
- Complexity: The architecture might be more complex compared to a traditional RESTful API, increasing the learning curve for developers.
- Security concerns: WebSocket connections might be vulnerable to security threats like cross-site WebSocket hijacking. Also, WebAssembly code execution can expose vulnerabilities that need to be mitigated.
- Potential performance bottlenecks: While WASM and WebGL are designed for high-performance, some devices might still struggle with the processing and rendering tasks, particularly in resource-intensive applications.
- Dependency on JavaScript: While WASM is intended to be a low-level virtual machine that runs code at near-native speed, it still relies on JavaScript for various functionalities, such as interacting with the DOM or handling events, which can be a potential bottleneck in some cases.
- helloworld: main.c
- server: readme, src/main.rs
- client: readme, index.js
- Start OpenBB