Novedades de 4D v19 R4

Traducido automáticamente de Deepl

Lenguaje 4D

Regresa. Continuar. Romper. ¡Y más!

¡Hemos escuchado y seguido sus peticiones de características en 4D Forum con varias mejoras en el lenguaje 4D!

  • Empezando por las sentencias que permiten saltar un bloque de código:
    • La palabra clave return termina la ejecución del método o función en la que aparece y devuelve el control al método que lo llama. También puede devolver un valor opcional.
    • La palabra clave break termina el bucle que la contiene. La siguiente sentencia que se ejecuta es la que está inmediatamente después del cuerpo del bucle.
    • La sentencia continue termina la ejecución de las sentencias en la iteración actual del bucle y continúa la ejecución del bucle con la siguiente iteración.
  • Seguido de la evaluación de un cortocircuito: En una expresión que utiliza un operador AND o OR, una evaluación de cortocircuito significa que el segundo argumento se ejecuta o evalúa sólo si el primer argumento no es suficiente para determinar el valor de la expresión. Para ello, añadimos dos nuevos operadores:
    • && para el operador AND
    • || para el operador OR
  • Y luego hay un operador ternario, que es una condición seguida de un signo de interrogación ( ? ), una expresión para evaluar si la condición es verdadera seguida de dos puntos (:), y finalmente la expresión para evaluar si la condición es falsa: condición? valor Si Verdadero: valor Si Falso.

Nuevo comando para obtener información detallada sobre las licencias

4D v19 R4 se entrega con un nuevo comando que da toda la información sobre el uso de su licencia: Get License Usage. También hemos ampliado nuestros registros de diagnóstico. Gracias a esta característica, usted podrá seguir el consumo de licencias en su servidor, optimizar su uso y planificar sus necesidades futuras.

Más opciones para el comando OBJECT SET enterable

El comando OBJECT SET ENTERABLE ha sido mejorado, permitiéndole gestionar mejor un campo que no es editable. Como tercer parámetro, el comando admite un booleano o un entero.

  • Por lo tanto, puede utilizar el comando como antes sin cambiar su código pasando un booleano. Sólo se modificará la propiedad enterable (Falso o Verdadero).
  • O puede pasar un entero. De este modo, puede establecer la propiedad enterable y focusable para su campo.

Interfaz de usuario

Alta DPI en Windows: Soporte para pantallas de alta resolución

High DPI significa «High Dots Per Inch» (puntos por pulgada). Representa la densidad de píxeles; cuanto mayor sea el DPI, mayor será la densidad de píxeles. En las pantallas 4K, la densidad de píxeles puede ser tan alta que la visualización, como es habitual, haría que todos los iconos y controles fueran extremadamente pequeños. Por ello, Windows permite cambiar la escala del texto, los iconos y los controles. En las pantallas 4K, está activado por defecto. Primero soportamos los altos DPI en Mac, y con la v19R4, 4D es ahora totalmente compatible en Windows, también. El resultado es una mejor calidad de texto e imagen.

Trabajadores del sistema

Lanzar un proceso externo de forma asíncrona

Otra característica muy solicitada está disponible para usted. A veces, necesitas ejecutar procesos en segundo plano y realizar acciones específicas basadas en su código de salida tan pronto como esté disponible, mientras el proceso aún se está ejecutando. Por ejemplo, para mostrar una barra de progreso. 4D le permite iniciar un proceso en segundo plano con la nueva clase 4D.SystemWorker y ejecutar automáticamente métodos de callback cuando el proceso devuelva información. Por lo tanto, si lo utiliza con una interfaz, la interfaz sigue respondiendo a su usuario mientras el proceso externo se está ejecutando, y cuando termina, puede mostrar el resultado a su cliente.

ORDA

Diga hola a los alias

4D v19 R4 se entrega con un nuevo concepto de ORDA: Aliases. Son la continuación lógica y complementaria de los atributos computados. Como su nombre indica, un alias es, de hecho, un acceso directo a un objeto de almacén de datos existente. Se definen en la «clase de datos de la entidad» como los atributos computados. Mientras que un atributo computado puede procesar cualquier cálculo o fórmula, un alias es sólo un atajo que hace que el desarrollo sea más rápido y fácil. Un ejemplo de uso es dar un fácil acceso a los atributos relacionados (lo que significa ocultar la complejidad de una base de datos relacionada).

