Désolé, votre navigateur ne supporte pas le javascript. Descubra las 925 novedades de WINDEV, WEBDEV y WINDEV Mobile 2025
Banner de novedades
Descubra las 925 novedades de WINDEV, WEBDEV y WINDEV Mobile 2025

Generación de código WLanguage con IA

Novedades 001 a 006 WD WB WM

IA generativa de código

El generador de código con IA de la versión 2025 proporciona sugerencias de código en WLanguage a medida que escribe, lo que reduce drásticamente el tiempo de programación.

IA generativa de código IA generativa de código
Ícono WLanguage

Sugerencias de código para conectarse a tecnologías/API específicas

Una de las ventajas de la generación de código WLanguage con IA se pone en evidencia cuando los desarrolladores necesitan programar para un dominio con el que no están familiarizados.

Ahora los desarrolladores solo tienen que escribir un comentario describiendo el proceso deseado y la IA generará sugerencias basadas en el contexto del código actual y del proyecto.

Ícono WLanguage

Facilita el aprendizaje de WLanguage o dominios de WLanguage

La generación de código WLanguage basada en IA también es útil para los desarrolladores nuevos en WINDEV, dado que les permite descubrir las increíbles posibilidades de un lenguaje de quinta generación (5GL).

En este caso también, basta con describir el proceso deseado y el código correspondiente se generará basado en el contexto del código y del proyecto actuales.

Ícono WLanguage

Las sugerencias mejoran con el tiempo

Esta IA generativa de código se ofrece en una fase relativamente temprana.

Con el tiempo se irán añadiendo nuevas funcionalidades, y el propio motor mejorará de forma autónoma mediante el aprendizaje automático.

Nuevo control Botón segmentado

Novedades 242 a 246 WD WM
Nuevo control Botón segmentado

Presentación del control Botón segmentado

El nuevo control Botón segmentado funciona como un conjunto de botones ON/OFF agrupados en un solo control.

Todos sus elementos utilizan un diseño coherente.

Además, admite opciones únicas y múltiples.

Cada opción puede contener texto o una imagen. La programación es muy sencilla.

Principales ajustes

  • número de opciones
  • contenido de cada opción
  • elección única o múltiple
  • opciones de anclaje y ajuste horizontal automático
  • separadores
  • estilo de los separadores
  • bordes externos y bordes de los botones
  • etc.

Puede transformar un control Casilla de verificación en un control Botón segmentado de opción múltiple, o un control Botón de opción en un control Botón segmentado de opción única.

Programación sencilla

Programar un Botón segmentado es mucho más sencillo que programar un conjunto de controles Botón de opción, Casilla de verificación o Interruptor.

Puede definir las siguientes opciones en el código de un Botón segmentado:

  • obtener el estado de uno de los botones
  • deshabilitar u ocultar un botón
  • cambiar el texto principal o el tooltip
  • agregar opciones dinámicamente
  • definir texto multilingüe
  • definir las opciones de persistencia
  • utilizar imágenes, texto Markdown
  • etc.

Procedimiento reactivo Procedimiento reactivo Un procedimiento reactivo se ejecuta automáticamente
cuando se modifica un control o una variable

Novedades 247 a 254 WD

Cómo declarar un procedimiento reactivo

La palabra clave Reactive indica que el procedimiento debe observar las variables y controles utilizados en el código y ejecutarse si se detecta algún cambio.

Un procedimiento reactivo puede ser global (y por tanto permanentemente reactivo), local a una ventana o local a un control.

Opciones de procedimientos reactivos

Los procedimientos reactivos proponen 2 opciones:

  • Límite de tiempo: Esta opción define el periodo de tiempo tras el cual debe ejecutarse el procedimiento. Por ejemplo, 100 milisegundos después de un cambio de valor.
  • Ejecución: Esta opción desencadena la ejecución de un procedimiento reactivo mediante programación.

Cascada

Un procedimiento reactivo puede modificar una variable o un control utilizados por otro procedimiento reactivo. En este caso, se ejecutará el otro procedimiento reactivo.

El framework implementa los mecanismos de seguridad necesarios para evitar llamadas en bucle, por ejemplo.

Ejemplo práctico

El comportamiento de esta ventana debe ser el siguiente:

  • Las tres opciones del botón de opción, los dos cuadros combinados y el botón OK deben permanecer deshabilitados hasta que se seleccione la casilla de verificación
  • Una vez que el usuario seleccione la casilla, se habilitarán todas las opciones
  • Cuando el usuario seleccione la primera opción del botón de opción, se habilitará el primer cuadro combinado y deshabilitará el segundo
  • Cuando el usuario seleccione la segunda opción del botón de opción, se habilitará el segundo cuadro combinado y se deshabilitará el primero
  • El mismo proceso se debe aplicar para la tercera opción
