NOVEDADES DE 4D 20 R10

INTEGRACIÓN DE IA

NUEVA CLASE NATIVA 4D.VECTOR

Cuando se crean funciones inteligentes (búsqueda semántica, clasificación de documentos, agrupación de imágenes), ya no se limitan a almacenar datos. Se está organizando el significado. Y eso empieza con los vectores.

4D 20 R10 presenta 4D.Vector, una clase nativa de uso eficiente de la memoria diseñada para contener y manipular datos numéricos de alta dimensión. Está diseñado para el rendimiento, ya que admite operaciones como la similitud de coseno, el producto de puntos y la normalización dentro de 4D.

No se trata de añadir IA. Se trata de hacer que los flujos de trabajo nativos de IA formen parte de su modelo de datos. Ya sea que esté comparando descripciones de productos, agrupando tickets de soporte o clasificando imágenes por contenido, 4D.Vector le permite calcular y comparar significados de forma rápida, precisa y sin herramientas externas.

Y sí, puede almacenar estos vectores en su base de datos. Úselos en campos tipo clase. Ordenar por similitud. Es todo lo que necesita un sistema inteligente moderno, integrado en el núcleo de su aplicación.

GENERACIÓN DE VECTORES A TRAVÉS DE OPENAI EN AI KIT

4D 20 R10 amplía el AI Kit con soporte nativo para la API de generación de vectores de OpenAI. El nuevo método OpenAIEmbeddingsAPI.create() transforma cadenas o colecciones en instancias 4D.Vector: utilizables al instante en puntuaciones de similitud, sistemas de clasificación o filtros semánticos.

Sin gestión de tokens. Sin manejo de HTTP. No hay análisis de respuestas. Solo vectores directos y tipados creados para flujos de trabajo inteligentes, generados en una sola línea de código.

BASE de datos

CAMPOS DE OBJETOS TIPO CLASE EN EL EDITOR DE ESTRUCTURAS

En el Editor de estructuras, los campos objeto ahora se pueden asignar a una clase específica. No se trata solo de metadatos, sino de un contrato.