Desactivar la asignación por defecto del valor NULL a un valor en blanco

Cuando crea un nuevo campo en su base de datos, 4D le permite elegir o no asignar valores NULL a valores en blanco. A partir de 4D v19 R4, en los nuevos proyectos, 4D ya no mapeará por defecto el valor NULL a datos ausentes.

Esto es beneficioso porque ORDA está perfectamente diseñado para trabajar con valores NULL, y le evitará muchas soluciones poco elegantes.

Gestión de bloqueos pesimistas VIA Rest

Con 4D v19 R4, puede utilizar la API REST para bloquear o desbloquear una entidad. Esto es particularmente útil para:

  • Mantener la consistencia de su código si está acostumbrado a trabajar con la API REST. No hay necesidad de escribir una función en las Clases del Modelo de Datos ORDA para bloquear/desbloquear una entidad.
  • Utilizar sin problemas los bloqueos pesimistas con la API REST.

4D para móviles

atributos de objetos para aplicaciones avanzadas

Hasta ahora, puede utilizar casi todos los tipos de atributos en sus proyectos móviles: texto, fechas, tiempo, enteros. 4D v19 R4 trae otro más: los atributos de objetos. Esto le permite mostrar campos de objeto en su aplicación móvil en formato legible por humanos o en formato JSON. Los campos objeto se utilizan para almacenar varios datos en su aplicación 4D; ahora, son fácilmente utilizables en las aplicaciones móviles. ¿Qué significa? Construir aplicaciones iOS y Android aún más avanzadas está al alcance de su mano.

Mejoras en la gestión de datos

Con 4D v19 R4, la sección de datos ha sido mejorada para darle más información sobre los datos que empaquetará con su aplicación móvil. Por ejemplo, usted obtendrá el número exacto de entidades y el tamaño de los datos para cada clase de datos, evitando así obtener demasiados datos en su aplicación móvil. Esta mejora también le ayudará a comprobar la validez de su consulta haciendo clic en el botón Validar. Obtendrás más información visual sobre la validación de tu consulta con mensajes de error si la consulta es incorrecta.

Nuevo en 4D para Android

Muchas mejoras fueron traídas a 4D para Android, permitiéndole disfrutar de la misma experiencia premium que ofrece 4D para iOS. 4D v19 R4 trae:

  • El soporte de las relaciones Uno a N: Mostrar los datos relativos a un registro en la lista y en el formulario de detalle.
  • Acciones en línea: Posibilidad de modificar una entidad o selección de entidades en modo online.
  • Y el formato de los campos de objetos: Mostrar los campos de objetos en su aplicación móvil en formato legible por humanos o en formato JSON.

4D Write Pro

salto de página dentro de las filas de la tabla

4D v19 R4 se entrega con nuevos atributos para definir mejor el diseño de las tablas. Permitiéndole crear documentos complejos de 4D Write Pro con facilidad, pero sobre todo, documentos visualmente atractivos: diga hola a los saltos de página dentro de las filas de la tabla. Esto es útil cuando las celdas tienen un texto más largo (o varios párrafos). Puede ser interesante definir que una celda (y por tanto una línea de la tabla) también puede dividirse en dos para llenar el espacio disponible en las páginas de los documentos:

  • El salto de página wk dentro del párrafo puede aplicarse, por supuesto, a los párrafos, pero también a cualquier objetivo, como el propio documento, una sección concreta, un rango de texto, etc. En todos los casos, el atributo se asignará a los párrafos dentro del objetivo. Se trata simplemente de una facilidad de programación.
  • wkpage break inside table permite dividir una tabla en dos (o más) partes, la separación se hace entre dos líneas de la tabla (como es habitual)
  • wkpage break inside row también permite dividir una tabla, pero esta vez dentro de las filas. Tenga en cuenta que esta opción depende de la anterior. Si una tabla no se puede dividir, tampoco sus filas.

Tenga en cuenta que la opción de salto de página dentro de las filas de la tabla está disponible en los widgets de la barra de herramientas y de la barra lateral.

Soporte del modo oscuro

Con 4D v19 R4, 4D Write Pro se ha vuelto oscuro. En última instancia, puede desarrollar y desplegar en modo claro u oscuro en macOS. Los últimos widgets de la librería son compatibles en modo oscuro (en macOS):

  • Barra de herramientas de 4D Write Pro Interface
  • Interfaz de 4D Write Pro
  • Barra lateral de texto enriquecido

