Mensagens

A mostrar mensagens com a etiqueta JavaScript

App Tecnologias Web - Criar app desktop ScriptOnIt

Imagem
App Tecnologias Web - Criar app desktop Existem várias opções para transformar uma aplicação WEB local para um executável ou perto disso... Já fiz alguns posts sobre este assunto. Hoje trago o ScriptOnIt. https://scriptonit.dk/ Passei umas das minhas aplicações neste framework. Não consegui pôr a funcionar a 100% precisava um pouco mais de atenção, mas o resultado é semelhante aos outros frameworks, uma janela tipo programa nativo, embora por detrás tenha uns artifícios e mais umas coisas. Funciona também com base no NodeJS. Fica pequeno isto deve funcionar tipo WebView.

JS - Obfuscator

Imagem
JS - Obfuscator O Javascript a correr numa browser based app tem o código visivel, como o proteger? Para que se proteja um pouco o código e não seja copiado (facilmente) podemos dar uma encriptação aos scripts de JS. Trata-se de uma codificação ao javascript que a torna dificil de ler. Pode incluir renomear variáveis; adicionar código desnecessário etc. Como exemplo, usando o site: https://codebeautify.org/javascript-obfuscator Podemos transformar a função que está na imagem inicial deste post em algo "diferente", mas contínua a ser legível para o Browser. É infalível? Não, podemos usar agora uma operação inversa, por exemplo no site: https://obf-io.deobfuscate.io/ Uma forma de melhorar a proteção pode ser por exemplo usar nomes de funções sem sentido aparente, ou introduzir na própria função código redundante.

Neutralino - Ferrovias App

Imagem
Neutralino - Ferrovias App Revisito o framework Neutralino que permite criar aplicações desde tecnologias "Web" Tendo uma aplicação local com tecnologias Web é fácil, transformar a mesma para executáveis que podem correr em qualquer sistema operativo desktop, windows, MacOS ou Linux. A configuração é relativamente simples e a instalação do Framework com base no NodeJS não apresenta problemas de maior. O teste de hoje incidiu sobre um outro projecto de cálculos, mas coloco aqui a ilustração de um outro mais genérico. Praticamente tudo o que funciona localmente vai funcionar depois como executável. Por exemplo os botões de leitura e escrita de ficheiros (apesar do Neutralino ter os seus próprios métodos que podemos usar se necessário) e o desenho num Canvas. Portanto para o tipo de programação e projetos que realizo, este Neutralino dá conta do recado, podendo ser uma alternativa ao Python e o seu método de criar executáveis. O Neutralino usa um WebView, mantendo "internam...

Linguagens diferentes resultados iguais

Imagem
Linguagens diferentes resultados iguais Para operações de cálculo matemático e manipulação de ficheiros o resultado é independente da tecnologia de programação. Como era de esperar, apesar de o cálculo ser feito com linguagens de programação diferentes, o resultado é igual. Na imagem acima temos dois ficheiros, que embora tenham o mesmo nome e conteúdo foram criados por linguagens de programação diferentes, Python e Javascript, com a leitura do mesmo ficheiro Excel de dados. Como coloquei no post anterior a interface gráfica tem os mesmos elementos. Ambas linguagens partilham pedaços comuns e outros bem diferentes. Parte da diferença explica-se pela metodologia de criar a interface gráfica. A programação de Javascript + HTML é um pouco mais moldável, permitindo por exemplo desenhar tabelas no ecrã mais facilmente que em Tkinter (Python). É bastante util, pois podemos ressaltar uma janela apenas com resultados ou informação temporária, ou linkar para uma página HTML de ajuda. Cada tecno...

Caso simples de uso do ChatGPT - programação

Imagem
Caso simples de uso do ChatGPT - Programação Usei a AI, ChatGPT para transformar uma função de Python numa função de Javascript Um uso típico dos modelos de LLM é a aplicação à programação. Seja para criar código ou no caso do exemplo para transformar código. Inclusivamente faz notas sobre o trabalho realizado. Este exercício foi uma primeira abordagem ao problema, digamos, já que tenho um código funcional em Python e queria transformar o mesmo para Javascript, como é uma programação funcional pode ser transformada e ajustada aos poucos. Na parte direita no console é possível observar dados provenientes da função transformada. É possível comparar lado a lado o código nas duas linguagens. No código JS apresentado, o ChatGPT eliminou alguns comentários.

Python vs HTML