Asigne una clase de usuario a un campo de objeto y obtendrá:

  • Finalización automática a nivel de propiedad

  • Verificación de sintaxis en tiempo de compilación

  • Validación en tiempo de ejecución de la forma del objeto

    Si el objeto no coincide con la clase declarada, 4D genera un error: la estructura se convierte en esquema, sus datos permanecen limpios y se combinan con 4D.Vector, definir un atributo vectorial tipado dentro de su clase significa que cada entidad lleva su propia huella semántica, lista para la puntuación de similitud, la clasificación impulsada por IA o las recomendaciones inteligentes.

    COMPATIBILIDAD CON UUID V7

    La generación de UUID se ha vuelto más inteligente. UUID.generate()

    ahora admite identificadores de la versión 7. Eso significa que sus UUID no solo son universalmente únicos, sino que se pueden ordenar cronológicamente, son compatibles con las bases de datos y están diseñados para sistemas distribuidos modernos.

    Internamente, los UUID v7 alojan datos de marca de tiempo, lo que los hace ideales para el almacenamiento ordenado y más fáciles de indexar. Es un pequeño cambio con un gran impacto en la escala y el rendimiento de las consultas.

    ORDA

    CONSTRUCTORES DE ENTIDAD Y EVENTO ONTOUCH()

    4D 20 R10 introduce el soporte para constructores y el evento onTouch() para entidades dataclass.

    Utilice constructores para inicializar valores en la creación de instancias, lo que resulta ideal para establecer marcas de tiempo, valores predeterminados o propiedades contextuales. Use onTouch() para reaccionar cuando los atributos cambien en la memoria, lo que permite la validación, la normalización o la propagación de campos en tiempo real.

    Ambos se ejecutan del lado del servidor de forma predeterminada (con ejecución del lado del cliente a través de local). Este es el comienzo de la lógica de datos consciente del ciclo de vida: centralizada, predecible y nativa de la capa ORDA.

    INTERFAZ DE USUARIO

    FÓRMULAS DINÁMICAS PARA OBJETOS DE FORMULARIO

    La lógica de la interfaz de usuario se ha vuelto más inteligente. Ahora puede enlazar valores de objetos de formulario directamente a fórmulas utilizando OBJECT SET DATA SOURCE FORMULA.

    Eso significa que los valores pueden cambiar dinámicamente, en función de cálculos, variables o contexto, sin vincularse a campos estáticos.

    Combine esto con constantes list box como lk selected items expression y obtendrá un comportamiento de formulario que se adapta en tiempo real, lo que reduce la duplicación de código y mejora la capacidad de respuesta.

    MANEJO DE REDES

    NUEVOS COMANDOS UDP

    La nueva clase 4D.UDPSocket ofrece compatibilidad nativa con el protocolo de datagramas de usuario. Es rápido, sin conexiones y excelente para la comunicación de baja latencia.

    Defina retrollamadas como onData, onError y onTerminate. Emitir y recibir paquetes con send(). Inspeccione metadatos con 4D.UDPEvent. Y realice un seguimiento del tráfico en el archivo compartido 4DTCPUDPLog.txt.

    UDP ahora es de primera clase y está basado en eventos. Perfecto para señales de dispositivos en tiempo real, protocolos de detección o mensajería interna de baja sobrecarga.

    CONTROL DE TIEMPO DE ESPERA DE CONEXIÓN TCP

    La clase TCPConnection ahora expone una propiedad .connectionTimeout para que pueda ajustar la capacidad de respuesta. Establezca umbrales para la latencia, elimine las solicitudes de larga duración y maneje los errores de red más rápido.

    Se acabó la congelación de la interfaz de usuario. Se acabaron las esperas indefinidas. Solo un control limpio sobre el comportamiento de la red.

    ADMINISTRADOR DE DEPENDENCIAS

    RESOLUCIÓN Y GESTIÓN DE DEPENDENCIAS RECURSIVAS

    El Administrador de componentes ahora comprende el árbol completo. Si el componente requiere otros componentes, estos se cargan automáticamente. Si existe una referencia circular, se bloquea antes de que lo afecte.

    Esta funcionalidad presenta:

    • Detección de dependencias recursivas

    • Resolución de órdenes de carga

    • Detección de errores para gráficos cíclicos

    Escriba componentes modulares y reutilizables. 4D se asegura de que se carguen correctamente. Cada vez.

    4D Netkit

    CREAR, ACTUALIZAR Y ELIMINAR EVENTOS EN MICROSOFT 365 Y GOOGLE CALENDARS

    Las clases cs.NetKit.Office365.calendar y cs.NetKit.Google.calendar ahora admiten la administración del ciclo de vida completo para los eventos de calendario.

    Estas API le brindan un control preciso sobre:

    • Horas de inicio y finalización

    • Gestión de asistentes

    • Reglas de periodicidad

    • Enlaces de reuniones en línea

        • Notificaciones a los invitados

        • Categorías y descripciones de eventos

          Administre los flujos de trabajo del calendario (programación, recordatorios, reservas automáticas, incluso la integración de Teams o Google Meet) de forma segura y sin problemas en una sola línea de código, con la tecnología de la autenticación OAuth2.

          BUILD APPLICATION

          AUTOMATIZACIÓN DE LICENCIAS DE BUILDAPP

          El proceso BuildApp ahora incluye la integración automática de licencias. Si el equipo tiene licencias de implementación válidas, se inyectan directamente en la aplicación compilada.

          Las nuevas opciones en el diálogo Build y una nueva llave booleana AutomaticLicenseIntegration en BuildApp.4DSettings,

          le permiten alternar entre los modos de licencia manual, automático o de evaluación. No hay rutas de licencia. No hay anulaciones específicas de la máquina. Solo construcciones portátiles y sin interrupciones.

          Los registros de compilación ahora realizan un seguimiento del uso de licencias y la interfaz de usuario informa claramente qué destinos se crearon después de la compilación.

          SEGURIDAD

          PEGADO SEGURO PARA FÓRMULAS

          Las fórmulas copiadas desde fuera de su aplicación 4D ahora se pegan solo como valores.

          Este cambio afecta a las entradas multiestilo y a los campos de 4D Write Pro. Si la fórmula nunca se ha calculado, su origen se pega como texto sin formato. De lo contrario, solo se conserva el resultado evaluado (texto o imagen).

          Es una solución silenciosa para una vulnerabilidad silenciosa y un valor predeterminado más seguro para entornos colaborativos.

          LIBRERÍA ELIMINADA

          REMOCIÓN DE MECAB

          Se ha eliminado la librería MeCab para la segmentación de texto en japonés. Originalmente introducido para la búsqueda de palabras clave, MeCab no ha visto una actualización en más de una década. Carecía de personalización del diccionario y presentaba riesgos de mantenimiento.

          Si necesita tokenización personalizada, puede implementar su propia lógica a través de ORDA y consultas basadas en componentes.