El nuevo control Kanban se destaca como una de las novedades más versátiles de la versión 28. Para aprovechar todas las funcionalidades de un tablero Kanban, basta con arrastrarlo y soltarlo en una ventana o página
Kanban es un método en el que las tareas se clasifican visualmente, lo que permite una mejor gestión de las mismas.
Cada tarea se escribe en una "tarjeta" que se mueve a una lista (o columna) diferente según el estado de progreso.
Además de las tareas, las tarjetas pueden representar cualquier otro tipo de recurso: fase de fabricación, requisito, sugerencia, entrega, resolución de problemas, historia de usuario, etc.
Un tablero Kanban suele compartirse entre varios usuarios.
Cada miembro del equipo puede ver el estado de avance del proyecto y saber cuáles son sus tareas y las de los demás miembros.
Además de mejorar la comunicación, este método basado en tarjetas ofrece una visión clara de la cadena de producción y del progreso de las tareas, lo que permite a los miembros identificar fácilmente los obstáculos y dar prioridad a determinadas tareas.
El control Kanban de la versión 28 incluye todas las funcionalidades que necesitan los usuarios:
Todas estas funcionalidades están a disposición de los usuarios finales de sus aplicaciones y sitios. Además de estar incluidas directamente en el control, también se pueden manipular mediante programación.
Puede gestionar varias características del control Kanban mediante programación:
El control Kanban, así como las listas y tarjetas tienen propiedades que permiten configurar todos estos elementos.
También es posible agregar y eliminar listas y tarjetas mediante programación.
kbCard, el nuevo tipo nativo de WLanguage, permite manipular el contenido de un control Kanban.
El tipo de variable kbCard contiene las siguientes propiedades:
Puede manipular listas mediante programación de la misma forma en la que manipula las columnas de una tabla.
En la versión 28, las nuevas funciones WLanguage KanbanSearch y KanbanFilter facilitan la búsqueda y el filtro de elementos en los controles Kanban.
Un mismo control Kanban puede utilizarse en WINDEV, WEBDEV y WINDEV Mobile 28.
Las principales funcionalidades son las mismas, con algunos ajustes para móvil y web que permiten aprovechar al máximo cada plataforma.
El control se adapta al modo vertical en los dispositivos móviles.
Aplique formato al texto en todas las plataformas
Markdown es un lenguaje de marcado "ligero" que permite dar formato al texto. Se puede utilizar en todas las plataformas: escritorio, web y móvil.
Por su sencillez y practicidad, Markdown es fácil de leer, aprender y recordar.
Por ejemplo: encierre el texto en asteriscos dobles (**) para aplicar formato de negrita, utilice # al principio de una línea para crear un encabezado, ## para crear un encabezado de segundo nivel, etc.
En la versión 28, puede escribir y dar formato al texto fácilmente en varios elementos de la UI utilizando Markdown (sin utilizar las funciones gPen, gImage etc.).
Esto puede incluir, por ejemplo:
Utilice las nuevas funciones MarkdownToDOCX, MarkdownToPDF y MarkdownToHTML para convertir texto Markdown a esos formatos.
En la versión 28, puede crear formularios PDF utilizando el editor de reportes.
Además de los controles disponibles en el editor de reportes, puede incluir los siguientes tipos de controles en los documentos PDF:
En la versión 28, ahora es posible crear reportes incluyendo estos controles para generar automáticamente formularios PDF interactivos.
Los usuarios finales podrán introducir datos, imprimir o guardar el formulario.
Un documento puede estar compuesto por una serie de reportes y páginas PDF.
Generar un único documento PDF a partir de esta serie de elementos reduce drásticamente el tamaño del archivo generado.
Por lo general, los usuarios pueden seleccionar texto en documentos PDF estándar.
Sin embargo, algunos documentos no permiten copiar texto, por ejemplo, si el texto ha sido escaneado.
Ahora, es posible extraer texto de las imágenes utilizando el OCR nativo integrado en los controles Lector PDF de WINDEV.
El OCR se ejecuta en un área definida por el usuario.
Un reporte puede utilizar un documento PDF como fondo.
El reporte mismo también podrá generarse como un documento PDF.
El tamaño del archivo PDF generado (que ya utiliza un fondo PDF) se reduce al menos un 50%.
En la versión 28, el proceso de generación de documentos PDF es mucho más rápido.
De 2 a 25 veces más rápido, según el tamaño de los documentos.
En la versión 28, puede ir directamente a la posición de un marcador determinado.
Para ello, puede utilizar el nuevo tipo de variable pdfBookmark y sus propiedades Title y PageNumber, la nueva propiedad Bookmark, y la nueva función PDFReaderGoToBookmark.
En la versión 28, puede definir la calidad y el tamaño del documento generado estableciendo una tasa de compresión.
Esto permite adaptar el tamaño del documento: cuanto menor sea la calidad, más ligero será el documento.
Puede definir la tasa de compresión utilizando el nuevo parámetro Quality de la función pdfSave de WLanguage: Automatic, High, Average y Low.
El control Lector PDF muestra una notificación cuando se firma un documento.
El usuario puede ver los detalles de la firma en el lector de documentos.
En la versión 28, estas notificaciones se han reformulado utilizando términos no técnicos. Ahora son más claras para el usuario final, lo que proporciona una mayor seguridad:
Redefina o cree sus métodos abreviados
En la versión 28, puede definir sus propios métodos abreviados de teclado en todos los editores de WINDEV, WEBDEV y WINDEV Mobile:
En la versión 28, puede crear métodos abreviados de teclado para cualquier acción, incluso para acciones que no tienen un método abreviado predefinido.
En la cinta de opciones, vaya a la pestaña "Inicio", despliegue "Opciones" y seleccione "Personalizar métodos abreviados de teclado" para abrir la lista de acciones disponibles en cada editor. A continuación, introduzca la combinación de teclas deseada.
¿Desea cambiar una combinación de teclas?
Vaya a la cinta de opciones y abra la lista de acciones disponibles en cada editor. A continuación, introduzca la combinación de teclas deseada.
Punto clave: podrá utilizar métodos abreviados de teclado personalizados en futuras versiones.
Además, puede exportar los métodos abreviados a otro equipo.
A veces, una aplicación se ralentiza de un momento a otro, sin explicación.
WINDEV 28 le ayuda a determinar y solucionar la causa del problema.
El analizador de rendimiento en tiempo real (ARTR) muestra un gráfico de actividad de la aplicación. Los datos pueden mostrarse en tiempo real o proceder de un archivo de registro.
Este gráfico permite identificar las causas del bajo rendimiento y posibles bloqueos.
El gráfico representa la actividad de la aplicación.
Los datos se muestran en tiempo real.
El gráfico utiliza dos niveles:
Puede avanzar o retroceder por el gráfico, ampliarlo, etc.
Los niveles altos que tardan demasiado aparecen en rojo.
Haga clic en una sección de nivel alto para ver las llamadas a las funciones, el tiempo de ejecución de cada función e incluso el código de las funciones.
El análisis del código permite identificar la causa de los procesos lentos.
Existen tres modos de análisis:
Utilice la función dbgEnableLog para escribir en el archivo de registro.
El analizador de rendimiento en tiempo real también admite aplicaciones multihilo.
El gráfico muestra la actividad de los diferentes subprocesos y permite analizar posibles casos en los que estos se bloquean entre sí: subprocesos esperando una sincronización, varios subprocesos esperando tareas, etc.
Los controles se desplazan y redimensionan automáticamente según las opciones definidas
Flexbox se basa en un modelo de posicionamiento de elementos dentro de contenedores o "cajas". Este modelo permite establecer una alineación vertical u horizontal, fijar tamaños relativos y anidar las cajas. Cada caja corresponde a un control Flexbox.
La ventaja de este modelo es que los contenedores y sus elementos se reposicionan automáticamente para adaptarse al navegador y/o al contenido.
Una página en modo Zoning (con o sin layouts) o en modo Responsive heredado puede contener uno o más controles Flexbox.
Los elementos se posicionan uno detrás de otro, dentro de un contenedor (control Flexbox).
Punto clave: uno o varios de estos elementos pueden ser a su vez contenedores.
En primer lugar, es necesario indicar cómo se deben posicionar los elementos dentro de cada contenedor: en filas o columnas.
A continuación, se debe indicar cuál será el comportamiento de los elementos cuando estos o su contenedor cambien de tamaño: insertar un salto de línea, ampliar, reducir, etc.
Aplique este método a los demás contenedores y elementos para definir el comportamiento de posicionamiento y redimensionamiento.
Las propiedades más comunes de flexbox están representadas de forma visual en la ventana de 7 pestañas, lo que permite definirlas fácilmente.
Se pueden definir propiedades más específicas escribiendo o copiando y pegando el código CSS correspondiente. Cualquiera que sea el caso, siempre encontrará una solución.
Para cambiar el comportamiento predeterminado, puede configurar cada control individualmente.
Por ejemplo:
Al igual que con el contenedor flexbox, también es posible definir el comportamiento de cada control escribiendo directamente el código CSS.
Para ahorrar tiempo, puede utilizar los modos predefinidos disponibles que corresponden a comportamientos estándar: no es necesario configurar cada una de las opciones.
Estos modos predefinidos pueden personalizarse.
Los controles Flexbox se pueden utilizar en todo tipo de páginas: Zoning, Zoning con layouts, Responsive heredado, etc.
Un control Flexbox puede ubicarse entre otros controles, pero también en un Looper, celda, etc.
Muchas más funcionalidades en la versión 28
La barra superior se conoce como "Action Bar" en Android y "Navigation Bar" en iOS. Sin embargo, para simplificar, solo utilizaremos el término "Action Bar".
La barra puede ser la del sistema o una personalizada.
La barra del sistema puede tener las siguientes características:
En la versión 28, la personalización de las barras ha mejorado considerablemente.
Ahora es posible personalizar aspectos específicos de las barras:
Por ejemplo, es posible:
¡Todo se puede personalizar fácilmente!
Principales novedades para dispositivos móviles en la versión 28: Nuevo control Editor de imágenes, nuevas barras superiores (Action Bar y Navigation Bar), nuevo control Kanban, 4 nuevos controles Smart, 2 nuevas plantillas, enlaces profundos (Deep links), página WEBDEV en una ventana móvil, sugerencias de formato de texto, etc.
WINDEV Mobile está abierto a lenguajes de programación externos.
Kotlin es un lenguaje de programación utilizado principalmente para Android.
En la versión 28, puede escribir código Kotlin en el editor de código directamente.
El resaltado de sintaxis facilita la escritura y lectura del código.
Nota: puede seguir utilizando código Java.
Principales novedades para Android en la versión 28: Soporte nativo de Kotlin, posibilidad de obtener el resultado de una "Actividad" (pago, etc.), posicionamiento libre de íconos en los botones, funciones avanzadas para imágenes ampliadas, 56 nuevas funciones WLanguage, etc.
El uso de páginas internas dentro de los Loopers abre un sinfín de posibilidades
En la versión 28, puede insertar un Looper horizontal en un Looper vertical, y viceversa: ¡deje fluir su creatividad!
El control Looper es uno de los controles más utilizados en WEBDEV.
Este control le permite definir un área con datos y controles, y utilizarla tantas veces como sea necesario.
En la versión 28, puede incluir nuevos tipos de controles: el control Looper ahora admite Páginas internas, lo que da lugar a un gran número de posibilidades.
Puede incluir Páginas internas (iguales o diferentes) en cada iteración.
Cada una de las Páginas internas puede contener a su vez un Looper.
Esta novedad permite mostrar fácilmente diferentes tipos de datos en cada iteración del control Looper.
La programación es más fácil que nunca gracias a las nuevas funciones LooperAddIP, LooperInsertIP y LooperModifyIP.
El mismo Looper puede utilizar diferentes Páginas internas.
WEBDEV 28 incluye un control Campo de entrada HTML con funcionalidades mejoradas.
En la versión 28, el control Campo de entrada incluye nuevas características útiles:
En la versión 28, el control Campo de entrada HTML incluye un nuevo evento WLanguage que será de gran utilidad.
El evento "Tecla presionada" de WLanguage ahora está disponible en código Navegador.
Este evento permite crear un conjunto de sugerencias para la funcionalidad de autocompletado, establecer métodos abreviados de teclado con las teclas de función, entre otros.
En la versión 28, la barra de herramientas del control HTML incluye nuevas opciones para:
El control Campo de entrada HTML incluye un modo de entrada de tipo "correo electrónico" que limita las funcionalidades de HTML a las reconocidas por la mayoría de clientes de correo electrónico.
Integre un sitio WEBDEV en una ventana WINDEV con comunicación bidireccional utilizando WLanguage
El nuevo control "Página WEBDEV" de WINDEV permite integrar un sitio web en una aplicación WINDEV e interactuar con él mediante programación.
Solo tiene que especificar la URL de la página que desea insertar.
La ventana que contiene el control interactúa con la página mediante procedimientos ejecutados en el navegador.
Estos procedimientos estarán disponibles en el editor de código de WINDEV y en las sugerencias de autocompletado.
Al integrar un sitio web en una ventana de una aplicación de escritorio, puede compartir los elementos existentes y aumentar la productividad.
Muchos de los nuevos proyectos de desarrollo están destinados a la Web.
Sin embargo, la mayoría de los proyectos existentes están compuestos por aplicaciones Windows.
Integrar un sitio web en una ventana WINDEV es un avance esencial para preservar y webificar los recursos de software de una empresa sin sacrificar ninguna funcionalidad.
Esto permite avanzar paso a paso, de forma rápida, ágil y sin riesgos.
Los procedimientos de la página WEBDEV a los que se puede llamar desde una ventana WINDEV deben especificarse en una interfaz compartida.
Estos procedimientos pueden realizar llamadas AJAX al servidor.
Los procedimientos WINDEV a los que se puede llamar desde una página WEBDEV deben declararse en una interfaz compartida.
La interfaz genera un archivo de configuración.
Este archivo de configuración debe proporcionarse al entorno de WEBDEV para poder llamar a los procedimientos de forma nativa.
Podrá llamar a los procedimientos de la ventana directamente desde el código de los procedimientos Navegador de la página.
Una página web puede contener menús, banners publicitarios, controles de estilo, un pie de página con el aviso legal, etc.
Esta información podría dejar de ser útil cuando la página se integra en una aplicación WINDEV.
Ahora WEBDEV incluye un nuevo tipo de layout específico para la integración de WINDEV y WINDEV Mobile. Este layout permite ocultar la información que no se necesita.
La página y la ventana deben intercambiar datos de forma segura.
Para empezar, la navegación en la página WEBDEV se limita al dominio de la URL proporcionada en la aplicación. Esto elimina el riesgo de ataques de secuencias de comandos en sitios cruzados (XSS).
Existen varios métodos para acceder a la página WEBDEV de forma segura si esta contiene datos sensibles:
A continuación, esta información se envía a través de una URL HTTPS segura.
Puede implementar opciones de seguridad adicionales.
Verificación en dos pasos o envío de un código por correo electrónico, por ejemplo.
También es posible implementar fácilmente restricciones de acceso por dirección IP.
Una de las principales novedades del último iPhone es la Dynamic Island, que transforma la muesca negra ("notch") en un widget.
La versión 28 de WINDEV Mobile soporta este nuevo comportamiento.
Solo tiene que definir la UI de los widgets con Swift UI, y luego con WLanguage podrá generar automáticamente los widgets en el proyecto y especificar el procedimiento callback al que se llamará cuando el usuario interactúe con el widget.
WINDEV Mobile 28 soporta iOS 16 y WatchOS 9
Todos los modelos de iPhone 14 y AppleWatch Series 8 están soportados.
El desarrollo para iOS nunca ha sido tan completo como con WINDEV Mobile 28. Aproveche las nuevas y potentes funcionalidades que se suman a las que ya están disponibles.
iOS evoluciona, y WINDEV Mobile 28 también. WINDEV Mobile 28 para iOS cuenta con:
iOS 16 permite crear widgets que se mostrarán en la pantalla de bloqueo, esté o no activada la Pantalla siempre activa.
En WINDEV Mobile 28, puede crear este tipo de widget.
El nuevo iPadOS 16 está soportado.
En WINDEV Mobile 28, ahora es posible crear widgets extra grandes.
El editor de código responde mucho mejor en la versión 28. En la mayoría de los casos, es dos veces más rápido, ¡y hasta cuatro veces más rápido cuando se trabaja con grandes secciones de código!
Ahora el editor es mucho más fluido.
Principales novedades del editor de código en la versión 28: Editor más rápido, hashtags, 7 nuevos métodos abreviados de teclado, búsqueda rápida, asistente de generación de consultas SQL, y mucho más.
La nueva función AIDetectContour detecta los contornos de una forma en una imagen.
La función devuelve un array de polígonos de todas las formas que se detectaron en la imagen.
Las nuevas "funciones de extensión" le permiten agregar sus propias funciones a los tipos de variables WLanguage.
Podrá llamar a las funciones que haya definido como funciones nativas de WLanguage.
Por ejemplo, puede crear una función que reemplace los tabuladores por espacios en una cadena.
Sus funciones aparecen en la lista de sugerencias de autocompletado de código para el tipo determinado.
Principales novedades de WLanguage en la versión 28: Cadenas indetectables, posibilidad de crear sus propias funciones WLanguage, invitación de calendario para que el destinatario agregue una cita o evento directamente a su calendario, transferencia segura de archivos mediante SCP, procedimientos locales o privados, conversiones UTF-8, UTF-16 y UTF-32, enderezamiento de imágenes, componente cargado en tiempo de ejecución, introspección mejorada, función única para realizar OCR en un área rectangular, certificado integrado en el archivo ejecutable, nuevos formatos de cifrado, posibilidad de obtener el atributo Mapping mediante programación, editor de scripts WDSCRIPT, y mucho más.
En la versión 28, los componentes externos pueden cargarse dinámicamente, lo que significa que no es necesario incluir el componente en el proyecto.
Las nuevas funciones ComponentLoad y ComponentExecute serán de gran utilidad.
La combinación de esta nueva funcionalidad con interfaces de programación orientada a objetos permitirá obtener una arquitectura más coherente.
El nuevo atributo undetectable ofusca automáticamente el contenido de la cadena en memoria.
El contenido de la cadena indetectable no puede leerse en un archivo de volcado de memoria.
La nueva función dStraighten de la versión 28 permite aplicar una corrección de perspectiva a una imagen.
Esta función se basa en un algoritmo de homeomorfismo.
En WLanguage, puede crear correos electrónicos fácilmente utilizando el tipo avanzado Email.
En la versión 28, la propiedad Attach permite insertar una o varias invitaciones de calendario en el mensaje de correo electrónico.
El destinatario podrá agregar la cita o evento a su propio calendario.
En la versión 28, puede definir el alcance de un procedimiento local y las variables globales de la ventana o página: public o private.
Los procedimientos públicos pueden llamarse fuera del control.
Los procedimientos privados solo pueden llamarse desde el control.
UTF-16BE y UTF-16LE son estándares de codificación Unicode (LE para Little Endian y BE para Big Endian).
LE y BE utilizan un orden de bytes diferente. La nueva función UTFConvert permite convertir cadenas entre estos formatos.
Las funciones de firma o cifrado pueden utilizar certificados de diferentes formatos.
En la versión 28, además de los certificados P12, también se admiten los formatos PEM y DER.
La nueva función PicRectangularSnipOCR abre la herramienta de recorte rectangular, extrae el resultado de la selección, ejecuta el OCR y devuelve el texto resultante.
La función GetDefinition ahora también permite obtener el prototipo completo de los procesos de inicialización de ventanas, páginas y reportes.
Las funciones de firma o cifrado pueden utilizar certificados.
En la versión 28, puede utilizar certificados procedentes de un búfer en memoria, y no solo de un archivo en el disco.
En la versión 28, puede indicar que una clave acepta valores NULL, es decir, que puede contener el valor Null.
Null es diferente de cero, o de una cadena vacía. Ahora, las operaciones de ordenación distinguen entre los valores NULL y los ceros.
Una clave primaria es una clave única que no puede contener valores NULL.
En la versión 28, puede definir claves primarias. Por ejemplo, los identificadores automáticos suelen ser claves primarias.
Principales novedades de HFSQL en la versión 28: Clave que acepta valores Null, clave primaria, función HTrack en un subproceso, AES-256, AES-128, AES-192, Centro de Control mejorado para HFSQL Cluster, HFSQL Spare, y mucho más.