Skip to content

Developer Notes

Pedro Gallego
Las "malas prácticas" que pueden provocar que su aplicación FileMaker sea lenta e ineficaz

Campos de sumario: Los campos de sumario en las presentaciones de listado son una de las principales razones de bajo rendimiento o lentitud en muchas aplicaciones de FileMaker. A menudo entramos a una presentación con vista de listado en la que queremos mostrar varios cientos o miles de registros y recibimos un mensaje cansino y deprimente que dice “Calculando [x cantidad] registros …” y, a veces, la visualización final de la pantalla puede tardar varios minutos, lo que para los usuarios ha sido una eternidad.

Solución: Evaluar si el campo de sumario es realmente necesario en esa presentación en particular. Aplicar condiciones de ocultación para que ese campo sumario solo se muestre en momentos concretos o con ciertos conjuntos de registros encontrados.

Campos de cálculo: Este tipo de campo también es más crítico en las presentaciones de listado. La típica presentación que muestra un listado de facturas con sumas valoradas (base imponible, importe IVA, total factura…), como en el caso del ejemplo anterior, este tipo de visual puede ser motivo de desesperación, sobre todo si visualizas estos campos en pantallas que se utilizan mucho.

Solución: intenta almacenar este tipo de datos en campos indexados/almacenados (no recalculados).

Ejecuciones SQL: Las funciones de SQL en FileMaker pueden ayudar a obtener información sin tener que recurrir a relaciones de tablas complejas u obtener datos a través de un guión más elaborado, pero en ocasiones la propia ejecución de SQL sobre campos calculados puede llegar a causar lentitud.

Solución: Utilice SQL con moderación, sustituya esas ejecuciones SQL por tomas de datos mediante relaciones entre tablas, cuando sea posible. Pero lo más efectivo: intente generar los cálculos con esas funciones SQL dentro de guiones que se ejecuten desde servidor.

Múltiples ventanas en la ejecución de un guión: En ocasiones necesitamos ejecutar un script que abre varias ventanas con diferentes tablas de datos y además todo ello metido en un bucle que repetidamente abre o cierra dichas ventanas o salta de una a otra. Cada vez que ese proceso se realiza dentro del bucle, al llegar a la ventana activa, el contenido en los registros y el tipo de campos que muestra puede ser un factor determinante que provoca una lentitud en la ejecución de cualquier petición que le hagamos a nuestra aplicación.

Solución: Utilice presentaciones en formato de tabla que estén vacías de campos, es decir, que no muestren ni un solo campo. Los cálculos, saltos a registros, establecer campos, etc. se ejecutan igual, aunque no estén dichos campos presentes en la pantalla y sin embargo la rapidez en la ejecución puede ser muy superior dado que el motor de cálculo interno de FileMaker no tiene que trabajar para mostrar resultados porque no hay campos que mostrar.

Hay soluciones para estos y muchos otros problemas. Soluciones que hacen que su aplicación FileMaker pase de ser un elefante enorme, cansado que arrastra las patas, a una herramienta ágil, poderosa, eficaz y fácil de usar.

Aplicar estas mejoras y los resultados que se puedan obtener de ellas puede marcar la diferencia entre un usuario descontento que incluso se plantea dejar FileMaker para buscar otra alternativa, a un usuario satisfecho y contento con su aplicación que también evangeliza nuestra plataforma.

¿Sigue luchando por optimizar el rendimiento de sus soluciones o descontento con la aplicación que le han desarrollado?

Póngase en contacto con nosotros. Deje que uno de nuestros consultores experimentados analice cuál es la mejor solución para optimizar estos problemas y transformar su aplicación lenta y poco efectiva en una herramienta contundentemente ágil y resolutiva.

[hubspot type=form portal=8359960 id=c14363ea-1ff1-462b-bb4e-959e84fa7713]

/

You might find these articles interesting too

ProgramDesign se une al Grupo Lesterius.

Comunicación

El fin de una era...

Developer Notes

Una mirada a los 20 años de Lesterius

Meet the team