Experimenting rendering HTML/JS pages in Qt and "JS-C++" communication in Qt
To Run this repo:
- Open HTMLQtApp.pro file with Qt Creator
 - Configure project setting tab on left side panel
 
About App
- Initializes a WebSocket connection to the server.
 - Use Qwebchannel to register a particular object on server, so that it would be exposed to HTML/JS
 - Client JavaScript implementation of QWebChannel (qwebchannel.js ), like connecting to signals, calling slots, and handling property changes on the server.
 - Used WebEngineView to render HTML and JS content as app
 
Work flow:
GUIMore study
- QtWebkit module of Qt made it possible to load HTML5 GUI in Qt and interaction of GUI elements with code behind in C++ using QtWebKit bridge in previous releases (based on WebKit rendering engine).
 - From Qt 5.3 QtWebkit is now moved in different direction along with "chromium" based browser and highly optimized "blink" as rendering engine, called as QtWebEngine (or QtWebKit 2.0).
 - QWebEngineView can be treated as a browser to host the HTML page.
 - QWebChannel provides a channel to communicate between C++ and JS code. It provides a mechanism to make your C++ code communicates with HTML JS and vice versa.
 
- Integrates chromium's fast moving web capabilities into Qt.
 - Not just a port of the core HTML/CSS rendering engine, it is the entire Chromium platform
 
- QWebChannel provides a bridge between HTML/JS and C++.
 - Underlying transport mechanism, as a way to expose QObject to remote HTML/JS client.
 - Publishing a QObject derived object to a QWebChannel, and using the qwebchannel.js on the HTML side, one can transparently access properties and public slots and methods of theQObject.
 - Asynchronous API, makes it possible to talk to any HTML client, which could run on a local or even remote machine.
 - Limitation: A current limitation is that objects must be registered before any client is initialized.
 - So We should check to expose dynamically created objects, we have not yet.
 
Qt official blog talking about further direction with HTML technology

