Combinando el front-end de html y el "back-end" de python en la aplicación móvil

Mi aplicación tiene un front-end basado en html y utiliza la lógica python en el back-end. Esta aplicación necesita ejecutarse sin conexión, no conectada a Internet, por lo que por "back-end" aquí no me refiero a un servidor que se ejecuta de forma remota, sino más bien la lógica python corriendo lado a lado en la misma aplicación que el navegador / html motor. Para aplicaciones de escritorio de Windows o Mac, construyo una aplicación Chromium Embedded Framework y luego lanzo un subproceso que ejecuta una aplicación CherryPy python construida con py2exe (o py2app). El cliente y el servidor entonces se comunican usando HTTP normal.

Me gustaría lograr lo mismo en iOS y Android. He investigado varias alternativas, pero nada parece hacer todo lo que necesito.

Kivy está cerca, pero por lo que puedo decir que no ofrece un navegador / html front-end, sino que proporciona su propio motor de diseño en la parte superior de OpenGL. Tiene un mecanismo de extensión, pero eso parece ser más sobre extender el lado python, no el lado front-end.

Por otro lado, podría comenzar con PhoneGap y luego agregar una biblioteca de python como una extensión (posiblemente usando la compilación de la biblioteca móvil de Kivy de python). O para el caso que podría escribir una aplicación regular de C + + que incrusta un navegador y utiliza una compilación de la biblioteca python.

En la tercera mano, he jugado con el uso de varios convertidores de python a javascript para obtener la lógica de back-end en algo que puede funcionar con PhoneGap directamente, pero ese enfoque se vuelve bastante difícil dada toda la lógica python que tengo – Algo de él apenas no convierte tan fácilmente.

¿Sabe de las aplicaciones que están mostrando html y ejecutando la lógica de Python en la misma aplicación?

Usted podría hacer una aplicación kivy muy simple, que iniciaría un servicio (dentro del cual haría su lado "servidor", con un pequeño motor como frasco o botella, pero creo que cherryPy debería funcionar también), y en el main.py De la aplicación "kivy", no importa kivy, solo tienes que importar webbrowser e iniciar una ventana de navegador a localhost: tu puerto. Esto usará el navegador android.

Editar: oh, los servicios son android sólo por ahora, al parecer ios 7 también los soporta, pero kivy-ios no ha sido actualizado para hacer uso de ellos.

  • ¿Lanzar la aplicación android desde la secuencia de comandos de SL4A?
  • Ejecución de un teléfono Android como un servidor web estable (para una secuencia de comandos CGI de Python)
  • Cualquier buen editor de texto - aplicación de Android - optimizado para los programadores?
  • Recuperación Inception5h modelo de TensorFlow Android Cámara Demo
  • Subprocess.CalledProcessError devolvió el estado de salida distinto de cero 1
  • Ejecutar Bottle + Python + motor de Google App por primera vez
  • Buscar elementos dentro de un cierto rango de coordenadas dadas
  • ¿Cuáles son las limitaciones de Python en Android?
  • ¿Cómo ingresar comandos a CTS-Tradefed?
  • Google Endpoints Android con Python Backend
  • ¿Cómo puedo usar Python para ejecutar comandos adb?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.