[gambit-list] Gambit on Android

Marc Feeley feeley at iro.umontreal.ca
Mon Apr 2 22:57:17 EDT 2012


Very well.  I think the best is to move "examples/iOS" to "contrib/GambitREPL".  Then we can merge with your code for android.  There should be two makefile targets, "ios" and "android".  A "make ios" will build the Gambit libraries for iOS (i.e. gambit-iOS subdirectory built with the build-gambit-ios script) if it is not already compiled.  A "make android" should probably also build the appropriate libraries for android.  If it is hard to build both systems from the same makefile, perhaps 2 makefiles would make sense.

How about that?

Marc


On 2012-04-02, at 5:47 PM, Keith Flower wrote:

> Hi Marc,
> 
> Finally I have a reasonably stable version of an Android REPL that matches the iOS version that accompanied Gambit v4.6.2, and am working toward v4.6.5.
> 
> In testing the UI changes, I ran across some interesting Android problems around trying to evaluate Javascript synchronously. I think I have that fixed now, and so keeping the iOS and Android user interfaces synced via webviews continues to look viable (if a bit painful at times). I'll try to take some time to play with the Sencha Touch stuff and come up to speed on it, if you think that represents a better way to go forward with the UI. 
> 
> Before pushing anything to github I wanted to ask if you had any additional thoughts about structuring and maintaining these iOS and Android versions. I had planned to just create examples/android, but I wonder if you now want to decouple these from the main Gambit release as "apps" or "contrib" or something, as you indicated below. 
> 
> My changes to scheme code are restricted to intf.scm and program.scm. I have one C source file (gambit-android-jni.c) for the JNI (Java to native code interface) stuff, and of course I don't use AppDelegate.m/h or ViewController.m/h.
> 
> I'll include build scripts and instructions for build via Ant and Eclipse. The source layout for Gambit for Android looks like:
> 
> ├── assets
> ├── bin
> │   ├── classes
> │   │   └── org
> │   │       └── keithflower
> │   │           └── gambit
> │   └── res
> │       ├── drawable-hdpi
> │       ├── drawable-ldpi
> │       └── drawable-mdpi
> ├── gen
> │   └── org
> │       └── keithflower
> │           └── gambit
> ├── libs
> │   └── armeabi
> ├── obj
> │   └── local
> │       └── armeabi
> │           ├── objs
> │           │   └── gambit
> │           └── objs-debug
> │               └── gambit
> ├── res
> │   ├── drawable-hdpi
> │   ├── drawable-ldpi
> │   ├── drawable-mdpi
> │   ├── layout
> │   ├── menu
> │   └── values
> └── src
>    └── org
>        └── keithflower
>            └── gambit
> 
> Regards,
> 
> Keith
> 
> On Mar 12, 2012, at 12:10 PM, Marc Feeley wrote:
> 
>> 
>> On 2012-03-12, at 2:38 PM, Keith Flower wrote:
>> 
>>> For my little Gambit for Android app
>>> 
>>> https://play.google.com/store/apps/details?id=org.keithflower.gambit
>>> 
>>> the GUI is Java, Gambit is compiled with the Android Native Development Kit, and JNI is the bridge.
>>> 
>>> I'm testing to release a new version that incorporates all of Marc's nice recent iOS changes. 
>> 
>> That's nice to hear.
>> 
>> I've has several inquiries about using Gambit to develop iOS apps, and some people are attracted by the possibility of easily porting Gambit apps between mobile platforms.  I also looked into this in the context of the Hacking Health hackathon, and even got the Sencha Touch toolkit (http://www.sencha.com/products/touch) working with Gambit REPL.  It is a simple way of developing native-looking mobile applications.  Rewriting the Gambit REPL user-interface with Sencha Touch would make the UI identical on iOS and Android, and allow other developers to eaily build nice UIs with it, without using native methods.
>> 
>> It would be nice if we could find a way to merge the source codes so that we can keep the iOS and Android versions in sync more easily.  Perhaps Gambit REPL has grown too much in complexity to qualify as an iOS "example" and it should be in a separate category (app? product? software? contrib?) and then it would make sense to support more than iOS.
>> 
>> I'm open to the idea of giving write access to the git repository to motivated contributors.  So if you are motivated please let me know.
>> 
>> Marc
>> 




More information about the Gambit-list mailing list