Gazelle *not* in the browser

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.

This entry was posted in Uncategorized. Bookmark the permalink.

One Response to Gazelle *not* in the browser

  1. Nathan Youngman says:

    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.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>