Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Introdução
2. Objetivos
3. Metodologia
2
Departamento de Engenharia Civil
3.1.Estrutura de dados
Existem diversas opções para a criação de interfaces gráficas para usuários (graphical
user interface ou GUI) com Python, mas interligar um servidor Python com um cliente
JavaScript (JS) atráves de uma GUI HTML, CSS e JS e com isso poder usufruir das vantagens
do Bootstrap (um framework front-end grátis que conta com uma variedade de plugins, temas
e bibliotecas para um desenvolvimento web mais rápido é fácil), por exemplo, geralmente
requer demasiado esforço. Para aplicações sofisticadas, Electron é uma boa opção. Ele é um
framework para criação de multiplataformas com aplicações nativas de tecnologias web como
3
Departamento de Engenharia Civil
JS, HTML e CSS que possibilita criar menus nativos, notificações, atualizações automáticas no
aplicativo desenvolvido, depuração e criação de perfil com o depurador Chromium (não
necessita de ter o Chrome instalado), utilização do nodejs e o grande repositório npm, que tem
ao alcance dezenas de milhares de plugins, além de outras diversas vantagens. É basicamente
um template que funciona criando um servidor web interno com a utilização de uma GUI em
tecnologia web como front-end se comunicando com o script Python como back-end. O
cefpython é um equivalente ao Electron, sendo ambos projetos de código aberto.
Contudo, para aplicações de uso mais restrito e de menor complexidade, como a proposta
desse trabalho, a escolha pelo framework Eel foi vista como a mais adequada (embora não tão
completo como o Electron ou o cefpython). O Eel hospeda um servidor web local com a
renderização em um navegador (nesse projeto foi adotado como o Google Chrome) previamente
instalado pelo usuário e, em seguida, permite anotar funções no Python que possam ser
chamadas a partir do JS e vice-versa [2]. Com isso, as melhores bibliotecas de processamento
numérico e matemático do Python são combinadas com as melhores bibliotecas de visualização
em JS devido ao facilitador de troca de dados proporcionado pelo Eel. A estrutura de dados
base para sua aplicação no projeto é apresentada na Figura 2.
3.2.Front-end
6b) e botões para limpeza dos dados preenchidos , acesso ao menu “Ajuda” (que
redireciona a abertura para uma página de um navegador) e guias para esclarecer dúvidas sobre
ser executada. Os dados são trocados no formato de string, portanto os valores numéricos são
prontamente convertidos no script Python para a execução da função que aguarda por eles. O
retorno da função é exposto para o servidor JS, que trata de exibi-los conforme a manipulação
desejada.
3.3.Back-end
7
Departamento de Engenharia Civil
3.4.GUI
(a)
8
Departamento de Engenharia Civil
(b)
(c)
Figura 6 – Aba “Geometria/Material” (a) inicial, (b) após um comando de alerta ser ativado e
(c) após o ícone de dúvida ser consultado.
9
Departamento de Engenharia Civil
(a)
10
Departamento de Engenharia Civil
(b)
Figura 8 – Aba “Dados do tráfego” (a) com a opção de entrada de dados de tráfego diário de
todos os veículos e (b) com a opção de dados de tráfego diário de caminhões selecionadas.
(a)
11
Departamento de Engenharia Civil
(b)
Figura 9 – Aba “Resultados” (a) antes e (b) após a realização dos cálculos (nesse caso os
dados inseridos como input tiveram apenas fins ilustrativos).
12
Departamento de Engenharia Civil
(a)
13
Departamento de Engenharia Civil
(b)
Figura 12 – Informações sobre a aba (a) “Dados ambientais” e (b) “Dados do tráfego”
disponíveis no menu “Ajuda”.
14
Departamento de Engenharia Civil
15
Departamento de Engenharia Civil
4. Conclusões
5. Referências bibliográficas
17