Désolé, votre navigateur ne supporte pas le javascript. Descubra as 925 novas funcionalidades do WINDEV 2025, WEBDEV 2025 e WINDEV Mobile 2025
Bandeau nouveautés

IA Geração de código WLangage instantaneamente

Novidades 001 a 006 WD WB WM

Uma ajuda constante na escrita de código

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.

IA: uma ajuda constante na escrita de código IA: uma ajuda constante na escrita de código
Ícone WLangage

Geração de código para conexão com tecnologias / APIs específicas

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.

Ícone WLangage

Facilitar o aprendizado do WLangage ou de seus domínios

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.

Ícone WLangage

As sugestões melhoram com o tempo

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.

Novo campo Botão Segmentado

Novidades 242 a 246 WD WM
Novo campo botões segmentados

Novo campo Botão Segmentado: apresentação

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.

Os principais parâmetros

  • número de opções
  • conteúdo das opções
  • escolha exclusiva ou múltipla
  • escolha de ancoragem e ajuste automático da largura
  • presença ou não de separador
  • estilo do separador
  • escolha da borda externa e dos botões
  • etc...

É possível transformar (refatorar) um campo Interruptor em um Botão Segmentado múltiplo ou um campo Seletor em um Botão Segmentado exclusivo.

Uma programação simples

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 recuperação do estado de um dos botões
  • a possibilidade de desabilitar ou ocultar um botão
  • a possibilidade de mudar seu rótulo ou tooltip
  • adicionar opções dinamicamente
  • rótulos multilíngues
  • a persistência
  • imagens, texto markdown
  • etc.

Procedimento Reativo Procedimento reativo Um procedimento reativo é executado automaticamente
a cada modificação de um campo ou variável

Novidades 247 a 254 WD

Como declarar um procedimento reativo

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.

As opções do procedimento reativo

Os Procedimentos Reativos oferecem 2 opções:

  • Atraso: ser executado após um atraso fornecido. Por exemplo, o procedimento será executado 100 milissegundos após uma alteração de valor.
  • Execução: é possível programar a execução de um Procedimento Reativo.

Cascade

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!

Um exemplo explicativo

Nesta janela, desejamos realizar os seguintes tratamentos:

  • Enquanto o primeiro interruptor não estiver marcado, o seletor de 3 opções + as 2 combos + o botão validar devem ficar desabilitados.
  • Quando o cliente marcar o primeiro interruptor, todas as opções devem ser habilitadas.
  • Quando o usuário selecionar a primeira opção do seletor de 3 escolhas, a primeira combo deve ser habilitada e a segunda combo desabilitada.
  • Se o usuário selecionar a segunda opção, a primeira combo deve ser desabilitada e a segunda combo habilitada.
  • Se o usuário selecionar a terceira opção, etc...
Exemplo completo de procedimento reativo
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.

Um conceito poderoso

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 exemplo simples

Um preenchimento de valor sem impostos ou com impostos incluídos.

Um exemplo simples de um procedimento reativo

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.

Vantagem: o código é único e centralizado

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.

Logo WLangage

Cofre de Senhas Chega de senhas em texto claro no código

Novidades 116 a 122 WD WB WM

Tudo é automático

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.

Cofre de senhas

Várias senhas de acesso ao cofre

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.

  • senha mestre
  • senha secundária

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.

Senha em texto claro detectada

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.

Novo Modificador

Novidades 062 a 064 WD WB WM

A UX do modificador se adapta ao tipo de campo

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.

Um modificador universal

O novo modificador está disponível para todos os elementos:

  • campo
  • janela
  • página
  • relatório

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.

Novo Painel de Criação de Campos

Novidades 065 a 067 WD WB WM
Novo Painel de Criação de Campo

O Ribbon é bom, mas o painel é melhor

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.

Nova apresentação

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.

Funcionalidades

O painel de criação de campos possui funcionalidades que rapidamente se tornam indispensáveis:

  • Pesquisa inteligente com filtro combinável em tempo real (Exemplo: Data, combo de data, entrada de hora,...)
  • Campos predefinidos
  • Campos favoritos
  • Campos personalizados

Visualização 3D das camadas de uma UI

Novidades 917 a 919 WD WB WM

Novo modo de edição de páginas em 3D em vista explodida

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.

Visualização 3D das camadas de uma UI

Manipulação da visão 3D

A visão 3D pode ser manipulada:

  • rotação
  • zoom
  • afastamento dos campos

Isso permite visualizar facilmente as aninhamentos e empilhamentos dos campos.

