2010-10-27 9 views
19

He estado experimentando con Appcelerator Titanum ayer y creo que es genial cuando se trata de Javascript.¿Cómo puedo usar HTML + Javascript para construir una GUI de Python?

Las funciones de Python en Appcelerator Titanum son muy limitadas (por ejemplo, no se pueden usar algunos módulos).

Mi pregunta es ¿Cómo puedo usar html javascript & como una herramienta de interfaz gráfica de usuario para una aplicación real, pitón ?

Estoy ejecutando Windows 7 y estaba pensando en usar webkit para ese propósito, pero no podía saber cómo trabajar con él en python.

Estoy planeando hacer un ejecutable independiente usando py2exe ya que no sé si los usuarios siempre tienen python y los módulos apropiados instalados.

+1

¿Desea escribir una aplicación web alojada localmente? – xj9

+7

Entonces, básicamente, ¿quiere que la lógica de su aplicación se escriba en Python y la GUI en HTML/JavaScript? –

+1

@musicfreak: Es cierto, eso es lo que quiero. – Lettuce

Respuesta

2

Entonces, ¿cómo puedo usar html & javascript como una herramienta de interfaz gráfica de usuario para una verdadera aplicación de Python?

Ejecuta un servidor web en su escritorio. Por ejemplo, esto: http://docs.python.org/library/simplehttpserver.html En unas pocas líneas de código puede proporcionar un servidor HTTP completo que servirá su HTML y Javascript a un navegador.

estoy corriendo Windows 7 y que estaba pensando en el uso de WebKit para ese propósito, pero no podía saber cómo trabajar con él en Python en realidad por otra parte quiero utilización py2exe así que ¿cómo puedo usar Python + WebKit para manejar la parte gui?

Difícil de analizar eso. O indica demasiado café o no está familiarizado con la puntuación.

Aleatoriamente, elegiré las siguientes palabras que posiblemente sean significativas.

¿cómo puedo usar python + webkit para manejar la parte de la interfaz gráfica de usuario?

Ejecuta un servidor web en su escritorio. El servidor web proporciona páginas html y javascript en un navegador, que también se ejecuta en su escritorio.

+2

Lo siento pero esa es una respuesta débil de mi pregunta! Si no lo sabes, no hagas ningún comentario. Al principio de la pregunta mencioné que Appcelerator Titanum me impresionó, así que solo necesito más libertad usando Python mientras hago lo mismo que con Appcelerator Titanum. – Lettuce

+8

@Lettuce: por favor ** Aclare ** su pregunta. Encontré todo el "?" Lo podría encontrar. Traté de analizar las preguntas. Si no te gusta la respuesta, piensa en esto por un momento. Tal vez su pregunta no sea lo suficientemente completa como para que alguien la entienda. Piensa que, tal vez, no sabemos tanto como tú y necesitas explicar un poco de lo que estás tratando de hacer y de lo que debes saber. –

+0

Ok He formateado la pregunta. – Lettuce

0

Supongo que está movilizando una aplicación web para el acceso multiplataforma.

Si es así, ¿ha considerado la posibilidad de abstraer el acceso multiplataforma en la capa de presentación de la aplicación web?

Appcelerator/Webkit no proporciona un aspecto verdaderamente nativo en los dispositivos móviles, pero aquí es donde una nueva tecnología puede ayudar.

8

Si buscas enlaces de webkit para Python, mira PyQt, que incluye Webkit, así como wxWebkit (http://wxwebkit.wxcommunity.com/) si estás utilizando wxWidgets. Esto le permite incrustar webkit en una aplicación Qt o Wxwidgets para que no tenga que pasar por un navegador.

Si usa esto, puede usar un servidor web en Python, como han mencionado otros, o puede controlar el control Webkit directamente (aunque no estoy seguro de lo práctico que es esto).

Más allá de eso, también está el Escritorio de pijama (http://pyjs.org/), que le permite usar Pijamas para compilar la aplicación y luego ejecutarla.

3

Here es una agradable charla de PyCon sobre el tema.

0

Si está pensando en aplicaciones de escritorio reales que tienen varios subprocesos y/o usan componentes de sistema múltiples, olvídese de JavaScript. Eso requiere un muy buen SDK (como PyQt4), y no un envoltorio básico como Appcelerator Titanium. Tenga en cuenta que desarrollar tales aplicaciones lleva mucho tiempo.

La segunda opción es soltar el enlace del escritorio y crear una aplicación web con una interfaz de usuario avanzada hecha con uno de los frameworks JavaScript & amigos (Ember, Angular ... hasta cosas como dhtmlx y widgets similares). Esos no pueden usar los componentes del sistema (como acceder a algún hardware), pero pueden proporcionar buenos servicios.

1

PHP Desktop es un proyecto de código abierto fundada por Czarek Tomczak en 2012 para proporcionar un camino para el desarrollo de aplicaciones GUI de escritorio nativas utilizando tecnologías web como PHP, HTML5, JavaScript & SQLite. El flujo de trabajo de desarrollo al que está acostumbrado al crear aplicaciones web sigue siendo el mismo. El paso de convertir un sitio web existente en una aplicación de escritorio es básicamente una cuestión de copiarlo en el directorio "www /" .

PHP Desktop también lanza Python Desktop y Ruby Desktop. Le permite crear una aplicación de Windows, que utiliza el IE instalado para el front-end, o utiliza una instancia de Chrome (así que definitivamente también es compatible con HTML5) que viene con la aplicación. Inicia un servidor web local, admite muchas bases de datos con un controlador PDO y puede diseñar las vistas en HTML y Javascript. Puede descargar recursos externos como cualquier otro sitio web/aplicación web, por lo que también admite material relacionado con la red. La aplicación viene con su propia versión escueta de Python, puede agregar bibliotecas como desee.

Miré todas las respuestas antes, ya que tenía exactamente la misma pregunta que usted, pero PHP Desktop lo resolvió fácilmente para mí.

https://code.google.com/p/phpdesktop/wiki/EmbeddingOtherScriptingLanguages

0

Puede usar TideSDK que puede ayudarlo a crear aplicaciones de escritorio hermosas y únicas utilizando sus habilidades de desarrollo web (HTML5/CSS3/JavaScript/Python o PHP o Ruby).

Sitio Web: http://www.tidesdk.org

utilizar Python en TideSDK: http://tidesdk.multipart.net/docs/user-dev/generated/#!/guide/using_python

Espero que ayude! :)

+0

Parece que TideSDK y TideKit están ahora difuntos: http://stackoverflow.com/questions/24440371/is-tidesdk-defunct – Rob

Cuestiones relacionadas