Ejemplo completo de un procedimiento reactivo
REACTIVE PROCEDURE Shipping_modes()<delay=1s>
  GR_SHIPPING..Grayed = True // Default
    
  IF CBOX_GTC[1] = True THEN
    RADIO_SHIPPING_MODE..Grayed = False

    SWITCH RADIO_SHIPPING_MODE
      CASE 1 // Delivery to one address
        COMBO_ADDRESS..Grayed = False
      CASE 2 // Delivery to a relay point
        COMBO_RELAY_POINT..Grayed = False
      CASE 3 // Store pickup
    END
  END

Con un procedimiento reactivo, todos estos procesos se reducen a 11 simples líneas de código. En este ejemplo, solo es necesario crear un procedimiento local en la ventana, y declararlo como un procedimiento reactivo.

Este procedimiento se ejecutará automáticamente cuando CBOX_GTC o RADIO_SHIPPING_MODE cambien de valor, por ejemplo, cuando un usuario seleccione una opción.

Un concepto poderoso

Los procedimientos reactivos permiten desencadenar automáticamente la ejecución de procesos.

Un procedimiento reactivo se ejecuta cuando el valor de una variable o el contenido de un control utilizado en el procedimiento cambia, ya sea mediante programación o por una acción del usuario final.

En resumen, el procedimiento se ejecuta automáticamente cuando se modifica una variable o un control.

Ejemplo sencillo

Entrada de un importe antes y después de impuestos.

Ejemplo sencillo de un procedimiento reactivo

Cuando se introduce un importe en un control, los demás controles se actualizan automáticamente.

También es posible escribir esta operación en WLanguage, directamente en cada control.

En ese caso, tendría que crear un procedimiento que realice el cálculo, e incluir una llamada en ese procedimiento, en el proceso de Modificación de cada uno de los 3 controles.

Código único y centralizado

En la versión 2025, solo es necesario indicar que el procedimiento de cálculo es un procedimiento reactivo.

El framework de WINDEV observa los controles y los valores de las variables y ejecuta automáticamente el procedimiento cuando se detecta un cambio.

No es necesario escribir las llamadas en cada control en el que se pueden realizar cambios.

Logo WLangage

Almacén de contraseñas No más contraseñas legibles en el código

Novedades 116 a 122 WD WB WM

Automatización total

No es necesario realizar acciones manuales, cargar archivos o definir parámetros. Cuando utiliza un almacén de contraseñas, éste se carga automáticamente con el programa ejecutable. Otra ventaja más de la integración total de WINDEV.

Almacén de contraseñas

Contraseñas para acceder a un almacén

El almacén mismo está protegido por una contraseña. Puede crear varias contraseñas para acceder a un almacén.

Existen dos niveles de contraseña:

  • contraseña maestra
  • contraseña secundaria

Por ejemplo, el director del proyecto puede tener la contraseña maestra y crear una contraseña secundaria para cada desarrollador que esté autorizado a crear o modificar contraseñas.

Detección de contraseñas legibles

En la versión 2025, se detectan las contraseñas legibles en el código y se genera una advertencia en tiempo de compilación. Esta verificación puede activarse en las opciones del compilador.

Nuevo modificador

Novedades 062 a 064 WD WB WM

La UX del modificador se adapta al tipo de control

El nuevo modificador se convertirá rápidamente en una herramienta indispensable en su flujo de trabajo.

Este nuevo panel ofrece una vista inteligente e intuitiva de las propiedades de la ventana, página, control o grupo de controles en edición.

Las propiedades se ordenan por relevancia, según el control. Cada propiedad se representa de forma visual, lo que proporciona una mejor experiencia de usuario.

Modificador universal

El nuevo modificador está disponible para todos los elementos:

  • control
  • ventana
  • página
  • reporte

La vista se adapta a cada elemento, pero mantiene una coherencia global.

Los cambios que se realizan en el nuevo modificador se reflejan inmediatamente en el elemento actual.

Nuevo panel de creación de controles

Novedades 065 a 067 WD WB WM
Nuevo panel de creación de controles

Las cintas de opciones son prácticas, pero los paneles son aún mejores

La cinta de opciones contiene todos los controles disponibles. Sin embargo, entre tantos elementos puede resultar difícil encontrar el control deseado.

