Quiero crear una GUI basada en web / navegador para una aplicación python de línea de comandos. El objetivo es hacer uso de las tecnologías HTML / JS para crear esta GUI. Como la aplicación en sí, debe ejecutarse en Linux y Windows, y la interfaz será accesible solo desde localhost (no expuesto a internet). La GUI contendrá de 5 a 10 páginas.
No quiero una GUI de escritorio tradicional que incluya HTML / JS, sino solo un montón de archivos html y algún tipo de controlador entre esos y la aplicación.
También quiero hacer uso de la programación asincrónica (como ajax) para poder cargar e imprimir datos en la GUI sin actualizar toda la página. Probablemente usaría jQuery para eso y un par de cosas más.
¿Cómo recomendarías diseñar esto? El rendimiento no es la clave aquí, más bien estoy buscando confiabilidad, portabilidad y simplicidad.
Estoy pensando en usar un servidor / marco ligero de Python HTTP (como CherryPy ) y quizás más tarde un sistema de plantillas Python (al principio solo serán un par de páginas).
EDITAR:
Estoy buscando ideas / recomendaciones sobre cómo construir esto, no alternativas a la GUI basada en navegador / web.
Respuestas:
Actualmente estoy tratando de hacer casi lo mismo. Parece que Python tiene un servidor ( SimpleHTTPServer ), así que intento hacer una aplicación web AngularJS que interactúe con el servidor Python.
Potencialmente hay un proyecto cefpython que permitiría distribuir aplicaciones Python como programas independientes.
fuente
Sus criterios establecidos son:
Si ese es el caso, una aplicación de escritorio es el camino a seguir. No es necesario lanzar un servidor web a la mezcla. Eso solo complicará las cosas sin ganancia real.
Según la edición del OP, que se desea una interfaz basada en HTML, una posible ruta podría ser node-webkit . Esto le permitirá crear una aplicación de escritorio que se ejecute en Windows, Linux y Mac usando HTML y Javascript. Tiene un enfoque algo similar a PhoneGap (con la excepción de que se utiliza el mismo navegador integrado en todas las plataformas). El nodo se utiliza para activar el Javascript, que proporciona acceso a una gran cantidad de bibliotecas. Y tiene acceso al sistema subyacente, lo que le permite ejecutar el programa de línea de comandos basado en Python.
fuente
Opciones para aplicaciones web de Python:
Cualquiera de estos funcionará. En cuanto a cómo construir una aplicación; La mayoría de estos marcos tienen tutoriales en línea. Simplemente sígalo y adáptelo a sus necesidades.
fuente