Java applet, Flash, SilverLight, Google Native, JavaScript - there
are plenty of options.
yep, not saying that there aren't a lot of options here.
the main advantage of Native Client would be that it would be easier for
me to target it, mostly because it wouldn't require largely rewriting a
bunch of stuff (all the C parts of the project could be kept intact, and
compiled fairly directly, ...).
but, many of the other options could likely require writing code
specifically for them (in contrast to directly porting preexisting code).
Silverlight could work, but AFAIK C++/CLI doesn't work with it (sadly,
not that it really works great with .NET in general). the main thing
here is basically using C++/CLI to compile C code into CIL bytecode, but
using C++/CLI tends to reveal apparent ugly issues...
but, even as such, it is a little less work IME to port code between C
and C# than it is to port code between C and Java.
Flash at least theoretically has a C compiler for it (people have shown
some of the Quake-series games, namely Quake and Quake 3 Arena, running
on Flash before).
HTML+JS was fairly limited in the past, but should be more capable now
(like with WebGL and similar, ...).
I have actually written some small Java applets in the past (very long
ago), but nothing more recent.
both would (fairly likely) require a fair bit of porting effort (and/or
a trans-language compiler).
a further limitation in the JS case though is that, given code is sent
and recompiled from text form, this puts effective size limits on it
(trying to give it a giant mass of trans-compiled code probably wont
work very well, and some other areas of JS give a lot of room for doubt).
between them, trans-compiling to JVM bytecode would probably work
better, but performance is less certain (since pointers and structures
need to be simulated, ...).
probably going through an intermediate stage could be easier:
C -> BSVM bytecode -> JVM bytecode.
mostly as, at both stages, things would fit nicer (and the C->BSVM
conversion would lift out the vast majority of the pointers, namely by
converting most of the pointers to object references, ...).
still a lot of hassle though in either scenario.
The Adobe GUI development tools cost money.
But you can actually develop MXML and AS with any
editor/IDE and you can build with ant and the Flex SDK.
yes, ok.
may look into this.