Edição simultânea 2D/3D

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.

Let's Encrypt

Um certificado HTTPS para o seu site automaticamente

Novidades 920 a 924 WB

Para que serve um certificado?

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.

HTTPS: Um certificado é necessário

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.

Obter um certificado Let's Encrypt: Automático com WEBDEV 2025

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:

  • solicitação de certificado
  • instalação do certificado
  • renovações do certificado

Um processo simples

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!

Uso de outros certificados

É claro que é possível usar outros tipos de certificados além dos Let's Encrypt.

Nesse caso, basta instalar e gerenciar manualmente esses certificados.

OAuth

Servidor OAuth incluso no Servidor de Aplicações WEBDEV

Novidades 768 a 772 WD WB WM

Para que serve?

O protocolo OAuth é um padrão aberto utilizado para fornecer autorizações seguras.

Um servidor de autenticação OAuth gerencia os seguintes pontos:

  • Autenticação segura
  • Gerenciamento de autorizações
  • Emissão e renovação de tokens de acesso
  • Gerenciamento dos direitos associados ao token ("escopo").

Um servidor de autenticação OAuth pode ser hospedado em um servidor físico de qualquer tipo: rede local ("on premise"), hospedagem, nuvem, etc.

Entregue na versão 2025

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.

Ele gerencia tudo!

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.

Gerenciamento automático do login seguro no seu site.

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.

OAuth

TOKEN, SCOPE & CONSENTIMENTO

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.

Criação de webservices seguros

Novidades 763 a 767 WD WB WM

Webservice com acesso seguro

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 princípio

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.

Esquema de webservice seguro

Como criar um webservice seguro: os detalhes

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.

Autenticação inicial
oauth_parametros é um OAuth2Parametros
         ...
         // Solicitação de autenticação
         MeuToken é um AuthToken = AuthIdentifica(oauth_parametros)
Chamada do webservice seguro
// 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()

Como criar um webservice seguro com diferentes níveis de autorizações

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).

É necessário um servidor OAuth: o seu ou o fornecido

Um webservice seguro requer o uso de um servidor OAuth. O WEBDEV 2025 permite escolher este servidor:

  • Um servidor de terceiros
  • o servidor OAuth fornecido por padrão com o Servidor de Aplicações WEBDEV.

Se usar um servidor de autenticação de terceiros, basta verificar se esse servidor possui os serviços necessários.

Logotipo SSO

SSO: Login Único Autenticação Unificada

Novidades 773 a 780 WB

Princípio geral de interoperabilidade

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.

SSO: um servidor de autenticação incluso

Para que cada site possa operar no modo SSO, esse site deve chamar um servidor de autenticação.
O servidor de autenticação:

  • gerencia o banco de dados de contas e suas senhas
  • exibe a janela de login na primeira conexão
  • envia as informações solicitadas pelo site: nome, sobrenome, e-mail... (Mas nunca a senha)
  • gerencia o logout
  • permite configurar o tempo de vida do token armazenado localmente (em horas, dias, etc.)

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.

Token

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!

Integração do SSO em sites

Para que um site WEBDEV utilize autenticação SSO, duas opções são oferecidas:

Uso do Groupware Utilizador (GPU)

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.

Por programação

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.

WB SSO (Login Único)

Autenticação dupla por SMS Seu aplicativo recupera o SMS e processa automaticamente o código recebido

Novidades 444 a 446 WM
Campo personalizado: Autenticação dupla por SMS

Validação de ação por recepção de um código via SMS

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.

Uma experiência do usuário que depende do sistema operacional

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!

Personalização total

E, claro, este Campo Personalizado é totalmente configurável, tudo pode ser modificado e personalizado: campo, código, etc.

Fatura eletrônica

Novidades 148 a 149 WD WB WM

O princípio da fatura eletrônica

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:

  • gerar as faturas em PDF A/3
  • gerar o arquivo XML correspondente
  • integrar o XML no PDF
  • assinar o PDF final (com gerenciamento de certificados eletrônicos de nível RGS e eIDAS)

Enviar, recuperar

WINDEV possui todas as funcionalidades para enviar as faturas (vendedor) ao portal público e recuperar as faturas (fornecedor) do portal:

  • chamadas de webservices REST
  • suporte para OpenAPI
  • recuperação e análise do XML anexado
  • verificação da assinatura do PDF (ao receber faturas)
  • serviço Windows de consulta ao Portal Público

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.

Template Esmeralda

Novo template para WINDEV Mobile

Novo template para Mobile

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.

Fale Conosco