|
|
|
|
|
by shaan7
2663 days ago
|
|
The controls themselves are standard Qt Quick Controls 2 items. We didn't need to invent anything new. However, we do have custom styling for each control (buttons, checkboxes etc). If you want a native desktop look'n'feel then you should use QtWidgets instead. In our case it was an explicit requirement to have a custom theme from our design team. We have internal builds on Mac/Linux for our own use but its not useful to release it to our users as our Anticheat software is Windows-only. In other words, we can release a package for Mac/Linux for the Qt app itself, but not the Anticheat (without which players cannot join the game servers). For the internal builds, we generate .dmg using macdeployqt and .deb for Ubuntu. QML and JS are used mostly for the UI interaction, all heavy lifting (populating models, user information, lobby statemachine etc) is done in C++. As for Electron, I haven't personally used it for development so I cannot compare the development differences. There are obviously more libraries available for the JS/HTML world* but on the flip side using Qt/C++ has made it very easy to keep the app lightweight with just a ~1.5man dev team. Players must keep the app open alongwith the game so we need to be very conservative about resource consumption. *But then, Qt adds support for some of them. The most recent example being QtLottie. Engineer hat off, I wish that more popular desktop apps were made using dedicated tooling (Qt, .NET etc) instead of cramming a UI inside a browser engine just because its "easier". |
|