This document summarizes research and implementation notes on web technologies used in Bridge.
Bridge has explored multiple approaches to embedding browser technology:
CEF provides a framework for embedding Chromium-based browsers in applications:
- Used by Unity Editor itself for its web content
- Provides complete browser capabilities, but with significant size overhead
- Challenges in compatibility with Unity due to conflicts with Unity's own CEF integration
Key files:
- ChromiumEmbeddedFramework.txt - Implementation notes and limitations
Electron combines Chromium and Node.js in a separate process:
- Allows use of Node.js APIs alongside browser capabilities
- Runs as a separate process, avoiding conflicts with Unity
- Provides full modern web standards support
- Includes DevTools for debugging
Key files:
- Electron.txt - Integration approaches and capabilities
Platform-specific browser components:
- macOS: WebView/WKWebView
- iOS: UIWebView/WKWebView
- Android: WebView
- Windows: Various options (IE, Edge components)
Key files:
- WebKit.apinotes - WebKit API reference
- WkWebView.txt - WKWebView implementation details
Bridge leverages modern browser remote debugging capabilities:
- Chrome DevTools Protocol for remote debugging
- Safari Web Inspector for iOS debugging
- Debug applications running on mobile devices from desktop
Key files:
- remote-debugging-protocol.txt - Chrome DevTools Protocol integration
Bridge makes use of various web standards:
- WebAssembly for high-performance code execution
- Canvas API for 2D graphics
- WebGL for 3D rendering
- Modern JavaScript (ES6+) features
- WebSockets and other communication APIs
Research into various content streaming technologies:
- ChromeCast for media streaming
- YouTube embedding APIs
Key files:
- ChromeCast.txt - ChromeCast integration notes
- YouTubeAndroidPlayerApi.txt - YouTube player integration