First, the base web elements defined in Capsul 3.0 must be moved in soma-base. Then a controller specific extension must be done. This extension would be developed first for serverless QtWebEngine implementation because it natively supports a runJavaScript() method (via QWebEnginePage class) allowing execute JavaScript code in the browser from Python application. This method makes it possible to update web view as a result of some controller events. For a real web server implementation, this Python -> browser permanent link will require the use of a WebSocket. This starts to be complex enough to provide a production ready web server for GUI. For this a Python web framework supporting WebSockets must be chosen (for instance Sanic or Django).
First, the base web elements defined in Capsul 3.0 must be moved in soma-base. Then a controller specific extension must be done. This extension would be developed first for serverless
QtWebEngineimplementation because it natively supports arunJavaScript()method (viaQWebEnginePage class) allowing execute JavaScript code in the browser from Python application. This method makes it possible to update web view as a result of some controller events. For a real web server implementation, this Python -> browser permanent link will require the use of a WebSocket. This starts to be complex enough to provide a production ready web server for GUI. For this a Python web framework supporting WebSockets must be chosen (for instance Sanic or Django).