I’m a fan of GOG, and of course CD Projekt (makers of The Witcher games, Cyberpunk 2077, etc). As a person who will be finishing his bachelor’s degree it would be one a heck of a goal if I were to make it to GOG team. Sadly, I don’t think I have the experience enough to meet their criteria.
GOG client apparently is a hybrid composed of Qt and Chromium Embedded Framework which caught me by surprise as including WebKit would be better in the long run, maybe. How are they maintaining the calls from their the HTML5/JS frontend to C++? Well, I have a couple of ideas but nothing concrete to write a small application to provide proof. The idea however shouldn’t be far from WebKit interaction with your Qt application internals.
As far as I know the GOG client is written in AngularJS primarily with some shades of jQuery, some custom fonts (mainly Lato). I would say that when a user wants to download a game either it uses CEF or Qt Network(module). Either way, I’m having a bit of trouble understanding the need of Qt, apart of using it for configuration (settings window).
I find it intriguing that they decided to go HTML5/JS on the frontend and use C++ as the backend. It’s not that different than going full QML (well, actually QML is a whole new world itself).
Oh, apparently I’ve been out of the loop as of late. I completely forgot that QtWebkit is going to be deprecated and QtScript to be removed… now all the decisions on GoG client makes sense.