Imagem
Python vs HTML Uma aplicação simples tanto pode ser realizada com tecnologias Web (HTML CSS JS) ou Python. Para a resolução de um determinado problema prático na área da engenharia, na maior parte dos casos a tecnologia de "programação" usada é indiferente, pois obtém-se o mesmo resultado. Aplicando a um dos exemplos em que tenho estado empenhado ultimamente, o que está por detrás da interface para com o utilizador pode realizar os mesmos passos numa e noutra tecnologia. A interface é ligeiramente diferente (pode-se aproximar mais o aspecto gráfico) e o modo de "abertura" e uso do programa diverge um pouco, num caso (Python) será um normal programa executável, e no outro caso (HTML) será uma aplicação que corre no navegador Web. Ambas tecnologias têm vantagens e desvantagens como é óbvio.  Ambas abrem e modificam um ficheiro Excel. Ambas realizam cálculos. Ambas conseguem escrever no disco um ficheiro de resultados. No fundo é o importante. Apesar dos "hypes...

Python Javascript - Diferenças nos resultados (Gabaritos)

Imagem
Python Javascript - Diferenças nos resultados (Gabaritos) Tendo o mesmo cálculo em duas linguagens de programação era expectável ter o mesmo resultado. Ao mudar de linguagem de programação, ou de tecnologia, para realizar o mesmo cálculo é expectável obter os mesmos resultados. É também uma forma de revisão de todo o processo. No caso, um projecto "outsider" para cálculo ferroviário, que está a ser re-codificado para que tenha mais possibilidades de ampliação no futuro, embora seja um projecto para consumo interno. Na parte esquerda da imagem abaixo, o cálculo em Javascript e na parte direita em Python. Não tem exactamente o mesmo conteúdo porque se está a apresentar menos saídas em JS. Os valores semelhantes, por exemplo o -1.51 e o -1.511 chamam a atenção, deveriam ser o mesmo. Uma das formas que tenho de rever os cálculos é comparar os ficheiros de Output, onde tenho todos os cálculos parciais relevantes. Embora com separador de campos diferente, foi possível verificar q...

Neutralino - Alternativa para apps Desktop

Imagem
Neutralino - Alternativa para apps Desktop As tecnologias de programação Web, permitem criar softwares para desktop, seja com o conhecido Electro.js ou com o Neutralino.js Desta vez, usei uma das aplicações "Browser based app" que já tenho feitas, para testar a viabilidade de transformar a aplicação numa aplicação ao estilo nativo, para desktop windows. O framework mais conhecido para este trabalho é o Electron.js, mas é famoso pela criação de aplicações gigantes. O Neutralino.js propõe a redução de tamanho empacotando a aplicação num Webview. A aplicação seguinte teria pouco mais de 3 Mb: Tem um comportamento semelhante a uma aplicação nativa. A particularidade desta aplicação, é que não usa uma biblioteca de node.js para ler os ficheiros Excel, mas sim uma biblioteca acessada em tempo real com um CDN (Content Delivery Network) de nodejs. Foi tudo feito de forma rápida para ver se funcionava. Aparentemente tudo funciona, apesar de ser uma adaptação quase directa de "HTM...

Browser Based App em alternativa a Python TKinter

Imagem
Browser Based App em alternativa a Python TKinter O uso de tecnologias web para criar uma aplicação gráfica simples é uma alternativa ao uso de Python Tkinter ou outras tecnologias. Para uma aplicação que não necessite de Base de Dados ou interacção directa com outros programas como o Autocad, o uso de tecnologias web (sem a conversão posterior para EXE) é uma alternativa válida. Inclusivamente estão disponíveis API para usar o Excel, Ficheiros, Gráficos e até Machine Learning. Não é difícil aprender, e não necessita nenhum hardware ou software específico. Um editor de texto, ligação à net e um navegador. Na internet são poucos os exemplos de JS ou tecnologias Web aplicadas à solução de problemas de engenharia. Alguns exemplos já trouxe em vários posts, podem ser consultados. Ao longo do tempo tenho usado bastante esta solução para programar aplicações que resolvam os meus problemas de automatização ou de repetição de tarefas. Abrir e manipular ficheiros ASCII é essencial e um processo...

Gabaritos - Python ou Web dois caminhos

Imagem
Gabaritos - Python ou Web dois caminhos As linguagens de programação são um instrumento para atingir um objectivo. Para atingir um objectivo, neste caso a realização de cálculos complexos, ler e gravar ficheiros, há vários caminhos pelas linguagens de programação. Umas têm uma aplicação mais específica que outras. Mas no caso de um programa cujo objectivo seja realizar cálculos e ter inputs / outputs as linguagens de aplicação geral servem quase todas. No caso comparado, à esquerda uma interface programada com Python Tkinter, e no lado direito uma interface programada com tecnologias WEB. Embora a da direita não esteja no mesmo nível de detalhe, podemos ver semelhanças. No fim, com a "generalidade" da aplicação para o utilizador final é praticamente indiferente a linguagem em que a aplicação foi programada. Caso diferente seria quando se exige uma ligação com programas como Autocad, ou o uso de bibliotecas específicas. Para Autocad ou dentro de Autocad a linguagem mais potent...