En la versión 2025, un nuevo panel le permite crear controles fácilmente.

La cinta de opciones sigue estando disponible.

Nuevo diseño

El nuevo panel ofrece una disposición mucho más clara. Los controles están agrupados por categorías.

Cada control se muestra en una miniatura.

El panel puede ubicarse a la derecha o a la izquierda del entorno, o puede desacoplarse.

Características

El panel de creación de controles contiene una serie de funcionalidades esenciales:

  • Modo de búsqueda intuitivo que filtra los resultados a medida que escribe una o varias palabras clave (por ejemplo: fecha, Combo Box de selección de año, entrada de hora, etc.)
  • Controles predefinidos
  • Controles Favoritos
  • Controles Smart

Vista 3D de las capas de la UI

Novedades 917 a 919 WD WB WM

Nuevo modo de edición de páginas con vista explosionada en 3D

El editor de páginas de WEBDEV 2025 presenta una increíble novedad: una sofisticada vista 3D de los controles de la página.

La vista 3D le ayudará a manipular fácilmente los controles contenedores: Flexbox, celdas, etc.

Puede activar la vista 3D para toda la página o para un contenedor determinado.

Esta vista 3D también permite seleccionar y abrir la ventana de descripción de cualquier control.

Vista 3D de las capas de la UI

Manipulación de la vista 3D

La vista 3D incluye las siguientes características:

  • rotación
  • zoom
  • separación de controles

Esto facilita la visualización de controles anidados y apilados.

Edición simultánea 2D/3D

Puede trabajar en vistas 2D y 3D de forma simultánea.

Cuando selecciona un control en una vista, este se selecciona automáticamente en la otra.

Por lo tanto, puede seleccionar un control en la vista 3D y editarlo inmediatamente en 2D.

Lets Encrypt

Utilice un certificado para habilitar HTTPS en sus sitios web

Novedades 920 a 924 WB

¿Para qué sirve un certificado?

La presencia de un certificado en un servidor garantiza que los usuarios visiten el dominio buscan.

Los certificados evitan la suplantación del nombre de dominio.

El certificado es necesario para activar HTTPS

Los sitios web son accesibles a través de HTTP.
HTTPS es la versión segura de HTTP.

Los navegadores modernos ya no permiten visitar sitios web que no utilicen HTTPS.

Por lo tanto, la instalación de un sitio web requiere la implementación de HTTPS y, por lo tanto, la presencia de un certificado en el servidor.

Obtener un certificado Let's Encrypt con WEBDEV 2025 de forma predeterminada

Los certificados Let's Encrypt son ampliamente utilizados. Se trata de certificados gratuitos generados automáticamente por la organización ISRG, que cuenta principalmente con el apoyo financiero de Google.

WEBDEV Application Server 2025 gestiona automáticamente:

  • solicitudes de certificados
  • instalación del certificado
  • renovación del certificado

Un modo de funcionamiento simple

Para utilizar un certificado Let's Encrypt en un servidor WEBDEV, basta con marcar la casilla "Generar automáticamente un certificado Let's Encrypt" en la cuenta para la que se desea activar el certificado.

Puede especificar el nombre o los nombres de dominio que estarán protegidos por el certificado.

¡WEBDEV Application Server 2025 se encarga de todo!

Uso de otros certificados

Puede utilizar certificados distintos de los de Let's Encrypt.

En este caso, debe instalar y gestionar los certificados manualmente.

Servidor OAuth incluido en WEBDEV Application Server

Servidor OAuth incluido en WEBDEV Application Server

Novedades 768 a 772 WD WB WM

¿Para qué se utiliza?

El protocolo OAuth es un estándar abierto utilizado para emitir autorizaciones seguras.

Un servidor de autenticación OAuth gestiona los siguientes aspectos:

  • Autenticación segura
  • Autorizaciones
  • Tokens de acceso y tokens de actualización
  • Permisos asociados a los tokens ("scopes").

Un servidor de autenticación OAuth puede estar alojado en un servidor físico de cualquier tipo: red local ("on premise"), proveedor de alojamiento, nube, etc.

Incluido en la versión 2025

De forma predeterminada, WEBDEV Application Server 2025 incluye un servidor de autenticación OAuth.

Para utilizar este servidor de autenticación, basta con activar la opción del servidor de autenticación OAuth al instalar WEBDEV Application Server en la versión 2025.

Este servidor de autenticación simplifica enormemente la instalación, administración y programación, sin costos adicionales.

