Logo FileMaker Business Alliance Trainer & Apple Consultants Network
Foto trucos

Truco: cómo ser el más rápido.

Algunas técnicas para optimizar su desarrollo.

Una base de datos FileMaker debe ser rápida. No hay excusas. No podemos decirle a nuestro cliente que la base es lenta porque hay un guión que está haciendo operaciones muy complejas. Por eso, hay que desarrollar pensando en cómo ahorrar al máximo recursos para ir recortando los posibles tiempos de espera.

Además de contar con el hardware adecuado (una tarjeta de red rápida, mucha RAM y un disco duro rápido), el propio desarrollo debe hacerse pensando en que nuestros usuarios no van a acceder siempre a través de una red ethernet. Seguro que alguien accede con FileMaker Go con una conexión 3G de baja calidad. Ahí es donde un desarrollo se la juega.

Seguro que mientras hace el desarrollo y lo prueba en su ordenador, todo va bien, pero cuando hospeda la base en el servidor y la comparte, ahí pueden empezar los problemas.

En este artículo vamos a ver unos sencillos trucos que conseguirán acelerar ligeramente nuestros desarrollos.

I. Sólo lo necesario

Cuando entro en una presentación con campos, FileMaker va a cargar todos esos datos para mostrárselos al usuario. Debemos evitar, pues, mostrar más información de la imprescindible en las presentaciones.
Dicho de otro modo, para fabricar el pedido de un cliente, no me hace falta ver ni su CIF ni los nombres y apellidos de sus 32 contactos. Por eso, es bueno crear presentaciones específicas para cada departamento que vaya a usar la base y mostrar en ella sólo los campos necesarios.

 

II. Orden

Una de las acciones más frecuentes es la búsqueda a través de un guión. Lo habitual es:

Ir a la presentación [ miPresentación ]
Modo buscar

Al trabajar así, estoy obligando a FileMaker a mostrarme los datos del registro que aparece al ir a la presentación de búsqueda cada vez que ejecuto el guión. Es mucho mejor invertir los pasos de guión:
Modo buscar
Ir a la presentación [ miPresentación ]

De esta manera me ahorro "cargar" un registro que no necesito para nada.

III. Cálculos

En la medida de lo posible, hay que huir de los campos de cálculo. Si no hay más remedio, se usan, pero hay que pensar siempre en métodos alternativos que los puedan reemplazar.

Si nuestra base de datos va a ser publicada mediante publicación web personalizada, es más que recomendable usar campos "planos" y no obligar a FileMaker a hacer cálculos adicionales.
Aunque no siempre será posible prescindir de los campos de cálculo, sí que podremos a veces conseguir el mismo resultado con campos con valor actualizado.
Por ejemplo, para obtener de forma agrupada el nombre y los apellidos de una persona, evitaremos el típico campo de cálculo con:

Nombre & " " & Apellidos
y usaremos el mismo cálculo pero un sencillo campo de texto a través de un valor calculado:

some image

 

No hemos de olvidar desmarcar la casilla "No reemplazar el valor existente del campo (de haber alguno)".

IV. Case

Como sabe, la función Case se evalúa de arriba hacia abajo. Una vez se cumple la condición, el cálculo se detiene.
Por eso conviene siempre poner primero las opciones más probables y abajo las más improbables.

El siguiente ejemplo es bastante ilustrativo:

some image

[Nota: para saber más sobre la función Case entre en http://www.filemaker.com/es/help/html/func_ref3.33.2.html.]

V. La primera presentación

Es habitual usar un guión que se ejecuta al abrir una solución FileMaker. Este primer guión (ejecutado a través del disparador de guión OnFirstWindowOpen) carga información del usuario (nombre de cuenta, dispositivo...) así como otras variables globales que podamos necesitar. También lo usamos para llevar al usuario a la presentación de inicio de nuestra solución.

Es importante saber qué orden sigue FileMaker al abrir sus documentos en cuanto a las presentación que va a mostrar en primer lugar. Dicho orden es el siguiente:
1º Muestra la última presentación en la que estábamos la última vez que el archivo se abrió en modo local.
2º Va a la presentación que le marquemos en las opciones de archivo (Menú archivo --> Opciones de archivo)

some image

3º Por último, va a la presentación que le hayamos indicado en nuestro guión de arranque.

some image

Conscientes de ello, conviene crear una presentación vacía para que el usuario llegue rápido a la base de datos. En esta presentación puede colocarse un texto que dé tranquilidad al usuario:

some image

Al estar vacía la presentación, se cargará muy rápidamente.

Por último, tendremos la precaución de ir a esta presentación antes de cerrar el archivo la última vez que lo abramos en modo local antes de subirla al servidor.

 

VI. La función Let

El hijo de la hermana pequeña de mi madre se llama Nacho. Cuando nos referimos a él, podemos hacerlo de dos formas:
- "Nacho"
- "el hijo mayor de la hermana de mi madre"
Si utilizo su nombre, no he pensar nada más. Lo identifico rápidamente entre el resto de mis primos. En cambio, si durante una conversación se refieren a él como "el hijo mayor de la hermana de mi madre" tengo que pararme a pensar primero en la hermana de mi madre y después calcular cuál de sus tres hijos es el mayor.

Pues, en esencia, eso el lo que hace la función Let en FileMaker: me permite nombrar un cálculo o un valor de la forma que yo quiera y después acudir a él por ese nombre.
El uso de Let facilita la legibilidad del código pero además (y esto es lo que nos interesa), le ahorra trabajo a FileMaker ya que sólo tiene que hacer el cálculo una vez.

Por ejemplo, si he de hacer un cálculo en función del mes en el que estoy, puedo hacerlo así:
some image

Si lo hago así, estaré obligando a FileMaker a calcular ¡4 veces lo mismo! con el Get (CurrentDate). En cambio, si uso un Let...
some image

...FileMaker calculará sólo una vez la fecha de hoy y utilizará ese valor en el resto del cálculo, por lo que irá todo más rápido.

[Nota: para saber más sobre la función Let entre en http://www.filemaker.com/es/help/html/func_ref3.33.15.html.]

 

VII. Conclusión

Al igual que a la gente no le gusta esperar a que se cargue una página web, tampoco les gusta esperar para acceder o moverse por una base de datos FileMaker. Por eso, como nunca sabemos en qué condiciones se va a trabajar con nuestra base de datos, hemos de programarlas tratando de ahorrarle trabajo a FileMaker no sólo con ordenadores potentes (eso es lo fácil) sino también con una programación optimizada al máximo.

 

Javier Durá
Desarrollador Certificado de FileMaker 11, 12, 13, 14 y 15
@soyjavidura