Maes
I like big butts!

Posts: 8661
Registered: 07-06 |
kristus said:
I must admit, I don't quite understand all this. But essentially, there's no easy yet "reasonable" way to port Linux or Windows programs to Android?
It depends to a great extent on the libraries they use. Sure, if you have a "Hello world" type of program or one that has no visual output and only does number crunching (e.g. LAME MP3 encoder in the form of a library), there's no reason why you can't use the official Android C compiler and make a library or executable out of it straight ahead.
But take something like Slade3, which uses the wxWidgets library for its GUI: that library is not (yet) available for Android, so any part of the code using it would have to be commented out/replaced with something else, so a "straight" port would not be possible. It would make more sense to keep only the "non visual" parts of it, and build a Java UI around them, gluing everything together with JNI (personally, I'd go one step further and cross the language barrier once and for all, by translating the C/C++ code to Java by hand, but maybe that's just me).
For Windows stuff, it wouldn't be much easier, and ports which rely on stuff like SDL, FMOD etc. would either have to use a port of said libraries (e.g. there's a mod player that uses a cross-compiled FMOD) or yank them out and wrap around them with alternatives.
kristus said:
Though for Honeycomb Java is considerably faster than it is for Gingerbread or Froyo?
From what I've seen, no: there were major differences when going from 2.1 (Eclaire) to 2.2 (Froyo) and onwards, because that's when the JIT mechanism was introduced (BTW, that was standard on the desktop since at least Java2 aka HotSpot), but not from there onwards: at most minor optimizations.
kristus said:
Though since you've made some serious headway with Mocha Doom, I suppose there will at the very least be that?
Depends on the tastes and time of individual developers. I personally prefer having a pure codebase and translating stuff (as Mocha Doom demonstrates), others may prefer mixing external libraries or postponing until they are available. As for Mocha Doom, once I release v1.6 on the desktop, I will try getting a working sample on Android, just for demonstration's sake.
XWE is another issue altogether: its source code is unmaintainable for a variety of reasons. Doombuilder (especially DB2) has a better chance of being ported at the core logic level, since they are written in VB and C# respectively.
Various classic utilities like DMAUD, MUS2MIDI etc. could be compiled to native Android libraries or ported to Java (e.g. Mocha Doom contains a full port of MUS2MIDI as of now), while some of the most complex ones like node builders would probably be easier to just cross-compile and invoke externally (maybe by wrapping them in a casual use Android GUI).
|