Este servidor de autenticación también puede utilizarse para la autenticación SSO.

¡Se encarga de todo!

El servidor de autenticación OAuth proporcionado con WEBDEV 2025 incluye todas las funcionalidades que pueda necesitar.

El servidor gestiona una base de datos de cuentas, así como un sitio web para administrar, crear y editar cuentas o importarlas de un directorio LDAP, etc.

Gestión automática del inicio de sesión en el sitio web

Una vez implementada la autenticación OAuth en un sitio web o aplicación, los usuarios deben proporcionar sus credenciales de inicio de sesión.

Esta etapa la gestiona el servidor de autenticación.

Puede personalizar la página de inicio de sesión.
Si un usuario olvida su contraseña, esta página le permite obtener una nueva.

También puede crear nuevas cuentas desde la página de inicio de sesión.

Se acepta la verificación en dos pasos (por correo electrónico o aplicaciones de autenticación).

La función AuthIdentify de WLanguage gestiona la autenticación y abre la página de inicio de sesión.

Un lenguaje de terceros puede utilizar el servidor de autenticación de WEBDEV a través de solicitudes HTTP.

Servidor OAuth incluido en WEBDEV Application Server

TOKEN, PERMISOS & CONSENTIMIENTO

Los tokens son generados por el servidor e identifican a un usuario determinado.

Al crear credenciales de OAuth (par "Client ID/Secret"), puede definir permisos que determinan las autorizaciones del token.

El servidor de OAuth gestiona automáticamente la solicitud del usuario para utilizar uno o más permisos disponibles.

Los tokens se actualizan automáticamente.

Crear servicios web seguros

Novedades 763 a 767 WD WB WM

Acceso seguro a servicios web

WEBDEV permite crear fácilmente servicios web REST.

En la versión 2025, también puede crear servicios web REST que requieran un token de acceso OAuth.

¡WEBDEV 2025 se encarga de todo!

¿Cómo funciona?

Para acceder a determinados servicios web, se requiere un token de acceso.

Por lo tanto, los usuarios deben obtener un token para llamar a los servicios web.

OAuth es un protocolo estándar que les permite obtener este token.

Recordatorio: OAuth permite gestionar las autorizaciones de acceso.

Este token es proporcionado por un servidor de autenticación, utilizando el protocolo OAuth.

Esquema de servicio web seguro

Cómo crear un servicio web seguro

Basta con crear un servicio web como de costumbre. En la descripción del servicio web, especifique la dirección del servidor de autenticación deseado.

Con WEBDEV 2025, no se requiere programación adicional.

Autenticación inicial
oauth_parameters is OAuth2Parameters
...
// Authentication request
MyToken is AuthToken = AuthIdentify(oauth_parametres)
Llamada al servicio web seguro
// Retrieve number of invoices for the logged-in user
req is httpRequest
req.AuthToken = MyToken
req.URL = "http://serv.mycompany.com/V1/Billing/Invoice?num_invoice=" + num
req.Send()

Cómo crear un servicio web seguro con distintos niveles de autorización

Para autorizaciones más específicas, puede utilizar permisos detallados, conocidos como "scopes".

Este tipo de autorización se define a través de una interfaz específica en el servidor de autenticación.

Algunos ejemplos son: acceso en modo de escritura, acceso a un recurso específico, etc.

Puede especificar los permisos necesarios para cada punto de entrada del servicio web.

Utilice el servidor OAuth que mejor se adapte a sus necesidades

Un servicio web seguro requiere un servidor OAuth. WEBDEV 2025 permite elegir entre:

  • un servidor de terceros
  • el servidor OAuth proporcionado con WEBDEV Application Server.

Si utiliza un servidor de autenticación de terceros, simplemente compruebe que dispone de los servicios necesarios.

SSO: Inicio de sesión único

SSO: Inicio de sesión único Autenticación unificada

Novedades 773 a 780 WB

Interoperabilidad

El inicio de sesión único (SSO) ofrece un enfoque práctico en el proceso de autenticación de usuarios.

Los usuarios introducen sus credenciales de inicio de sesión una vez, y estas son reconocidas automáticamente por todos los demás sitios web a los que acceden. Esto significa que los usuarios no necesitan introducir sus credenciales de acceso varias veces.

El nombre de usuario y la contraseña solo se almacenan en el servidor de autenticación, lo que garantiza la seguridad y facilita el acceso a los sitios

Todo se gestiona automáticamente para los sitios desarrollados con WEBDEV 2025.

SSO: Servidor de autenticación incluido

