This may be a silly question, but when I download other peoples projects with JUCE, I dont see their GUI editor component. Even when I check the JUCE demo, I can’t figure out how to display the GUI editor layer. In my own apps, I have to create a new GUI component and build the GUI with the GUI component file, but the choice to view it in the visual editor is missing from other JUCE projects I’ve tried.
Most folks don’t use the GUI Editor to design their UI
I assume they must be on Visual Studio or something that offers C++ UI designing. I’m in Xcode and it’s not possible (to my knowledge) to make a UI in C++ with Xcode, which is part of the reason I’m using JUCE. Still, I would imagine the JUCE demo would at least be entirely designed with the ProJucer.
Most plugin developers just use code for their plugins to do the GUI. (Also it seems many developers do a lot of GUI work in Photoshop or similar to get bitmap based graphics that the code will then use.)
None of the JUCE or ROLI team uses the GUI editor.
A more modern approach using the Projucer’s live build functionality is shown in this talk: https://www.youtube.com/watch?v=YW1HS-hQY78
I would’ve never guessed they would be coding this all by hand without the visual GUI editor. Even with the live builder, they still have to hand-code it all right? The live builder just lets you edit your GUI code while running the app, but it isn’t an interface builder, correct?
If you only want an extremely simple UI then it would be quicker to use the GUI editor.
As soon as you add any sort of realistic complexity then you will find that you are customising your UI beyond anything that a UI editor would be capable of. A good example of this, covered in Vlad’s talk, is something like responsive design using Flexbox or otherwise conditionally modifying your UI in different use cases.
The same programming techniques apply to GUI code as with normal code. Using the DRY mantra means that you’re not typing out the code for every GUI element that’s shown - looping, copying and editing a single
LookAndFeel class takes care of your theme.