He means that we should use web views for our plugin UIs. I’m afraid I have to disagree. The overhead, dependencies, complexity, and file sizes are enormous. Communicating real-time data (FFT displays, scopes, sample data, etc.) back and forth across some janky JavaScript engine is a pain.
Imagine the web-views Javascript engine gets an update, and suddenly, the functions you wrote to update some UI display are no longer working. You’ve changed absolutely nothing in your code, but the user updated from Ventura to Sonoma or Windows 11 to Windows 12, and suddenly, part of your Javascript code stopped working. Or they drop some technology (OpenGL to WebGL), and your displays that relied on HW acceleration are suddenly empty. Linking your program to external, opaque code is not a smart move.
Now you have to update your code, and detect the difference at runtime, so you can have the same plugin running on both OS versions. Or you have to create multiple versions of the plugin, depending on the OS version you install. Either your installer needs both versions, or you must rely on the customer to download the correct version. But what if it was installed already, and then the user updates his OS a month later? He would need to run the installer or even download your plugin to make it work. It’s a huge uncertainty and should be avoided at all costs.
In my experience in this industry, every time we’ve licensed some lib (no source code available, link to the *.lib), it has come to bite us in the backside. A new platform came out (PowerPC to Intel, then to Arm), and you will have to patiently wait until they hopefully give you an updated *.lib. We had weird bugs, but no way to debug them, and the developers assured us they didn’t do anything weird; once they relented and gave the source code to us, it turned out they did indeed do a few weird things that caused the bugs.
Dependencies should be avoided as much as possible. If you have to have them, the source code should be available to you to make the necessary fixes/changes.
I think fixing the behavior of a few widgets is a low-cost, easy-to-do (even in a non-breaking way), and worth the effort.