Cada sitio que utilice el inicio de sesión único debe llamar a un servidor de autenticación.
El servidor de autenticación:

  • gestiona la base de datos de cuentas y sus contraseñas
  • muestra la ventana de conexión para el primer inicio de sesión
  • devuelve la información solicitada por el sitio: nombre, apellido, correo electrónico, etc., pero no la contraseña
  • gestiona el cierre de sesión
  • permite establecer el tiempo de vida del token de acceso almacenado en el equipo local (en horas, días, etc.)

Este servidor de autenticación viene con WEBDEV Application Server 2025.

WEBDEV 2025 utiliza el protocolo OpenID Connect, que permite a otros sitios web (no desarrollados con WEBDEV) utilizar este servidor de autenticación.

Tokens

Para implementar el inicio de sesión único, los sitios web deben conocer una clave secreta emitida por el servidor de autenticación.
Para autenticar a un usuario, el sitio web debe llamar a la función AuthIdentify de WLanguage, que incluye entre sus parámetros esta clave secreta.

La primera vez que un usuario intenta iniciar sesión, se muestra una página de inicio de sesión definida por el servidor de autenticación. Una vez iniciada la sesión, el servidor emite un token (almacenado en una cookie).

La próxima vez que se inicie sesión, se detectará automáticamente esta cookie y se validará el acceso al sitio.
No se requiere programación adicional. La función AuthIdentify de WLanguage se encarga de todo.

Métodos de integración del SSO

Existen dos métodos para implementar el inicio de sesión único en un sitio WEBDEV:

Groupware Usuario

La forma más sencilla de implementar el inicio de sesión único en un sitio WEBDEV es utilizar el Groupware Usuario integrado. Con este método, solo necesita especificar los parámetros de acceso al servidor de autenticación en la ventana de configuración del GPU.

Mediante programación

Este método es el más adecuado para sitios que no utilizan el Groupware Usuario.

La programación sigue siendo igual de fácil gracias a las funciones AuthIdentify y OpenIDIdentify de WLanguage.

SSO: Inicio de sesión único

Reportes a doble cara utilizando dos reportes diferentes

Novedades 230 a 233 WD WB WM
Ejemplo de vista previa de un reporte a doble cara

Ejemplo: Impresión de las condiciones generales de venta en el reverso de una factura

Un reporte impreso puede contener distintos tipos de contenido en el anverso y el reverso de la página.

Un ejemplo típico es una factura, impresa en una cara de la hoja, con las condiciones generales de venta impresas en el reverso.

En la versión 2025, puede imprimir dos reportes diferentes en ambas caras del papel.

La vista previa de un reporte que contiene un anverso y un reverso diferentes muestra las páginas una al lado de la otra.

¿Cómo funciona?

La nueva función iInitReportVerso de WLanguage permite especificar el nombre del reporte que se imprimirá en el reverso.

Este reporte puede imprimirse en una sola página o en varias.

Si hay más páginas en el reverso que en el anverso, puede utilizar páginas "en blanco" en el anverso.

También puede utilizar un documento PDF en el reverso de cada página.

// Print the General Terms and Conditions on the back of the invoice
iInitReportVerso(RPT_GTC)
iPrintReport(RPT_Invoice, Invoice_Number)

Escanee con el teléfono Transforme una serie de fotos en un archivo PDF

Novedades 454 a 457 WM

Cree un documento PDF a partir de fotos tomadas con el teléfono

Las nuevas funciones ScanFromCameraToImage y ScanFromCameraToPDF de WLanguage permiten tomar fotos con un smartphone y transformarlas en un documento listo para usar.

Los elementos no deseados se eliminan y, si es necesario, se corrige la distorsión de la perspectiva.

Un caso común es el escaneo de un documento firmado a mano.

Escanee con el teléfono

Automatización total

La función WLanguage captura la imagen, detecta el documento y crea una representación dentro de un paralelogramo. El usuario puede ajustar el área del documento.

Una vez que el usuario confirma los cambios, se corrige cualquier distorsión de la perspectiva.

Los usuarios pueden escanear varias páginas seguidas.

En ese caso, se generará un solo archivo PDF con todas las páginas.

Opciones avanzadas

El escaneo incluye algunas opciones avanzadas. En este modo, el resultado devuelto es un array de variables de tipo Image.

Esto permite realizar todos los procesos específicos necesarios.

Por ejemplo, puede utilizar el OCR en imágenes escaneadas llamando a las funciones OCRDetectTextArea y OCRExtractTextBlock de WLanguage.

