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.

  • Python, Kivy y Android Juego
  • ¿Hay alguna manera de ejecutar Python en Android?
  • Comunicación de socket con Python en Android
  • Lanzar un emulador de Android de Python-Django
  • Subprocess.CalledProcessError devolvió el estado de salida distinto de cero 1
  • No hay entorno de Android SDK configurado para Kivy en Ubuntu 12.04
  • SetParameters falló al inicializar la cámara web android con python y SL4A
  • Error de carga DLL:% 1 no es una aplicación Win32 válida - Appcelerator
  • ¿Es posible descargar apk desde google play programáticamente a PC?
  • La lectura de cadena gzip en sqlite3 base de datos (python escribir, Java Android leer)
  • Cómo cargar adbkey.pub con Python RSA
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.