A geração de código WLangage instantânea por Inteligência Artificial na versão 2025 oferece sugestões em tempo real durante a digitação do código, reduzindo o tempo necessário para as fases de codificação.
Um dos benefícios da geração de código WLangage por IA é quando um desenvolvedor precisa programar para uma área que ele não conhece bem.
Escrever um comentário descrevendo o que o código deve fazer gera automaticamente o código-fonte correspondente, adaptado ao contexto do código e do projeto.
A geração de código WLangage por IA também é útil para desenvolvedores iniciantes no WINDEV, ajudando-os a descobrir mais facilmente as incríveis possibilidades do L5G.
Aqui também, escrever um comentário descrevendo o que o código deve fazer gera automaticamente o código-fonte correspondente, adaptado ao contexto do código e do projeto.
A funcionalidade de IA generativa está disponível em versão de preview.
Novas funcionalidades serão introduzidas ao longo do tempo, e o próprio motor se aperfeiçoará por meio de aprendizado automático.
O novo campo Botão Segmentado funciona como um grupo de botões ON/OFF reunidos em um único campo.
A aparência visual é automaticamente mais sofisticada.
O funcionamento é padronizado: escolha exclusiva ou múltipla é possível.
O conteúdo de cada opção pode ser um texto ou uma imagem. A programação é muito mais simples.
É possível transformar (refatorar) um campo Interruptor em um Botão Segmentado múltiplo ou um campo Seletor em um Botão Segmentado exclusivo.
A programação de um Botão Segmentado é muito mais simples do que a de um conjunto de Seletores, Interruptores ou Botões ON/OFF.
A programação de um Botão Segmentado permite:
A palavra-chave Reativo indica que o procedimento deve monitorar as variáveis e os campos utilizados em seu código. E, claro, ser executado em caso de modificação.
Um Procedimento Reativo pode ser um procedimento global no projeto (e, portanto, reativo permanentemente), um procedimento local de janela ou um procedimento local de campo.
Os Procedimentos Reativos oferecem 2 opções:
Um Procedimento Reativo pode modificar uma variável ou um campo, que também são usados por outro Procedimento Reativo. Nesse caso, o outro Procedimento Reativo será executado.
O framework conta com mecanismos de segurança: em caso de ciclo, o framework lida com isso!
Nesta janela, desejamos realizar os seguintes tratamentos:
PROCEDURE Gerencia_Entrega()<atraso=1s>
GR_ENTREGA..Disabled = True // By default
IF INT_CGV[1] = true THEN
SEL_MODE_ENTREGA..Disabled = False
SECOND SEL_MODE_ENTREGA
CASE 1 // Delivery to an address
COMBO_ENDERECO..Disabled = False
CASE 2 // Delivery to pickup point
COMBO_PONTO_COLETA..Disabled = False
CASE 3 // In-store pickup
END
END
Com um Procedimento Reativo: 11 linhas de código extremamente simples! Neste exemplo, basta criar um Procedimento Local na janela e declará-lo como Reativo, e pronto!
Este procedimento será executado automaticamente quando INT_CGV ou SEL_MODE_ENTREGA mudar de valor, por exemplo, após um clique do usuário.
Os Procedimentos Reativos permitem disparar automaticamente a execução de tratamentos.
Um Procedimento Reativo é executado automaticamente quando uma variável ou quando o valor ou o conteúdo de um campo utilizado no procedimento é alterado, seja pelo usuário final ou por programação.
Uma variável ou campo muda? O Procedimento é executado!
Um preenchimento de valor sem impostos ou com impostos incluídos.
O funcionamento esperado é o seguinte: ao preencher um valor em um campo, os outros campos são atualizados automaticamente.
É claro que é possível codificar esse funcionamento em WLangage, diretamente em cada campo relevante.
Nesse caso, é necessário criar um procedimento que realiza o cálculo e colocá-lo no Tratamento de Modificação de cada um dos 3 campos.
Na versão 2025, basta indicar que o procedimento de cálculo é um Procedimento Reativo.
O framework do WINDEV monitora as mudanças nos valores dos campos e variáveis e executa automaticamente o procedimento quando uma alteração é detectada.
Não há necessidade de codificar em cada lugar ou campo onde a modificação pode ocorrer.
Não há nenhuma manipulação a ser feita, nenhum arquivo a ser incluído, nenhum parâmetro a ser definido: ao usar um cofre, ele é automaticamente embarcado com o seu executável. Esse é um dos benefícios da integração total do WINDEV.
O acesso ao cofre de senhas é protegido por uma senha. É possível criar várias senhas diferentes para acessar o mesmo cofre.
Existem 2 níveis de senha.
Por exemplo, o gerente do projeto pode ter a senha mestre e criar uma senha secundária para cada desenvolvedor autorizado a criar ou modificar senhas.
Na versão 2025, senhas indicadas em texto claro no código geram um aviso durante a compilação. Esta verificação pode ser ativada nas opções de compilação.
O novo modificador é uma ferramenta da qual você não vai querer abrir mão!
Ele apresenta de forma inteligente e agradável as propriedades do campo atual, do grupo de campos ou da janela ou página em questão.
As propriedades são classificadas por ordem de relevância, dependendo do campo. A interface de edição de cada propriedade é visual.
O novo modificador está disponível para todos os elementos:
A apresentação é adaptada para cada elemento, mantendo uma coerência global.
As modificações feitas no novo modificador são aplicadas em tempo real ao elemento atual.
O número de campos oferecidos é tão grande que o ribbon fica sobrecarregado.
Na versão 2025, uma nova apresentação por Painel de Criação é oferecida.
O modo Ribbon ainda existe.
A apresentação dos campos por painel é muito mais clara. Os campos são classificados.
Cada campo é apresentado em uma vinheta.
O painel pode ser posicionado à direita ou à esquerda do ambiente ou ser desacoplado.
O painel de criação de campos possui funcionalidades que rapidamente se tornam indispensáveis:
O editor de páginas do WEBDEV 2025 traz uma novidade muito útil: a visualização 3D sofisticada dos campos da página.
Essa visão 3D rapidamente se torna indispensável para gerenciar campos contêineres: flexbox, células...
Essa visão 3D está disponível tanto para a página inteira quanto para um contêiner específico.
A visão 3D permite selecionar um campo e abrir as “7 abas” desse campo.
A visão 3D pode ser manipulada:
Isso permite visualizar facilmente as aninhamentos e empilhamentos dos campos.
Funcionalidade poderosa, é possível editar simultaneamente a visualização 2D e a 3D.
Quando um campo é selecionado em uma visualização, ele é automaticamente selecionado na outra visualização.
É possível, portanto, selecionar um campo na visão 3D e editá-lo imediatamente em 2D.
A presença de um certificado em um servidor HTTPS garante ao usuário que ele está acessando o domínio correto.
Não é possível falsificar o nome de domínio.
Um site na Internet é acessível pelo protocolo HTTP.
HTTPS é a versão segura do HTTP.
Navegadores recentes quase não permitem mais navegação em sites que não utilizam HTTPS.
Portanto, a instalação de um site requer a implementação do protocolo HTTPS e a presença de um certificado no servidor.
Os certificados Let's Encrypt são amplamente utilizados. Esses certificados gratuitos são gerados automaticamente pela organização ISRG, principalmente apoiada pelo Google.
A versão 2025 do Servidor de Aplicações WEBDEV gerencia automaticamente:
Para usar um certificado Let's Encrypt em um servidor WEBDEV, basta marcar a opção "Gerar automaticamente um certificado Let's Encrypt" na conta para a qual o certificado deve ser ativado.
É possível especificar o(s) domínio(s) que serão protegidos pelo certificado.
O Servidor de Aplicações WEBDEV 2025 cuida de tudo!
É claro que é possível usar outros tipos de certificados além dos Let's Encrypt.
Nesse caso, basta instalar e gerenciar manualmente esses certificados.
O protocolo OAuth é um padrão aberto utilizado para fornecer autorizações seguras.
Um servidor de autenticação OAuth gerencia os seguintes pontos:
Um servidor de autenticação OAuth pode ser hospedado em um servidor físico de qualquer tipo: rede local ("on premise"), hospedagem, nuvem, etc.
Um servidor de autenticação OAuth está presente por padrão no Servidor de Aplicações WEBDEV 2025.
Para utilizar este servidor de autenticação, basta ativar a funcionalidade de Servidor de Autenticação OAuth durante a instalação do Servidor de Aplicações WEBDEV 2025.
O uso deste servidor de autenticação torna a instalação, administração e programação extremamente simples, sem custo adicional ao Servidor de Aplicações.
Este servidor de autenticação também pode ser utilizado para autenticação SSO.
O servidor de autenticação OAuth fornecido com o WEBDEV 2025 oferece todas as funcionalidades esperadas.
Em particular, o servidor gerencia uma base de dados de contas. O servidor oferece um site de administração da base de contas: criação e edição de contas, importação de LDAP, etc.
A implementação de uma autenticação OAuth para acesso a um site ou aplicativo requer a inserção de um login.
O gerenciamento desta inserção é feito pelo servidor de autenticação.
A página de inserção é personalizável.
Esta página gerencia a recuperação de senha.
A criação de uma nova conta é possível a partir da página de login.
A autenticação de dois fatores (por e-mail e por Authenticator) é suportada.
A função WLangage AuthIdentifie permite gerenciar a autenticação, exibindo a página de login.
Uma linguagem de terceiros pode usar o servidor de autenticação WEBDEV por meio de requisições HTTP.
Um token é um identificador temporário gerado pelo servidor, que identifica o usuário.
Durante a criação das credenciais OAuth (IDClient e IDSecret), é possível definir permissões (os "scopes") que gerenciam as autorizações do token gerado.
O servidor OAuth gerencia automaticamente o pedido de consentimento do usuário para utilizar uma ou mais permissões (scopes) oferecidas.
A renovação do token é gerida automaticamente.
WEBDEV permite criar facilmente webservices REST.
Na versão 2025, o WEBDEV também permite criar facilmente Webservices REST com acesso seguro por token OAuth.
WEBDEV 2025 cuida de tudo!
O acesso ao webservice requer a apresentação de um token.
O chamador do webservice deve, portanto, obter este token.
Um protocolo padrão para obter este token é o OAuth.
Lembrete: OAuth permite gerenciar permissões de acesso.
Este token é fornecido por um servidor de autenticação, baseado em um protocolo OAuth.
Basta criar um webservice da maneira habitual. Na descrição do webservice, você deve indicar o endereço do servidor de autenticação que será utilizado.
Não há mais nada a programar graças ao WEBDEV 2025.
oauth_parametros é um OAuth2Parametros
...
// Solicitação de autenticação
MeuToken é um AuthToken = AuthIdentifica(oauth_parametros)
// Recuperação do número de faturas do usuário conectado
req é uma httpSolicitacao
req.AuthToken = MeuToken
req.URL = "http://serv.minhaempresa.com/V1/Faturamento/Fatura?num_fatura=" + num
req.Envia()
Para autorizações mais refinadas, por exemplo, concedidas a usuários específicos, é possível usar o conceito de permissão (escopo).
Trata-se de uma autorização definida no servidor de autenticação, com uma interface de usuário.
Exemplo de permissão: acesso de escrita, acesso a um recurso específico, etc.
Para cada ponto de entrada do webservice, é possível indicar o(s) escopo(s) necessário(s).
Um webservice seguro requer o uso de um servidor OAuth. O WEBDEV 2025 permite escolher este servidor:
Se usar um servidor de autenticação de terceiros, basta verificar se esse servidor possui os serviços necessários.
SSO é a sigla para "Single Sign On", que pode ser traduzido como "Autenticar-se uma única vez para todos".
O SSO permite que o usuário se autentique uma única vez, com suas credenciais sendo automaticamente reconhecidas em todos os sites compatíveis, sem a necessidade de digitá-las novamente.
O login e senha são armazenados apenas no servidor de autenticação, garantindo segurança e simplificando o acesso aos sites.
Tudo é gerenciado automaticamente para sites desenvolvidos com WEBDEV 2025.
Para que cada site possa operar no modo SSO, esse site deve chamar um servidor de autenticação.
O servidor de autenticação:
Este servidor de autenticação é incluído no padrão com o Servidor de Aplicação WEBDEV 2025.
O protocolo usado pelo WEBDEV 2025 é o protocolo padrão OpenID Connect, o que permite que sites não desenvolvidos com WEBDEV utilizem esse servidor de autenticação.
Qualquer site que deseja usar um SSO específico deve conhecer uma chave secreta fornecida pelo servidor de autenticação.
Para autenticar um usuário, o site deve chamar a função WLangage AuthIdentifie, cujo parâmetro é essa chave secreta.
A primeira autenticação de um usuário exibe a página de login do servidor de autenticação. Uma vez conectado, o servidor emite um Token (armazenado em um cookie).
As autenticações subsequentes detectam automaticamente esse cookie e validam o acesso ao site de forma silenciosa.
Não há necessidade de programação: tudo é feito automaticamente pela função WLangage AuthIdentifie!
Para que um site WEBDEV utilize autenticação SSO, duas opções são oferecidas:
A maneira mais simples de usar SSO em um site WEBDEV é utilizar o GPU integrado. Com esse método, basta informar os parâmetros de acesso ao servidor de autenticação na janela de configuração do GPU. Não há nada mais simples.
O método por programação é destinado a sites que não utilizam o GPU.
A programação continua simples graças às funções WLangage AuthIdentifie e OpenIDIdentifie.
Um procedimento comum de validação em um aplicativo é solicitar a inserção de um código recebido por SMS.
Inserir códigos no processo de pagamento ou identificação muitas vezes é tedioso para o usuário, que deve alternar entre vários aplicativos.
O Campo Personalizado "Recuperação de código via SMS" permite que seu aplicativo automatize a recuperação e inserção do código.
Este Campo Personalizado utiliza, entre outras, a nova função WLangage SMSDetectaCodigoUsoUnico.
A experiência de uso do Campo Personalizado dependerá do sistema operacional do usuário.
No Android, a operação é totalmente transparente, enquanto o iOS adiciona uma segurança solicitando um clique do usuário final.
Todos esses aspectos são gerenciados automaticamente por este novo Campo Personalizado da versão 2025: basta copiar o Campo para seu aplicativo!
E, claro, este Campo Personalizado é totalmente configurável, tudo pode ser modificado e personalizado: campo, código, etc.
Uma fatura eletrônica se apresenta como um documento PDF A/3 (legível por humanos) e um documento XML (para aplicativos) que contém os dados da fatura. WINDEV permite:
WINDEV possui todas as funcionalidades para enviar as faturas (vendedor) ao portal público e recuperar as faturas (fornecedor) do portal:
Já era possível automatizar as integrações com o portal francês Chorus Pro (implantado para contratos públicos). A criação de faturas eletrônicas no formato Factur-X também é possível.
O template "Esmeralda" para dispositivos móveis é entregue com a versão 2025: use-o livremente para personalizar seus apps!
Use esses templates livremente para seus aplicativos e softwares, além de todos os templates fornecidos com WINDEV Mobile.
E não se esqueça: você pode aplicar uma paleta para alterar as cores e também criar seus próprios templates.