Verificación en dos pasos por SMS La aplicación identifica el SMS y procesa automáticamente el código recibido

Novedades 444 a 446 WM
Control Smart: Verificación en dos pasos por SMS

Obtener códigos de un solo uso para ayudar a los usuarios a confirmar acciones

Una forma común de confirmar una acción dentro de una aplicación es solicitar un código recibido por SMS.

Para la mayoría de los usuarios, puede ser un proceso tedioso, dado que implica navegar entre varias aplicaciones.

El control Smart "Autenticación mediante un código de un solo uso" permite a su aplicación obtener y utilizar este código automáticamente.

Este control Smart utiliza la nueva función SMSDetectOneTimeCode de WLanguage.

Una UX que se adapta al SO del dispositivo

El control Smart tiene en cuenta las pequeñas diferencias entre Android e iOS.

En Android, todo el proceso se realiza directamente, mientras que iOS añade una capa extra de seguridad al exigir una confirmación por parte del usuario final.

En la versión 2025, solo tiene que utilizar este control Smart en su aplicación y este se adaptará al sistema operativo automáticamente.

Personalización total

Este control Smart es totalmente personalizable, puede editar las opciones del control, el código, etc.

Firma manuscrita en PDF o documento escaneado

Novedad 458 WM

Firma manuscrita directamente en el dispositivo

Inserte una firma manuscrita en un documento PDF directamente desde un smartphone.

El documento PDF puede haber sido escaneado con el dispositivo.

Solo tiene que tomar una foto de su firma y sus iniciales (función incluida en el control Smart) e insertarlas en el lugar deseado.

La versión 2025 incluye el nuevo control Smart "Firma manuscrita en un PDF".

Recordatorio: Las firmas electrónicas también están disponibles en aplicaciones móviles mediante Docusign o Yousign.

Firma manuscrita en PDF o documento escaneado

Paletas de colores

Novedades 007 a 023 WD WM
Paletas de colores

Una línea de código

Con las paletas, los usuarios finales pueden cambiar el aspecto de su aplicación con un solo clic.

Solo tiene que utilizar la función WLanguage PaletteChange en el código fuente indicando la paleta que se va a aplicar.

El motor gráfico de WINDEV 2025 aplica los cambios dinámicamente.

¿Qué es una paleta de colores?

Una paleta es un conjunto de casi cien colores.
Cada color está destinado a un uso específico en la plantilla: fondo, texto, filetes (líneas), etc.

Cada color recibe un nombre según su uso: color_fondo_principal, color_texto_principal, color_banner, color_fondo_boton, etc.

Una vez definidas, las paletas asignan un color a cada "nombre de color". Por ejemplo, color_fondo_boton = amarillo o color_fondo_boton = RGB(125,200,36)

Cuando se cambia la paleta actual, todos los controles cambian automáticamente a los nuevos colores.

Este mecanismo permite cambiar el aspecto de una aplicación de forma fácil y dinámica.

Cambiar la paleta de colores

La nueva función PaletteChange de WLanguage permite cambiar la paleta de colores utilizada por una plantilla, y así, renovar una aplicación en una sola línea de código.

Paletas de colores incluidas: Tema oscuro

La versión 2025 incluye un gran número de paletas de colores. Entre ellas, la paleta "Tema oscuro" que permite cambiar fácilmente las aplicaciones a un tema oscuro.

Utilice los colores del tema actual de Windows

La nueva función PaletteGenerate de WLanguage genera una paleta de colores basada en el color de Windows del equipo del usuario final. Esto permite obtener una IU que coincide con el color dominante del PC en uso.

Cree sus propias paletas de colores

La función PaletteGenerate también permite crear una paleta de colores específica. Esto es particularmente útil cuando un proyecto tiene que cumplir con una guía de estilo. También es posible crear colores adicionales, asignarles un nombre e incluirlos en una paleta.

Plantillas con paletas

Las plantillas definen el estilo de los controles: bordes, efectos, tamaño, tipo de fuente, tamaño de la fuente, etc. Las plantillas utilizan colores para todos estos elementos. En la versión 2025, se ha cambiado el formato interno de las plantillas para utilizar una paleta de colores en lugar de colores fijos.

Íconos y botones

Cuando se aplica una paleta diferente, los íconos deben adaptarse, sobre todo al cambiar a un tema oscuro. Por ejemplo, en un tema oscuro, los colores de los íconos cambian automáticamente a blanco para mejorar la legibilidad.

Comparta fácilmente paletas entre proyectos