4D View Pro

Opciones del libro de trabajo

Cuando usted crea un documento con 4D View Pro, a menudo necesita afinar su experiencia de usuario ocultando las pestañas de las hojas, las barras de desplazamiento, desactivando el menú contextual, o el arrastrar y soltar… Todas estas características y más son posibles con el comando VP SET WORKBOOK OPTIONS.

Acelere su proceso de desarrollo con plantillas.

La creación de informes u hojas de cálculo a partir de plantillas existentes acelera el desarrollo. Al igual que un usuario final que utiliza la acción Copiar y Pegar, como desarrollador, usted puede, con 4D v19 R4, simplemente «copiar» un rango de celdas desde otra ubicación o incluso desde otra área. El comando VP MOVE CELLS le permite copiar/cortar y pegar un rango de celdas en otra ubicación, incluso entre dos áreas. Otra forma de copiar un rango es copiarlo en un objeto con el comando VP Copy to object, por ejemplo, para guardarlo en su base de datos, y así poder pegar este objeto cuando lo necesite con el comando VP PASTE FROM OBJECT.

Editor de código

Saltar rápidamente a las diferentes funciones de una clase.

Las clases fueron introducidas con 4D v18 R3. Le permiten organizar su lógica de negocio y separarla de la UI más rápidamente.

Las clases se componen de varias funciones de distinta longitud. Así que no siempre es fácil encontrar la función a modificar o pasar de una función a otra. Es posible utilizar el explorador, que muestra las clases y las funciones, pero cuando se está codificando en la ventana del editor, no se quiere perder tiempo cambiando de ventana.

Con 4D v19 R4, la lista de funciones en su clase se muestra en la barra de herramientas del editor de código, lo que le permite saltar rápidamente a una función específica.

Etiquetas de comentarios

4D v19 R4 lleva los comentarios a un nuevo nivel con etiquetas de comentarios para organizar mejor sus comentarios. Las etiquetas se utilizan para clasificar los comentarios simplemente poniendo la etiqueta al principio de la línea de comentario. Hemos puesto tres etiquetas a su disposición:

  • MARCA
  • TODO
  • FIXME

La etiqueta MARK le permite dividir su código en secciones. Puedes escribirla de tres maneras diferentes. Las otras dos etiquetas TODO y FIXME, se escriben de la misma manera. El interés es que tienen diferentes iconos en la lista, lo que te permite organizar tu código para priorizar tus futuras acciones.

Mejora de la productividad con la sintaxis de comprobación de objetos

Elautocompletado de clases está disponible desde 4D v18 R4. Esta característica simplifica la escritura de código y limita los errores en los nombres de las funciones. Pero no los evita del todo; es fácil invertir dos letras, olvidar una mayúscula. Y luego perder tiempo buscando por qué su código no funciona. Entonces, ¿qué mejor manera que pedirle a 4D que compruebe si las clases o funciones ya existen? A partir de 4D v19 R4, se muestra una advertencia en el editor de código si llama a una función que no existe.

Nuevas posibilidades de personalización del editor de código

Además de personalizar la ventana y el área de código, 4D v19 R4 trae dos nuevas opciones de personalización:

  • Mostrar u ocultar los diez portapapeles.
  • El icono «mostrar/ocultar listas» se ha movido a la parte inferior derecha junto a las listas.

Despliegue

Utilizar aplicaciones cliente fusionadas duplicadas.

Como editor de software, algunos de sus clientes a veces tienen muchas instancias de su aplicación de servidor fusionado, por ejemplo, una aplicación de servidor fusionado para cada empresa de un grupo. En este tipo de arquitectura de despliegue, los responsables de su cliente suelen pedirle que instale una aplicación cliente fusionada para cada aplicación servidor fusionada en su ordenador porque quieren utilizar el software para cada empresa. A partir de ahora, tiene una nueva clave buildApp a su disposición para hacer que cada aplicación cliente fusionada duplicada utilice su propia carpeta de preferencias del usuario (basada en su ruta de aplicación): ClientUserPreferencesFolderByPath.

¿Quiere saber más? Lea todas las publicaciones del blog sobre 4D v19 R4