Durante años Apple ha creado tecnologías que ha vendido a los desarrolladores como el futuro . Algunas de estas tecnologías han ido quedando atrás sin mayor explicación, otras han ido viendo cómo los recursos que Apple dedicaba a su desarrollo han ido menguando ( el caso más reciente, todos los recortes realizados cuando se anunció la integración de las tecnologías de NeXT ) . Sobre otras, desde siempre, ha pesado la incógnita . Pongamos AppleScript como ejemplo . La interfaz y la parte interna del Sistema no han sufrido grandes variaciones durante años . Hasta que, durante la Conferencia de Desarrolladores, Jobs prometió que AppleScript sería nativo, la mayor preocupación era: habrá AppleScript en el Mac OS X ? ( y, anteriormente, ¿ habrá AppleScript en Rhapsody ? ) La respuesta de Apple era: habrá algún sistema de scripting . Sin dar más detalles .

Con la promesa de Jobs cumplida en la versión incluida en el Mac OS 8 . 5 Apple parece responder a esas eternas preguntas sobre el futuro de AppleScript ( también responde a las preguntas sobre el futuro de OpenDoc, pero esa es otra historia ) . Al tiempo que aumenta la velocidad de AppleScript, Apple presenta una serie de nuevas herramientas, todas ellas con su correspondiente soporte para AppleScript . Incluso el Finder añade nuevas ( e ingeniosas ) características mediante el uso de scripts .

AppleScript por dentro

Un poco de teoría sobre la tecnología . AppleScript es un dialecto compatible con la Open Scripting Architecture ( OSA ) que Apple presentó con el Sistema 7 . Esta arquitectura define una serie de estándares para la definición de objetos y acciones dentro de una aplicación y la forma de enviar y recibir mensajes entre estos objetos, incluso entre distintas aplicaciones . Asimismo, ofrece las herramientas necesarias a nivel de programación para poder definir los objetos de manera estándar y para enviar y recibir datos entre los objetos .

Dicho de forma sencilla, un programador crea su aplicación y, dentro de ella, crea una serie de objetos siguiendo los estándares definidos en OSA, que pueden o no estar directamente relacionados con los elementos de la interfaz; “engancha” los objetos que ha definido con su interfaz, de manera que cuando un objeto es modificado de alguna manera, en la interfaz se reflejan los cambios . Por ultimo, mediante la creación de un diccionario, relaciona los objetos y los comandos soportados por la aplicación con los dialectos de OSA . Los diccionarios que se pueden ver con el Editor de scripts relacionan los comandos definidos dentro de la aplicación con verbs en idioma “normal”, en este caso, en el dialecto de AppleScript .

Esta es, en resumen, la teoría de operación: el programador añade soporte para AppleScript, incluye un diccionario para que el “mundo exterior” entienda cómo acceder a los objetos y comandos definidos, y un usuario escribe un script que maneja dicha aplicación . Y por aplicación se entiende también el Finder ( un programa como cualquier otro ) .

Una vez entendido esto, se tiene más claro que AppleScript en sí mismo no proporciona más que la base y las herramientas para que las aplicaciones puedan ser manejadas, pero que si estas aplicaciones no se dejan manejar, no hay nada que hacer . El desarrollo de AppleScript, la tecnología, ha seguido un camino, en ocasiones ha estado parado, mientras que el desarrollo del soporte del sistema operativo, del Finder y de las distintas extensiones, ha seguido otro distinto, de forma que las modificaciones que el Mac OS 8 . 5 aporta, con respecto al soporte de AppleScript son realmente dos: una nueva versión de la extensión AppleScript, y mejoras en el soporte a AppleScript de las distintas partes del Sistema .

AppleScript 1 . 3

Realmente se trata de la versión 1 . 3 . 2 . Los números de versión de AppleScript y de su “enlace” con el gestor de eventos del sistema operativo, el Object Support Library ( realmente las utilidades que los programadores usan para soportar el OSA ) siempre han estado un poco confusos, hasta el punto de que existe una nota técnica, la 1095, que explica todo el lío de versiones y correcciones de errores .

El caso es que esta versión es, por fin, nativa para procesadores PowerPC . En términos de márketing, hasta cinco veces más rápida que las versiones anteriores . En términos reales, por fin AppleScript dejará de ser el cuello de botella de muchos procesos automatizados que lo emplean . Por que lo que sí es cierto es que AppleScript se usa en multitud de empresas y como soporte a distintos sistemas de producción a medida .

La razón de esta proliferación ( lenta, pero constante ) de sistemas que se apoyan en AppleScript es sencilla: es más fácil ( y, por supuesto, rápido ) tomar un par de programas comerciales y unirlos mediante unos cuantos scripts que tener que crear un programa nuevo . Hay multitud de ejemplos, la mayor parte de ellos inadvertidos incluso para la gente que los utiliza: en el CD-ROM de ABC Cultural, el enlace con los navegadores Netscape o Explorer se realiza mediante un script; en un sistema de maquetación en Quark XPress a partir de una base de datos en FileMaker, el enlace con las imágenes almacenadas en el gestor de imágenes Cumulus se ejecuta con un script, de forma completamente transparente para el usuario, que sólo tiene que seleccionar una opción y sentarse a ver como las páginas se rellenan solas en XPress . Por último, una utilidad que extrae mensajes de Eudora y los coloca en una base de datos en FileMaker emplea scripts, tanto para conocer la estructura de la base de datos, como para colocar los datos en los campos concretos .

Todos estos son ejemplos de sistemas “en activo”, que emplean AppleScript y que se verán beneficiados del aumento de la velocidad . Pero, paralelamente a este aumento de velocidad, el soporte de AppleScript de los elementos del Sistema, desde el Finder hasta el más nuevo Panel de Control ha mejorado sustancialmente .

Muchas de las opciones que funcionaban directamente en el Finder como, por ejemplo, las opciones de usuarios y grupos o de conexión con Internet, están ahora incorporadas en el panel de control correspondiente . Otras, como ColorSync o las impresoras de escritorio, pueden ser controladas mediante scripts . Algunos de los osax del sistema ( extensiones del OSA, pequeños módulos que extienden la funcionalidad del lenguaje con nuevos comandos ) desaparecen o se agrupan en uno solo . Incluso los diccionarios, que contienen las relaciones entre los comandos de AppleScript y los objetos definidos en las aplicaciones, han sido depurados y estructurados de una forma más clara . Hay que tener en cuenta que el soporte de AppleScript del Finder no ha parado de evolucionar desde el Sistema 7 . 1, unas veces mediante librerías externas ( la FinderLib de Apple ) , o mediante nuevas versiones del Finder, que agrupaban todo lo creado hasta el momento, a veces sin demasiado orden .

Nuevas utilidades del sistema, como Sherlock o el Visor de Ayuda, incorporan directamente soporte para AppleScript . Aunque en ocasiones cabe preguntarse la utilidad de determinados comandos, siempre habrá alguien que la encuentre al tener una “puerta de entrada directa” a determinadas funciones de una aplicación, sin tener que pasar por la interfaz . Incluso, algunas de las funciones nuevas, sólo están disponibles desde AppleScript ( ver el cuadro dedicado a Sherlock ) .

Por último, dentro de las mejoras que se podrían definir como “generales”, es la primera vez que Apple incluye tanta documentación sobre AppleScript en su Sistema Operativo . El Centro de Ayuda, accesible desde el Finder, incluye una sección dedicada por completo a AppleScript, y contiene desde las nociones más sencillas del lenguaje hasta scripts