Las paletas se almacenan como archivos JSON en el disco. Esto permite compartirlas fácilmente entre diferentes proyectos.

Asigne un nombre a los colores en WLanguage

En cualquier parte del código WLanguage, puede asignar un nombre a un color en lugar de utilizar el código del color. Esto incluye funciones, propiedades, etc. También puede asignar un nombre a un color en la ventana de 7 pestañas.

Facturación eléctronica

Novedades 148 a 149 WD WB WM

Opciones de facturación electrónica

Una factura electrónica adopta la forma de un documento PDF/A-3 (legible por el ser humano) y de un documento XML (para aplicaciones) que contiene los datos de la factura. WINDEV permite:

  • generar facturas en PDF/A-3
  • generar el archivo XML correspondiente
  • integrar el archivo XML en el PDF
  • firmar el documento PDF final (con certificados de firma digital RGS y eIDAS)

Enviar y obtener documentos

WINDEV dispone de todas las funcionalidades que permiten a los vendedores enviar facturas a un portal público y a los compradores descargar facturas del portal:

  • llamadas a servicios web REST
  • compatibilidad con OpenAPI
  • obtención y análisis de archivos XML adjuntos
  • verificación de la firma del PDF (al recibir una factura)
  • servicio de Windows de consulta de portales públicos

Ya era posible automatizar los enlaces con el portal francés Chorus Pro (implementado para la contratación pública). Ahora, también es posible crear facturas electrónicas en formato Factur-X.

Gráfico de porcentaje pictórico

Novedades 037 a 038 WD WB WM

Nuevo control Gráfico

La versión 2025 incluye un nuevo gráfico de porcentaje pictórico.

Este nuevo gráfico es una representación visual de los datos en forma de porcentajes, que utiliza ilustraciones como botellas, siluetas humanas, termómetros, etc.

Esto facilita la comprensión de la información de un vistazo.

Gráfico de porcentaje pictórico

Programación

La programación del nuevo gráfico de porcentaje pictórico se realiza de la misma manera que cualquier otro gráfico estándar.

Puede especificar las imágenes deseadas mediante programación o a través de la ventana de 7 pestañas.
Se admiten imágenes vectoriales (SVG) o de mapa de bits (JPEG, PNG, etc.).

El formato vectorial se recomienda cuando se debe cambiar el tamaño de las imágenes sin que pierdan calidad.

Puede manipular este tipo de gráfico utilizando las funciones gr de WLanguage.

Plantilla Apollo

Novedad 222 WD

Nueva plantilla para WINDEV

La versión 2025 incluye la nueva plantilla "Apollo".
Esta plantilla le brinda nuevas posibilidades de personalización.

Utilice esta y todas las demás plantillas proporcionadas con WINDEV libremente en sus aplicaciones y paquetes de software.

Recuerde que puede aplicar una paleta para cambiar los colores y para crear sus propias plantillas.

Nueva plantilla para WINDEV

Plantilla Emerald

Novedad 450 WM
Nueva plantilla para WINDEV Mobile

Nueva plantilla para aplicaciones móviles

La versión 2025 incluye la nueva plantilla "Emerald". ¡Utilícela para personalizar sus aplicaciones!

Utilice libremente esta y todas las demás plantillas proporcionadas con WINDEV Mobile en sus aplicaciones.

Recuerde que puede aplicar una paleta para cambiar los colores y para crear sus propias plantillas.

Yousign yousign

Novedades 156 a 162 WD WB WM

Integre Yousign en sus aplicaciones

WINDEV 2025 le permite integrar fácilmente las soluciones de Yousign en sus aplicaciones. Esta aplicación de firma electrónica cumple con el reglamento europeo eIDAS.

Tipos de firma electrónica

Se admiten los tres tipos de firma electrónica:

  • Firma electrónica simple (SES)
  • Firma electrónica avanzada (AES)
  • Firma electrónica cualificada (QES)

Modo Aprobador

Yousign incluye un modo muy útil llamado "Aprobador".

Este modo permite que uno o varios destinatarios, no necesariamente firmantes, aprueben un documento antes de que se firme. Puede tratarse de una aprobación jurídica o técnica, por ejemplo.

Esta funcionalidad es compatible de forma nativa con la versión 2025.

Firma electrónica de Yousign

Funciones fáciles de usar

Las funciones WLanguage están disponibles como un Componente interno, con su código fuente.

