Uniface 10

¿Tienes algo que contar? ¿Has visto algo interesante? ¿Vendes algún producto?
Post Reply
luis.vila
Posts: 194
Joined: 17 Sep 2011, 12:46

Uniface 10

Post by luis.vila »

El pasado día 22 de abril tuve la oportunidad de asistir a un evento de Uniface en Eindhoven para presentar y distribuir la pre-release de la versión 10.

Resumiendo, una versión completamente funcional aunque con algunas carencias pero que sirve para hacernos una idea real de su funcionamiento.

En la presentación realizada con anterioridad, era el presentador el que interactuaba con Uniface. En esta ocasión pudimos instalar la pre-release en nuestros portátiles y seguir la presentación con una versión viva.

Lo que más me llamó la atención es el uso de "snippets" o trozos de código reutilizable con pequeños cambios: el típico bucle a tu manera, el procesamiento de una lista,... Esos pequeños trozos de código que tiendes a escribir una y otra vez porque ni son procedimientos ni servicios, solamente cosas que sueles hacer de la manera en la que las haces. Un Copia-pega organizado.

La forma de abrir los componentes y otros elementos de Uniface también es interesante. Basta escribir su nombre y se abre. Ayuda si se tienen unas reglas de nomenclatura claras.

Multi-monitor. Con dos monitores o más, descubres lo cómodo y productivo que es desarrollar en un monitor y debugear en otro. Con Uniface 10, puedes desanclar las pestañas de manera que puedes llevar la ventana a otro monitor. Al final, tienes varias vistas del entorno de desarrollo en pantalla.

Esto nos lleva a un elemento esencial del entorno, las pestañas. Cada componente que abres, se instancia en forma de pestaña de manera que puedes tener varios abiertos y pasar de uno a otro de manera rápida. Viene a ser la evolución del dropdownlist que indica los últimos componentes abiertos, pero sin referencias duplicadas.

Finalmente, aparecen "Proyectos" como agrupaciones de uno o varios elementos y que, además, pueden ser recursivos. Los estupendos "Subsistemas" no triunfaron por dificultad de uso y por quedar desligados de los UAR. En esta ocasión, los proyectos están en primer plano y muy relacionados con los UAR de manera que tu proyecto completo esté formado por multitud de subsistemas. Uniface es Component Based Development, así que componentes individuales se unen para formar componentes complejos. El proyecto contiene una referencia a multitud de elementos que lo forman.
splash.png
splash.png (25.36 KiB) Viewed 5192 times
El splash-screen lo deja claro, se trata de Uniface web edition.

En cuanto arranca, queda claro que algo ha cambiado.
main.png
main.png (112.5 KiB) Viewed 5192 times
Hay una serie de elementos que aparecen en primer plano. El What's new aparece protagonista. Personalmente, eché en falta un What's still the same. ¿Dónde está el menú? Se ha simplificado y muchas opciones aparecerán en el botón derecho del ratón. Arriba a la izquierda aparece un campo que permite búsquedas de componentes, entidades, objetos de la biblioteca...
dsp.png
dsp.png (122.89 KiB) Viewed 5192 times
Con un DSP abierto, se pueden seleccionar varios campos y hacer cambios en todos ellos: por ejemplo cambiarles a todos el widget.
Los templates, a la izquierda, son elementos que sirven de guía para construir diferentes objetos de Uniface: componentes, campos en el modelo, widgets. Por ejemplo, toolbox ahora se define como un grupo de templates: EditBox, Button, Label,... Para una entidad, aparecen los templates Database, No Database, Boilerplate y Control para crear campos.
code.png
code.png (96.71 KiB) Viewed 5192 times
El editor de código mejora y dejan de aparecer los sitios especiales para triggers. En su lugar, es una ventana completa de código donde los triggers se van introduciendo de la misma manera que se han hecho siempre los procedimientos locales con "entry". En el pantallazo, el trigger Detail para el botón STORE.

Un poco más de detalle. Al hacer un componente, tenemos varias perspectivas: Structure, Script y Layout
structure.png
structure.png (10.24 KiB) Viewed 5192 times
Cuando estamos trabajando con la estructura del componente, lo que podemos usar son elementos del modelo ó templates.
script.png
script.png (10.79 KiB) Viewed 5192 times
En cambio, cuando estamos codificando su comportamiento, lo que podemos usar son snippets (de una librería o de nuestro propio proyecto). Los snippets son código ó HTML. Aunque nos quedaremos que es un trozo de texto que podemos reutilizar: el típico bucle que escribes siempre a tu manera, un conjunto de botones que pones constantemente, un mensaje de copyright con un logo, ...

Entonces, "What's still the same?" El caso es que ha cambiado el entorno de desarrollo, han aparecido cosas nuevas pero el fondo sigue siendo igual. Las pantallas modales del IDF han desaparecido por completo y se puede acceder a todo a la vez: código, propiedades, otro componente...
Los snippets son algo completamente nuevo y parecen realmente útiles (sino hacemos 20 para lo mismo y tardamos 60" en encontrar el snippet que nos evita teclear 2 líneas).

$status=0 ; se acabaron los problemas
Post Reply