Scratch what I said the other day. Delivering a Gazelle IDE as a web application was this great attempt-to-be-forward-thinking dream that I clung to for a while. But yesterday in the wake of the news that Qt is going LGPL I gave it another look. And I have to say, the debate is over, the Gazelle IDE will be a standalone, cross-platform application written using Qt.
Why? Because it’s the answer to all the problems I posed before (of which there were many):
- The Gazelle compiler (wrtten in Lua) can run right there in-process, because the IDE can link in the Lua interpreter.
- The Gazelle runtime (written in C) can be linked in and run right there in-process, and be way faster than a JavaScript implementation would have been.
- Graphviz (written in C) can be linked in and run right there in-process.
It also answers several other problems I hadn’t even explicitly posed.
- Web applications don’t have access to the local filesystem. Desktop applications naturally do.
- Web applications are limited by the performance of JavaScript (a high-level, garbage-collected language). C++ applications have better performance (and I plan for the Gazelle IDE to have a lot of graphics going on).
- Qt has a really awesome support for, well, pretty much everything. Creating scene graphs that support hover, onClick, drag&drop, good drawing, animation, everything I was thinking about seems to be well-supported.
I’m still trying to be sure that Qt applications feel sufficiently “native” on Windows and Mac. But unless that’s a big disaster, Qt looks like the best path to my goals.
Afaik, Google Earth is a QT app. It doesn’t quite fit on the Mac, kinda like Java apps have slightly different widgets, but it may be good enough. I think Skype may also be using QT. Best.