Las funciones permiten:

  • Definir el nivel de firma
  • Enviar uno o varios documentos a Yousign, a n destinatarios (nombre, correo electrónico, número de teléfono, etc.), para su firma, notificación o aprobación
  • Definir la ubicación de la firma en el documento
  • Saber si un documento está firmado e identificar quién no lo ha firmado
  • Obtener las fechas y horas de las firmas
  • Obtener documentos firmados
  • Cancelar operaciones

El proveedor de servicios (Yousign) se encarga de todos los aspectos de verificación, el envío por correo electrónico, la comprobación del documento de identidad y el almacenamiento de los documentos.

Fácil

Asistente de generación de código

Para simplificar el desarrollo, un asistente intuitivo genera el código necesario.

Potente

Acceso a todas las API

Para manipular casos especiales, puede acceder a todas las API proporcionadas por Yousign realizando una llamada en el código WLanguage.

Todos los puntos de entrada están disponibles directamente en el editor de código.

Adaptado

Facturación

Yousign ofrece varios tipos de suscripción, que dan acceso a diferentes tipos de firmas.

Para acceder a todas las funcionalidades de las API, debe elegir una suscripción de API.

Novedades de WLanguage

Novedades 123 a 143 y 316 a 426 WD WB WM
Logo WLangage

Thread Local Storage (TLS): Almacenar datos locales de un subproceso

TLS permite realizar una copia única de una variable global para cada subproceso.

Esto hace posible que varios subprocesos utilicen variables globales sin sobrescribirlas.

Llamadas más rápidas a procedimientos en subprocesos

En la versión 2025, los subprocesos que utilizan procedimientos se ejecutan hasta 8 veces más rápido.

Las llamadas a procedimientos en subprocesos ahora son mucho más rápidas.

Conversión explícita de tipos simples (CAST)

En la versión 2025, puede forzar la conversión de un tipo simple a otro (por ejemplo, Integer a String) sin utilizar una variable local.

product_ref is string = (string) 378 + (string) 578
// -> Returns 378578 instead of 956

Manipular archivos JSON de gran tamaño mediante programación

Los desarrolladores tienen que manipular archivos JSON cada vez más grandes, en algunos casos de hasta varios GB.

Por ejemplo, el gobierno francés proporciona archivos muy extensos del registro de propiedad codificados en formato JSON a través del portal OpenData.

La versión 2025 incluye un nuevo modo para acceder al contenido JSON.

Este modo permite gestionar contenidos de tamaño ilimitado. El modo habitual carga todo el contenido JSON en la memoria, lo que puede causar problemas de rendimiento o de uso de memoria en función del tamaño del archivo JSON.

El nuevo tipo jsonReader y la nueva función JSONOpenReader permiten leer contenido JSON sin tener que cargar todo el contenido en la memoria.

Combinar un certificado y una clave privada en un único certificado (PFX)

En la versión 2025, puede combinar un archivo de certificado sin clave privada y una clave privada en un nuevo archivo de certificado en formato pfx.

Esto es especialmente útil para los usuarios de OpenSSL, pero puede ser de gran utilidad para otros usuarios.

IMAP: Búsqueda con filtro

Al buscar correos electrónicos en una sesión IMAP, puede utilizar la función EmailSeekFirst de WLanguage para especificar un criterio de búsqueda: nombre del remitente, nombre del destinatario, asunto, cuerpo del mensaje, etc.

Utilizar consultas SQL como fuentes de datos en una función SELECT

El editor de código le permite escribir consultas SQL. En la versión 2025, la fuente de datos de una consulta puede ser a su vez una consulta procedente directamente del código.

Lectura y escritura en flujos de entrada y salida estándar

Una aplicación WINDEV puede iniciar otra aplicación (o proceso) escrita en WINDEV o en otro lenguaje de programación. Esto afecta principalmente a las aplicaciones de consola (ejecutadas desde una línea de comandos).

En la versión 2025, puede leer los datos de la salida estándar (stdout) y de la salida de error estándar (stderr).

También es posible escribir datos en la entrada estándar (stdin). Esto le permite controlar el proceso iniciado, y obtener el informe del proceso.

Compresión 4 veces más rápida

En la versión 2025, la función ZipAddFile, que añade archivos a un archivo Zip es hasta 4 veces más rápida.

La versión 2025 ya está disponible, pero algunas funcionalidades se publicarán en los próximos meses.

"*" indica los campos obligatorios.

Los datos proporcionados serán tratados de forma confidencial.

Los datos solo serán utilizados con fines profesionales.

NO se compartirán con otras empresas.

Logotipo de PC SOFT Logotipo de PC SOFT