[racket] compiling Racket to android and ios apps

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Fri Feb 13 17:08:26 EST 2015

Anyone have any current/planned projects on compiling Android and iOS 
apps from Racket?

Details...

I'm interested for two reasons right now.

The practical way for most purposes today *should* be to do HTML5 
offline apps, which (as standard HTML5 apps) should run on all 
smartphones, tablets, and desktops.  I have done this in conjunction 
with Racket on the server, and Racket also generating much of the HTML 
and JS.  This is either in a standard HTML5 offline app way that is 
sandboxed and also bypasses the official app store, or packaged as a 
platform-specific app with PhoneGap.  However, the biggest complication 
with real HTML5 apps is that Apple seems to be doing its best to drag 
its feet and/or break HTML5 apps whenever it can.  (It's almost as if 
Apple actually wants to keep developers captive to their infamously 
heavy-handed app store policies and competition-killing maneuvers.  I 
know, I know, I find that as difficult to believe as you do.  It's a 
head-scratcher, for sure.)

When iOS is the most lucrative app platform, and it looks like you're 
vulnerable to a competitor coming in *after* your first-mover advantage, 
and taking away your app's iOS market share by virtue of their app not 
being crippled by Apple like yours is, this is a problem.

Separately -- and this is more an issue because of the above handicap -- 
there's also the nagging issue of sometimes wanting to hide 
closed-source "secret sauce" code to some extent from lazy 
app-counterfeiters, without moving it to the server and requiring the 
device to be online and phone-home with user's private data.  A high 
degree of obfuscation would help.

So, as an alternative for smartphone/tablet apps, to keep handy as a 
backup to HTML5, I'm interested again in the idea of compiling Racket to 
native iOS and Android apps.  Typical polished commercial-grade apps, so 
pedagogic graphics worlds alone usually aren't enough.

Neil V.


Posted on the users mailing list.