On Mon, Dec 29, 2014 at 10:39 PM, Wes Turner <wes.turner@gmail.com> wrote:

As far as Kivy goes - I have tinkered with Kivy; I've even used Kivy's tools as a starting point for some of my own efforts. However, to me, Kivy is focussing too far up the stack - their toolchain appears to be based on getting *Kivy* working on mobile, not *Python*. This is an entirely reasonable approach if Kivy is what you want at the end of the day - but it's not what *I* want. I've been taking a much more atomic approach. The Kivy toolchain is also anchored in old versions of Python 2; something that definitely needs to be addressed. 

IIUC, how Kivy works is not to  put a python interpreter on the platform, but rather to run all your code through Cython, creating a C program that used the python runtime as a library, essentially. So there is no python code involved at run time.

So the Kivy lib aside, is this a good way to go on Mobile? I can't image it's too hard to remove the kivy UI  stuff if you don't want to  use it -- even if the current tools all include all that by default.

But is it better to target getting Python running on Mobile just like it does on the desktop: you have a python interpreter, a bunch of python modules, and you bundle it all up with a executable launcher of some sort, al la py2exe, py2app, etc.?

Something to keep in mind is that that way most Python code is run may not make sense (or even be an option with Apple's rules, anyway): you have a python environment installed, and install a bunch of application code on top of that, and run that. Makes sense to system scripts, and web apps and that like, but really doesn't make sense for "Apps".

What I'm getting at is that the final goal for what exactly we want people to be be able to distribute may effect decisions about what to build and how to build it.

BTW, one thing I'd like to be able to build is what I call a "BILS" (Browser Interface, Local Server) app: you run a web server bundled up in an app that points itself to the browser component for all the UI. We've been very successful doing this on Windows and OS-X, as a way to provide a self contained desktop app, and a hosted Web App with almost entirely one code base, and an identical user interface.

(http://cameochemicals.noaa.gov/ and http://response.restoration.noaa.gov/cameochemicals)

(Python / Pyramid on the back end, desktop is the local browser hosted by a wxPython wrapper)

We'd like to be able to port that to iOS and Android, but there doesn't appear to be a solid python option that we could run a Pyramid web server on Mobile at this point -- maybe I'm wrong)



Christopher Barker, Ph.D.

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception