Introducing JIVE - the ultimate JUCE extension for building GUIs

I don’t have any intension to officially support HTML in JIVE, I think that would be the wrong direction for this project. Couple reasons for this:

  1. JUCE already has a fully featured HTML renderer, the juce::WebBrowserComponent. If you want to use HTML, you should use that along with whatever JS and CSS frameworks your heart desires. I understand there are planned improvements to this approach coming in JUCE 8 so this will likely become an even more viable solution in the near future.
  2. The HTML/CSS specification is HUGE. As soon as you start to “officially” support some of it, it becomes totally reasonable for anyone and everyone to request any and all features of those specifications be implemented.
    Adding things like <div>, <h1>, <img> etc. would be trivial - any contributor could smash that out in an afternoon. Things like display: inline-block wouldn’t be too tricky either. But what about things like <ul>? More specifically, all the weird and wacky CSS properties that apply to it, like @counter-style.
    Trying to add support for all these things would completely derail the project IMO as all the development into the project would be spent reinventing wheels.

Some of my previous comments may somewhat contradict this so to clarify - for things like colour, I do wish to support the CSS <color> data type. By this, I mean it should be possible to take a string like rgb(255 0 153) and paste it into a CSS file, and into a C++ source file using JIVE and both produce an identical colour. However, I do not plan to support the CSS color property as there are bound to be endless edge-cases and whatnot that would be wasted effort to try to replicate - instead I have foreground which can be used to specify the colour of text, icons, etc.

5 Likes