RED
¿Está harto de que los errores de red afecten a Sus usuarios?
Las interrupciones de red forman parte de las implementaciones en el mundo real. Entre una estación de trabajo 4D Client y 4D Server pueden existir conmutadores, routers, cortafuegos, pasarelas VPN y otros dispositivos de red. El reinicio de un conmutador, la reconexión de un cable, un cambio de red móvil o un problema de enrutamiento transitorio pueden hacer que los dos nodos sean temporalmente inaccesibles, incluso cuando la interrupción solo dure unos minutos.
Esta función se basa en la capa de transporte QUIC, que sustenta la comunicación cliente/servidor de 4D. Dado que QUIC se ejecuta sobre UDP, puede tolerar períodos de silencio entre pares. Cuando 4D Server detecta que un 4D Client remoto ha dejado de estar accesible, mantiene la sesión activa durante el tiempo de espera configurado (QUIC session timeout ) en lugar de cerrarla inmediatamente.
Durante la interrupción, la ventana de Administración muestra al cliente como Inaccesible, mientras que Session.info.unreachableSince indica cuánto tiempo lleva el par inaccesible. Del lado del cliente, solo las ventanas que dependen de la comunicación con el servidor pasan a mostrarse como inaccesibles, mientras que las ventanas locales pueden seguir utilizándose.
Cuando la comunicación se reanuda a tiempo, la sesión vuelve a estar activa y las ventanas afectadas recuperan su estado anterior. Si se supera el tiempo de espera, la sesión se cierra correctamente, con una advertencia en el registro de diagnóstico y una notificación clara de reinicio o cierre para el usuario.
Los despliegues cliente/servidor se vuelven más fluidos y confiables en condiciones reales de red, sin necesidad de código adicional en la aplicación.
Integración de IA
InTEGRE la escritura con IA local en los formularios de 4D
La integración de Apple Writing Tools lleva la asistencia de IA local directamente a las áreas de texto de 4D form, incluyendo entradas de texto multilínea y áreas 4D Write Pro. No hay que gestionar ningún contrato ni pago de IA, no hay que instalar nada adicional y no hay que configurar ningún servicio de IA externo. Siempre que el entorno del usuario sea compatible con las herramientas de escritura de Apple, la aplicación se beneficia de la asistencia de escritura gestionada por el sistema operativo sin necesidad de configuración adicional. Los usuarios finales pueden corregir, reescribir, resumir, ajustar el tono o extraer puntos clave del texto sin salir de la aplicación 4D ni copiar el contenido a otra herramienta.
La función se habilita a través de la propiedad Writing Tools en la lista de propiedades. Cuando está disponible, los usuarios pueden acceder a las herramientas desde el menú contextual con la opción Mostrar herramientas de escritura, o los desarrolladores pueden exponerlas a través de la acción estándar WritingTools desde un botón o un elemento de menú. El texto seleccionado se sustituye por el resultado devuelto, mientras que si no hay selección, la acción se aplica a todo el contenido del área.
Dado que la función se basa en Apple Intelligence, se ejecuta localmente en entornos compatibles con macOS en los que Apple Intelligence esté activado. En entornos no compatibles, incluido Windows, la propiedad permanece visible cuando es relevante, pero la función permanece inactiva en tiempo de ejecución.
La redacción asistida por IA pasa a formar parte de la propia experiencia de la aplicación, ayudando a los usuarios a mejorar textos empresariales, notas, informes y el contenido de documentos directamente en el entorno en el que ya trabajan.
Lenguaje 4D
Código de limpieza CONfiable al salir de métodos y funciones
El nuevo comando defer introduce una forma más limpia de ejecutar automáticamente el código de limpieza al salir de un método o una función. Los desarrolladores ahora pueden declarar una expresión en cualquier parte del código y confiar en que 4D la ejecutará al salir, tanto si la ejecución finaliza normalmente, como si llega a un return o se detiene tras un error. Ya no es necesario repetir la lógica de limpieza antes de cada instrucción return ni dentro de cada bloque catch.
Las expresiones diferidas se almacenan en una pila de expresiones diferidas y se ejecutan en orden LIFO cuando finaliza el método o la función. Si una expresión diferida genera un error, 4D lo detecta automáticamente y continúa ejecutando las expresiones diferidas restantes, lo que ayuda a mantener el flujo de salida seguro y predecible.
defer es especialmente útil para la gestión de recursos, el diagnóstico y la restauración del estado. Puede ayudar a cerrar referencias XML, detener la supervisión de la actividad, restaurar parámetros de la base de datos, restablecer la gestión de errores o desconectarse de servicios externos. El código se vuelve más fácil de leer, más seguro de mantener y menos expuesto a pasos de limpieza olvidados.
SERVIDOR HTTP
Protección de recursos del servidor REST
La gestión de cuotas del servidor REST añade un control a nivel de sesión sobre los conjuntos de entidades almacenados en memoria, lo que ayuda a proteger las aplicaciones del consumo excesivo de recursos causado por un uso intensivo, consultas REST mal optimizadas o clientes que no liberan los recursos correctamente. Resulta especialmente útil cuando las API REST se exponen a aplicaciones web, sistemas externos, 4D Qodly Pro, clientes móviles o herramientas de IA basadas en MCP.
Hay disponible un nuevo objeto 4D.QuotaManager a través de Session.quotas. Permite a los desarrolladores definir límites para la sesión REST actual, incluyendo el número máximo de conjuntos de entidades permitidos en memoria, el tiempo de espera predeterminado por inactividad de los conjuntos de entidades y el tiempo de espera máximo que un cliente puede solicitar. El uso actual de las cuotas también se puede supervisar a través de currentValues.
El control de los recursos del servidor resulta más sencillo, ya que los conjuntos de entidades están vinculados a la sesión REST y pueden liberarse automáticamente cuando caducan o cuando finaliza la sesión. Cuando se alcanza un límite definido, se rechazan las nuevas solicitudes REST que requieran la creación de conjuntos de entidades adicionales hasta que se liberen recursos. Las aplicaciones basadas en REST obtienen una mayor protección frente a la sobrecarga accidental, mientras que los administradores mantienen un mejor control sobre el rendimiento y la disponibilidad.
Gestión de 4D Server
Mayor claridad en la visualización de sesiones en la ventana de administración de 4D Server
La supervisión de sesiones en la ventana de administración de 4D Server es ahora más clara gracias a una pestaña Sesiones unificada que reúne en una sola vista los clientes de escritorio, las sesiones web, el acceso REST y las llamadas SOAP. En lugar de consultar información dispersa, los administradores pueden comparar las conexiones activas desde un único lugar y comprender más rápidamente la actividad del servidor.
La lista de sesiones se centra en la información común a todos los tipos de conexión, como el tipo de sesión, el nombre de usuario, la fecha de conexión, el tiempo de CPU, la actividad y el estado. Los iconos visuales facilitan la identificación de cada tipo de sesión, mientras que el panel de detalles se adapta a la sesión seleccionada. En el caso de las sesiones cliente, puede mostrar información contextual como el nombre de la sesión del sistema operativo, la dirección IP, el nombre del equipo y los derechos de uso. Para las sesiones REST, web o SOAP, puede mostrar detalles como el estado de invitado, los privilegios, la dirección IP y el agente de usuario.
Una mayor visibilidad de las sesiones facilita la resolución de problemas, especialmente al investigar actividades inusuales, el uso de REST o el consumo de licencias. Los administradores pueden identificar quién está conectado, de dónde procede una sesión, en qué contexto se ejecuta y si un patrón de conexión requiere atención sin salir de la ventana de administración.
4D Write Pro
Hojas de estilo jerárquicas en la interfaz de 4D Write Pro
Las hojas de estilo de listas de varios niveles ya están disponibles directamente en la interfaz de 4D Write Pro, lo que ofrece a los usuarios una forma visual de crear, aplicar y gestionar listas estructuradas desde la barra de herramientas y la barra lateral. Documentos como manuales técnicos, contratos, informes, materiales de formación y actas de reuniones pueden mantener una numeración y una jerarquía coherentes sin necesidad de formateo manual.
El panel Hojas de estilo muestra ahora tanto las hojas de estilo del documento como las plantillas predefinidas de listas de varios niveles. Los usuarios pueden aplicar plantillas listas para usar, cambiar los niveles de la lista, añadir subniveles, modificar los formatos de numeración y concatenar marcadores de numeración entre niveles. La numeración se mantiene coherente a medida que se añade, elimina o reorganiza el contenido.
Los desarrolladores también pueden personalizar las plantillas disponibles a través del archivo multiLevelStyles.json, de modo que las aplicaciones puedan ofrecer estructuras de listas predefinidas que se adapten a sus documentos empresariales. Los documentos de 4D Write Pro resultan más fáciles de estructurar, más sencillos de mantener y más fiables al exportarlos o intercambiarlos en formatos como PDF, HTML, SVG y DOCX.
4D NetKit y correo
NOTIFICACIONES DE CAMBIOS EN EL CORREO Y EL CALENDARIO
4D NetKit ahora ofrece un modelo de notificación unificado para Microsoft 365 y Google Workspace, lo que permite a las aplicaciones reaccionar cuando se crean, modifican o eliminan correos electrónicos o eventos de calendario. En lugar de depender de actualizaciones manuales, las aplicaciones 4D pueden mantener las interfaces sincronizadas con los datos de los proveedores y activar la lógica de negocio adecuada tan pronto como se detecte un cambio.
El mismo modelo de programación está disponible para ambos proveedores a través de Office365.mail.notifier, Office365.calendar.notifier, Google.mail.notifier y Google.calendar.notifier. Cada notificador admite las funciones de retrollamada onCreate, onModify y onDelete, de modo que los desarrolladores pueden actualizar la interfaz de usuario, mostrar alertas, actualizar los datos locales o ejecutar flujos de trabajo personalizados cuando se producen cambios en el correo o en el calendario.
Las notificaciones pueden ejecutarse a través de webhooks en tiempo real cuando hay disponible un punto final HTTPS público, o mediante supervisión basada en temporizadores cuando se prefiere un modelo de implementación más sencillo. Para las notificaciones de correo de Google, se puede utilizar topicName con Google Cloud Pub/Sub cuando se configura el modo webhook.
Las aplicaciones conectadas ganan en capacidad de respuesta y son más fáciles de mantener, gracias a un enfoque coherente para crear flujos de trabajo de correo y calendario en entornos de Google y Microsoft.
4D Qodly Pro
Mejoras en el editor de formularios web
Los flujos de trabajo del editor 4D Qodly Pro son más fluidos gracias a las mejoras centradas en la navegación, los informes de eventos, los cuadros de diálogo y la interacción entre componentes. Los desarrolladores pueden desplazarse más fácilmente entre el Informe de eventos y el Editor de páginas, seleccionar el componente adecuado más rápidamente y mantener los filtros al cambiar de vista, lo que reduce las pequeñas interrupciones que ralentizan la edición de formularios.
El Informe de eventos también es más práctico. Los enlaces de las verificaciones de validez ahora permiten seleccionar componentes dentro de los cuadros de diálogo, las funciones eliminadas se resaltan con una información sobre el elemento y, al hacer clic en Editar, se puede seleccionar y desplazarse automáticamente hasta el componente relacionado en el formulario web. Los cuadros de diálogo de renombrado también cuentan con acciones de Confirmar y Cancelar más claras para una experiencia de edición más predecible.
Se ha mejorado la cobertura de eventos de los componentes Botón de opción y Campo de selección. Eventos como On Click, On Blur, On Focus, On MouseEnter, On MouseLeave, On KeyDown y On KeyUp están ahora disponibles cuando sea pertinente, lo que ofrece a los desarrolladores un mayor control sobre la validación, la gestión del foco, el comportamiento del teclado, los flujos de trabajo de accesibilidad y las interacciones avanzadas de la interfaz de usuario.
Una configuración ajustable de debounce y throttle para los eventos OnChange también ayuda a los desarrolladores a controlar la frecuencia con la que se procesan los cambios. El desarrollo de formularios web se vuelve más coherente, más preciso y más fácil de gestionar en interfaces complejas.
Actualizaciones de la plataforma
Se han reforzado los cimientos de la plataforma con actualizaciones que mejoran la coherencia, la seguridad y la fiabilidad a largo plazo en4D Qodly Pro, las redes, el cifrado y los fundamentos de la interfaz de Windows. 4D Qodly Pro cuenta ahora con una base de componentes del sistema de diseño más estandarizada, lo que ayuda a los equipos a evitar la duplicación de la lógica de estilos y a crear interfaces más coherentes con patrones de interfaz de usuario reutilizables.
También se han actualizado los componentes técnicos fundamentales, entre los que se incluyen OpenSSL 4.0, BoringSSL, Ngtcp2 1.22.1 y Libuv 1.52.1. Estas actualizaciones refuerzan la fiabilidad y la seguridad de áreas clave como QUIC, WebSocket, la difusión, las conexiones seguras, HTTPS y la comunicación cliente/servidor. La actualización a OpenSSL 4.0 también refuerza el comportamiento moderno de TLS, ya que los servidores utilizan TLSv1_3 de forma predeterminada y la configuración mínima de TLS se centra en TLSv1_2 y TLSv1_3.
En Windows, la actualización del SDK de aplicaciones de Windows 2.0.1 es compatible con la base de WinUI que se utiliza al compilar aplicaciones con o sin WinUI integrado. En conjunto, estas actualizaciones mantienen la plataforma alineada con los estándares tecnológicos actuales, al tiempo que reducen los riesgos ocultos de mantenimiento para las aplicaciones empresariales implementadas.