Implantação plataformas - HTML CSS Javascript

Imagem
Implantação plataformas - HTML CSS Javascript Desenvolvimento de uma aplicação estilo Web para o cálculo da implantação de plataformas para ferrovias. Após montar uma folha Excel com os cálculos, decidi fazer uma app ao estilo Web, ou seja que funciona no navegador web (Chrome Edge Opera Firefox ...). A construção da interface gráfica requer menos recursos, e se não é necessária grande potência ou rapidez, e não é necessário interagir muito com o disco e o CAD, o Javascript é o suficiente. A folha principal (e única do programa, fora a ajuda) apresenta o aspecto seguinte, onde se observam as variáveis iniciais de cálculo. Também se pode escrever a configuração. Em breve implemento a leitura de configuração, permitindo assim guardar trabalhos. Existe depois um bloco em que o programa mostra os resultados. A ideia é que os resultados fiquem também formatados para poderem ser copiados para um documento, ou que se gere pelo menos parcialmente esse documento. Uma pequena amostra do código e...

Units Conversion - Arkance JavaScript Application Programming Interface (API) for AutoCAD

Imagem
Units Conversion - Arkance JavaScript Application Programming Interface (API) for AutoCAD Na net não há muitos casos de uso, especialmente de softwares comercializados, que usam a API JS Este software tem o aspecto de uma pallete para Autocad, realizado com tecnologias "web". Com um ar bastante profissional como seria adequado para um produto disponível na Autodesk app store: https://apps.autodesk.com/ACD/en/Detail/Index?id=8126638791983384707&appLang=en&os=Win32_64&autostart=true https://www.cadforum.cz/en/javascript-api-support-in-autocad-and-autocad-lt-tip14085 Tem um pacote de instalação msi, que depois instalar no disco, e aí se observam vários ficheiros. Por exemplo que é principalmente um vlx. Lá dentro deve ter as instruções HTML e JS penso eu. E também ficheiros para as janelas de dialogo. É de louvar estes programas pelo menos em parte realizados com base no API do Autocad. https://help.autodesk.com/view/OARX/2025/ENU/?guid=adsk_jsref_javascript_referenc...

JS - Ponto central do veículo em curva

Imagem
JS - Ponto central do veículo em curva Um dos algoritmos interessantes é começar a calcular o ponto central de um veículo em curva. Com o cálculo de pks ao longo do eixo, no caso com um metro, baixa precisão mas para testes serve, é rápido, e com a distância entre Boogies de 9 metros... Interface Produz-se uma listagem de pontos centrais ao longo do eixo. Lista de pontos centrais Isto tem em conta a distância de 9 metros como exemplo e vai marcando um ponto em posição do veículo. Veículo em curva Esta listagem de pontos pode ser lida no LibreCAD e desenhada por cima do eixo/directriz de cálculo. Na imagem abaixo os pontos são a polilinha a branco, que nesta escala se apresenta praticamente sobreposta ao eixo. Pontos Médios e eixo No entanto fazendo um zoom, e medido a distância entre os pontos e o eixo, curva de 100 metros de raio é de 10 cm aproximadamente. Distância Continua...

JS - Leitura de Eixo ISPOL - Problemas com S clotóides e LibreOffice

Imagem
JS - Leitura de Eixo ISPOL - Problemas com S clotóides e LibreOffice Já corrigi os problemas de desenho para as S clotóides, mas apareceram (continuaram) os problemas com a leitura de ficheiros gerados pelo OpenOffice. Estive a corrigir o código, pois os S clotóides não estavam a ser bem desenhados. S Clotóide Não é fácil pois há que atender a uma série de casos diferentes, e a formulação é complexa. Código JS A leitura dos eixos é feita sobre uma tabela Excel, inicialmente desenvolvida no próprio Excel, e agora rearranjada no LibreOffice. Para a leitura de outro exemplo, o processo ficava bloqueado. Tabela Excel O aspecto da tabela é em tudo igual às anteriores mas não estava a funcionar. Experimentei copiar e colar apenas valores. O LibreOffice apresenta a opção de gravar no formato Excel. Gravar em formato Excel Experimentei formatar as células para texto, para números... Depois testei a gravação no formato XLS "antigo" Gravar em XLS Aqui notei, na minha apresentação no pr...