The last few weeks I've been looking into HTML/CSS/JavaScript.
Due to unrelenting strain injuries I'm going to have to look for funding to continue my IT projects by outsourcing, so I am focusing on putting my ideas up online with a view to seeking cash.
So that's what got me into webdev. But even before that I was wondering about extending JUCE so as to target browsers as well as desktops.
It looks as though HTML5 Canvas is providing a rich UI platform -- you can draw using SVG or WebGL (same as GLES2).
So if I design my UI in JavaScript on a Canvas, then I would just need JUCE to render a full screen HTML page. And I could make use of all .js libraries in the public domain. Things like http://d3js.org/ and http://raphaeljs.com/ .
Then I could provide an abstraction layer that connects the UI to the main code. Maybe using localhost UDP.
This would mean that there is a clean separation between UI and the main engine. In this way I can reuse UI components between web/desktop. I can even provide lightweight .js engine implementations.
That's something I like the idea of. I'm just putting this out as an idea / conversation topic.
I think it's going to be a good few years before heavy real-time audio processing becomes a genuine possibility on browsers -- not being able to compile code is a serious problem. But already there are some impressive illustrations of audio projects on the web, e.g. http://mudcu.be/piano/
For devs this may be a good thing -- punters would be able to play on the website with a demo, but would have to download the full product as a standalone app. If they could do everything on the web, it's harder to monetise and you run the risk of people nicking your code, as it's all client-side JavaScript.
My only sadness here is that I can't see a place for Python. I prefer Python to JavaScript, and I put a lot of work into connecting Python with C++. I've also written a lot of gamelogic in Python. Python and JavaScript have much in common with one another, I am constantly surprised I don't find much mention of this on the web. But they seem to be built using the same "everything is an object, even a function" architectural principle.
π