Quero criar uma GUI baseada na Web / navegador para um aplicativo python de linha de comando. O objetivo é fazer uso das tecnologias HTML / JS para criar essa GUI. Como o próprio aplicativo, ele precisa ser executado no Linux e Windows, e a interface estará acessível apenas a partir do host local (não exposto à Internet). A GUI conterá de 5 a 10 páginas.
Eu não quero uma GUI de desktop tradicional que inclua HTML / JS, mas apenas um monte de arquivos html e algum tipo de controlador entre eles e o aplicativo.
Também quero fazer uso de programação assíncrona (como ajax) para poder carregar e imprimir dados na GUI sem atualizar a página inteira. Eu provavelmente usaria o jQuery para isso e algumas outras coisas.
Como você recomendaria projetar isso? O desempenho não é a chave aqui, estou analisando a confiabilidade, portabilidade e simplicidade.
Estou pensando em usar um servidor / estrutura HTTP python leve (como CherryPy ) e talvez mais tarde um sistema de modelos Python (no início, serão apenas algumas páginas).
EDIT:
Estou procurando idéias / recomendações sobre como criar isso, não alternativas para o GUI do navegador / baseado na Web.
Respostas:
Atualmente, estou tentando fazer praticamente a mesma coisa. Parece que o Python tem um servidor ( SimpleHTTPServer ), então estou tentando criar um aplicativo da web AngularJS que irá interagir com o servidor Python.
Potencialmente, existe um projeto cefpython que permitiria distribuir aplicativos Python como programas independentes.
fonte
Seus critérios declarados são:
Se for esse o caso, um aplicativo de desktop é o caminho a percorrer. Não há necessidade de adicionar um servidor web à mistura. Isso apenas complicará as coisas sem nenhum ganho real.
Com base na edição do OP - que uma interface baseada em HTML é desejada - uma rota possível pode ser o node-webkit . Isso permitirá que você crie um aplicativo de desktop executado no Windows, Linux e Mac usando HTML e Javascript. É adotada uma abordagem semelhante ao PhoneGap (com a exceção de que o mesmo navegador incorporado é usado em todas as plataformas). O nó é usado para alimentar o Javascript, que fornece acesso a um grande número de bibliotecas. E você tem acesso ao sistema subjacente, permitindo executar o programa de linha de comando baseado em Python.
fonte
Opções para aplicativos da web Python:
Qualquer um destes irá funcionar. Na medida em que você cria um aplicativo; a maioria dessas estruturas possui tutoriais online. Basta seguir e adaptá-lo para atender às suas necessidades.
fonte