I took this course which covers the basics of plug in development on JUCE.https://www.kadenze.com/programs/output ... c-and-juce
Although the class is targeted at Mac and Windows users, I wound up doing it on a Mac because that's what the instructors used and as such they don't even know when a Windows user might wind up in the weeds. They don't cover Linux at all specifically.
What I can tell you about the UI is that JUCE's built in UI elements are very spartan. Apparently it is also possible to replace them with something more elaborate and this seems to be much of the focus of the follow on course which costs $500. I didn't take that one.
I also took a course in FAUST: https://www.kadenze.com/courses/real-ti ... faust/info
This lets you make cross platform apps or plugins using a somewhat bizarre but very compact way of representing things. I wrote VST plugins, Android apps, and standalone Mac apps in this class. Subsequently I got FAUST running on a Bela. That was all loads of fun but since I'm in a studio environment and don't really need to ever move anywhere I figure why not just build this stuff up using a computer rather than a low powered thing like a Raspberry Pi.