Tiger a vista de desarrollador: Introducción, por Juan de Dios Santander

Este es el primer artículo de una serie que pretende mostrar en detalle el funcionamiento de las diferentes tecnologías que van a hacer de Tiger la mejor versión del Mac OS X que haya existido nunca, y posiblemente el mejor sistema operativo de Servidor y de Escritorio.


666 10
666 10

jdsant_2004_05_11_80x80.jpgEste es el primer artículo de una serie que pretende mostrar en detalle el funcionamiento de las diferentes tecnologías que van a hacer de Tiger la mejor versión del Mac OS X que haya existido nunca, y posiblemente el mejor sistema operativo de Servidor y de Escritorio.

Apple ha proporcionado una introducción a Tiger, la “sneak preview”, para no programadores, y ahora mismo está proporcionando información adicional a los programadores a través de la Apple Developer Connection, su portal de información al desarrollador (acceso básico gratuito).

Sin embargo, las novedades más importantes que Tiger va a incorporar están pensadas para aumentar la productividad del usuario, y también para facilitar al desarrollador la creación de nuevos tipos de aplicaciones con mucho menos esfuerzo.

Eso significa que tecnologías como Core Image o Spotlight van a permitir crear aplicaciones que eran muy difíciles de crear con anterioridad, y otras van a hacer que aumente el número de personas capaces de crear programas para Mac, de modo que todos nos beneficiaremos de ellas.

Conocer un poco más en detalle cómo funcionarán esas nuevas características nos va a permitir saber hasta qué punto van a tener una influencia en nuestro uso del sistema, y sobre todo, conocer de primera mano la facilidad con la que los programadores van a poder incorporarlas en sus aplicaciones, diferenciando aún más las capacidades de la plataforma con utilidades que no podrán encontrarse en ningún otro sistema operativo.

Un tigre muy tecnológico

Mac OS X Tiger, entre otras, va a presentar las siguientes tecnologías:

– Spotlight

– Dashboard

– Automator

– Core Image

– Core Data

– Soporte total de 64 bits

– Xcode 2.0

Vamos a dar un repaso a cada una de estas tecnologías en esta introducción, y en el futuro dedicaremos artículos específicos sobre cada una de ellas.

Spotlight: el foco de atención

Spotlight es el nombre que en inglés reciben los focos que sirven para marcar a un personaje en particular en el teatro, o las luces de búsqueda de las torretas de vigilancia en prisiones y centros militares. En este caso, Spotlight ha sido y sigue siendo el foco de atención de entre todas las tecnologías que incorporará Mac OS X Tiger, dado que el número de archivos que manejamos cada día se hace más abrumador.

Lo que es más, esos archivos disponen, en muchas ocasiones, de espacio para describir o titular la información contenida. El ejemplo más claro son los marcadores ID3 en los archivos de audio MP3 y AAC, que nos permiten introducir en el propio archivo información sobre autor, título, género, álbum… o los marcadores EXIF de los archivos JPEG generados por cámaras digitales, que nos dan información sobre la distancia focal, apertura, iluminación de flash, etcétera, utilizadas para una determinada toma. También acuden a la memoria las propiedades de un documento Microsoft Word o PDF, que incluyen espacio para autor, cliente, número de palabras… Llamamos meta-información, o meta-datos, a esta información adicional sobre el contenido de un archivo.

Actualmente, es imposible realizar una búsqueda global en toda esa meta-información, y a veces ni siquiera es posible una búsqueda desde dentro de aplicaciones concretas (iPhoto no puede decirte cuáles de las fotos de tu biblioteca se tomaron con flash, por ejemplo). Spotlight viene a resolver ese problema.

¿Cómo se presenta Spotlight al usuario? De forma directa, lo hará a través de una lupa situda en la esquina superior izquierda de la pantalla: cuando se despliegue el menú asociado, podremos introducir uno o más criterios de búsqueda, y cualquier archivo que contenga meta-información compatible con los criterios seleccionados se verá marcado.

¿Significa esto que Spotlight va a buscar dentro del contenido de todos los archivos disponibles? ¿No será esto aún más lento que las búsquedas actuales? Y sin embargo, en las demos de Steve Jobs y Phil Schiller, el sistema era realmente rápido… ¿Hay truco?

Bueno, sí lo hay: en lugar de buscar en todos los archivos, Spotlight busca únicamente en el “repositorio Spotlight”. Este repositorio está dividido en dos partes: contenido, y meta-información. El repositorio de contenido es el índice de contenido que se ha venido creando desde la aparición de Mac OS 9, y que se vio muy mejorado en Mac OS X Panther. El repositorio de meta-información es el auténtico corazón de Spotlight, y se actualiza cada vez que grabamos o copiamos un archivo a un disco. De paso, la misma tecnología que permite a Spotlight actuar cada vez que modificamos un archivo va a devolver al Finder de Tiger la actualización en vivo propia del Mac OS 9, manteniendo el consumo de recursos de CPU al mínimo.

El esquema de funcionamiento de Spotlight puede verse en esta ilustración:

spotlightJUande.jpg

Cada vez que se graba o modifica algún archivo en el sistema de archivos, se utiliza la identificación del tipo de archivo para localizar el “importador” (Importer) que es capaz de extraer la meta-información de dicho archivo, y el motor de Spotlight se encarga de almacenarla de forma sistematizada en el Repositorio. A partir de ese momento, cualquier aplicación (por ejemplo, el Finder), puede realizar consultas sobre meta-información, y una búsqueda sobre autor podrá devolver archivos de cualquier tipo para los cuales exista la clave común autor. Así mismo, una búsqueda sobre imágenes de 1024 pixeles de ancho o más devolverá archivos TIFF, PNG, PSD… cualquier tipo de archivo con meta-información compatible.

Tiger tendrá importadores para gran cantidad de archivos: cualquier cosa que QuickTime sea capaz de manejar, además de documentos Office, historias de iChat, contactos, correo electrónico, y muchos más. Pero además es realmente sencillo para un desarrollador crear un importador para la meta-información de su propio formato de archivo: Xcode 2.0 (hablaremos de él más adelante) incorpora una plantilla para crear importadores, y basta duplicar en el importador la parte de código que lee el formato de archivo en la aplicación, junto con código que copia el contenido leído en el formato propio de Spotlight. Lo más interesante es que basta el importador para poder buscar meta-información dentro de un formato de archivo que, por otro lado es inaccesible sin la aplicación que lo creó.

iAplicaciones y Spotlight

Pensemos en esto: una de las mayores pegas que la gente pone al uso de iTunes e iPhoto (especialmente en el caso de iPhoto) es que crean una determinada forma de guardar la información en el disco duro, que puede no ser compartida por el resto de la gente. Y además, obliga muchas veces a una duplicidad de la información.

Con Spotlight, iTunes mostraría todos los documentos reproducibles en el o los volúmenes montados, y ese contenido variaría dinámicamente con la inserción o extracción de discos duros u otros dispositivos de almacenamiento del sistema.

iPhoto haría lo mismo, y es muy posible que a través del soporte QuickTime trabaje con todo tipo de formatos, incluso el formato DNG (Digital Negative) que está proponiendo Adobe.

En todo caso, y tal y como hemos visto, Spotlight permite que el usuario acceda a mucha información que antes resultaba inaccesible, y además permite que muchos proveedores de contenido, sin tener que revelar el formato interno de sus archivos, permitan el acceso a gran cantidad de meta-información contenida en los mismos.

Dashboard: el salpicadero digital

Dashboard es otra funcionalidad que presentará Tiger, y es el resultado de la integración del Web Kit, el motor de visualización HTML, CSS y Java Script, junto con Exposé y el resto del Mac OS X.

Cada uno de los elementos presentes en el Dashboard, o widgets, es un conjunto de HTML para definir el contenido, CSS para definir la presentación, y JavaScript para la parte de programación, cálculo, control… Además, Apple ha ampliado el conjunto de elementos de HTML y CSS para permitir la introducción de elementos adicionales, como trozos de código Carbon o Cocoa, que permitan operaciones no disponibles a través de JavaScript.

La importancia fundamental de esta tecnología es que ya existe un gran número de desarrolladores web que manejan HTML, CSS y JavaScript, muy superior al número de desarrolladores Carbon o Cocoa, y por tanto aumenta la cantidad de personas capaces de realizar programas o utilidades para Mac OS X.

Aún no disponemos de suficiente información, pero cabe imaginar que será posible desarrollar widgets que funcionen fuera del entorno Dashboard, como una aplicación más. En todo caso, seguramente será posible crear una pasarela que lo permita, del mismo modo que es posible visualizar salvapantallas en el escritorio, por ejemplo.

Automator: programación útil mediante arrastrar y soltar

Puede no parecer tan espectacular como las dos tecnologías anteriores, pero Automator tiene, para mí, un encanto especial. Quizá es el icono que recuerda al robot H.E.R.B.I.E. de los 4F, o quizá es que realmente hay más sustancia: las tecnologías anteriores facilitan el día a día del usuario, mientras que Automator pretende que merezca la pena por primera vez realizar dedicar tiempo a planificar tareas largas y tediosas aunque sólo vayamos a realizarlas una vez.

Un ejemplo típico con Automator es grabar un CD con las fotos que añadimos a iPhoto en el último año, para que toda la familia pueda actualizar sus fotos en Navidad. Si quisiéramos hacerlo a mano, crearíamos en iPhoto 4 un álbum inteligente, y daríamos la orden de grabar. Tendríamos que confirmar que no queremos cambiar el tamaño ni el formato de archivo de las fotos, y pasaríamos a dar a OK.

Con Automator, seleccionaríamos la acción “Encontrar fotos en iPhoto”, y la haríamos seguir de la acción Grabar fotos. Y no necesitamos tener iPhoto para hacer esto. Lo que es más, tampoco necesitamos conocer AppleScript para hacerlo. Y podremos pasar la acción que acabamos de realizar a otros Mac (o usuarios) de nuestra familia para que también se graben las fotos que ellos añadieron…

Lo mejor es que Automator tampoco está restringido a las aplicaciones de Apple, como Spotlight no estaba restringido a formatos estándar: cualquier desarrollador puede crear acciones para Automator para sus productos… ¡o los de otros desarrolladores que aún no soporten Automator! Así se generalizará el uso de Automator, e incluso es posible que veamos un mercado de acciones, igual que es previsible un mercado de widgets e importadores.

Core Image: democratización del efecto visual

Core Image son plugins de tratamiento de imágenes para todos los programadores. Y además, la visualización en pantalla se hace a tiempo real, gracias al uso de las capacidades de las nuevas tarjetas gráficas. Bueno, aún queda por determinar cómo de nuevas habrán de ser.

El núcleo de Core Image son las Image Units, similares a las Audio Units, pero capaces de procesar una o más imágenes para proporcionar un resultado final. Estas Image Units pueden operar no sólo sobre imágenes estáticas, sino también sobre vídeo en tiempo real. Las Image Units deben ser capaces de obtener “muestras” de las imágenes fuentes, de modo que todas las operaciones de edición son no destructivas, e incluso pueden ser independientes de la resolución.

De nuevo, cualquier programador puede crear Image Units utilizando las herramientas de desarrollo para Tiger de Apple. En cambio, es necesario pertenecer al programa de desarrolladores de Adobe (un programa de pago) para poder solicitar la documentación para crear plugins para las últimas versiones de PhotoShop… y cabe la posibilidad de que Adobe la deniegue. Y cualquier programador puede crear un entorno basado en Core Image, olvidándose de la creación de Image Units, para proporcionar herramientas de edición personalizadas para una tarea concreta, aprovechando todas las Image Units que se encuentren disponibles en el sistema.

Core Data: programación gratis

El lema de la programación en NeXTSTEP (el abuelo del Mac OS X) es: programa la parte específica de tu aplicación, del resto nos encargamos nosotros. Y con cada iteración del sistema, se ha ido un paso más allá.

El paso adicional que aporta Tiger es Core Data: un sistema para que los programadores se puedan olvidar de cómo programar el grabar y leer archivos e información no perecedera. El programador se preocupa de la funcionalidad, y del modelo que tiene que utilizar en el ordenador para representar toda la información que necesite, pero no de crear el código que permite leer y escribir archivos que correspondan a esa representación. Los formatos en los que puede leer Core Data son XML, XML binario (para mayor rendimiento y menor ocupación en disco), y SQLlite, una base de datos embebida.

La ventaja de utilizar este sistema es que permite crear aplicaciones Cocoa que puedan crear una representación XML de sus documentos, de forma que aumenta la interoperabilidad que se puede conseguir, sin necesidad de conocer las complejidades de la especificación XML. Y se pone a disposición de los desarrolladores la potencia de una base de datos relacional simplemente “cambiando un interruptor”.

PDFKit: creación avanzada de archivos PDF

Actualmente el Mac OS X, a través de Quartz, es capaz de generar PDFs a partir de cualquier elemento que pueda manejar el sistema, pero el control disponible sobre el proceso es pequeño, y no incluye las funciones interactivas de los PDF.

PDFKit pretende ampliar el conjunto de herramientas disponibles para la creación y manipulación de archivos PDF en Mac OS X, a partir de programa, por lo que se amplía la posibilidad de que un PDF impreso desde Safari incluya links activos, o uno impreso desde Word en Mac OS X (habrá que esperar a la próxima versión para lograr esto sin Acrobat), o que OmniOutliner, por ejemplo, pueda crear un PDF con tabla de contenido.

Computación de 64 bits

Tiger es un sistema operativo de 64 bits. Más sobre eso en mi anterior artículo, “64 bits son más del doble de 32″, y en “Apple España – PowerPC G5″ (ver Recursos).

Baste decir que todas las aplicaciones Tiger se ejecutarán en un entorno de 64 bits, compartiendo hasta 16 Exabytes de memoria virtual (eso es 4 mil millones de veces el espacio actual de memoria física), repartidos en tanta memoria física como sea posible instalar en una máquina con el PowerPC G5, y sus descendientes.

Xcode 2.0: las herramientas que han creado Tiger

¿Es Xcode importante para el usuario? Desde luego, la mayoría de los usuarios no instalan el contenido de ese CD con el martillo y el plano azul (blueprint en inglés), así que podría parecer que no. Pero Xcode 2.0 incorpora diversas mejoras que hacen que los programas que se pueden crear con esta herramienta sean aún más compactos, robustos, y sobre todo, que puedan incorporar todas las tecnologías disponibles en Tiger.

Entre otras, Xcode presenta las siguientes mejoras:

Plantillas para tecnologías de Tiger: Tiger introduce muchísimos tipos diferentes de “programas”: Importadores para Spotlight, Image Units para Core Image, Widgets para Dashboard, Acciones para Automator… Xcode facilita las plantillas para crear no sólo programas, sino todos esos pequeños trozos de código.

Compilación basada en GCC 4.0: De hecho, todo Tiger está compilado con este compilador, especialmente mejorado para crear código de 64 bits optimizado para PowerPC G5.

Navegador visual de clases: Permite mostrar diagramas de las diferentes clases de objetos que un programa necesita utilizar para realizar su trabajo, así como del formato de los datos que se utilizará con Core Data para leerlos y grabarlos; esto aumenta la productividad y disminuye la cantidad de errores que se pueden producir al programar.

Depuración remota: Ahora los programadores de juegos y otros programas que actúan sobre grandes partes de la pantalla (Core Image 😉 tienen más fácil controlar la ejecución de sus programas para eliminar errores: ahora es posible que Xcode controle un programa que se está ejecutando en otro ordenador; de nuevo, esto facilita la eliminación de errores, y ayuda a que aumente la calidad de los programas disponibles para el usuario.

Conclusión

Mac OS X Tiger tiene una pinta excelente, y aún no hemos hecho más que rozar la superficie. En próximos artículos veremos las tecnologías más interesantes de entre las que hemos presentado. La semana que viene ponemos el foco sobre Spotlight.

Recursos

Mac OS X Tiger Preview

Apple Developer Connection

Mac OS X v10.4 Tiger: Developer Overview

64 bits son más del doble de 32

Apple España – PowerPC G5

Categorías para este artículo

Añade un comentario

10 comments

  1.   

    Juan, me estoy haciendo un adicto a tus articulos!!! Xapó, por apple y a ti, a ellos por “regalarnos” el Tiger y a ti por explicarnos de una manera tan clara lo que realmente adquirimos cuando compramos un G5, Tiger o lo que venga…

    Felicidades!

  2.   

    Este artículo esta muy interesante. Quisiera saber como hacer widgets para Dashboard, si alguien sabe o tiene información de como se hace, les agradeceria su ayuda. Gracias…

  3.   

    En la página de apple, está disponible el SDK de dashboard desde hace unos dias. Tienes toda la información en:

    http://developer.apple.com

  4.   

    Muy bien, Juan de Dios. Sigue así, muchacho. Espero tu próximo artículo sobre Spotlight. ¿Puedes incluir en ese artículo sobre Spotlight algún comentario comparativo con el proyecto de «mFile» de Bruce Horn (http://www.ingenuitysoftware.com/): semejanzas; diferencias; ventajas; desventajas; cómo se podrían integrar ambas tecnologías, si ello es posible?

  5.   

    Muy bien, Juan de Dios. Sigue así, muchacho. Espero tu próximo artículo sobre Spotlight. ¿Puedes incluir en ese artículo sobre Spotlight algún comentario comparativo con el proyecto de «mFile» de Bruce Horn (http://www.ingenuitysoftware.com/): semejanzas; diferencias; ventajas; desventajas; cómo se podrían integrar ambas tecnologías, si ello es posible?

  6.   

    Muy bien, Juan de Dios. Sigue así, muchacho. Espero tu próximo artículo sobre Spotlight. ¿Puedes incluir en ese artículo sobre Spotlight algún comentario comparativo con el proyecto de «mFile» de Bruce Horn (http://www.ingenuitysoftware.com/): semejanzas; diferencias; ventajas; desventajas; cómo se podrían integrar ambas tecnologías, si ello es posible?

  7.   

    En cambio, este programa de publicación, es terrible… ¡Con una vez que publicara el texto sería suficiente!

  8.   

    Yo lo estoy probando en un PowerBook y en un G5 y la verdad tiene muy buena pinta y le veo mas lo cambios, más los implantes y la facilidad de uso, corregirme si me equivoco pero es el primer sistema operativo que lleva soporte Bluetooth en la instalacion, para poner nuestro teclado y raton inalambrico en funcionamiento antes de empezar 😛

    En Luman.info teneis fotos al respecto de esto y en esta dirección .mac teneis bastantes screenshots con las novedades.

    http://homepage.mac.com/neodata/PhotoAlbum11.html

  9.   

    Soy estudiante de ingenieria de sonido, hace un tiempo quice desarrollar un sintetizador virtual en formato vst que es parecido a los Audio units, a pesar de que lo logre hacer usando software de pc no pude usarlo en mi mac, me gustaria saber que opciones tiene tiger en cuanto la programacion de Audio Units.

  10.   

    Hola la verdad es que necesito un favor de amigo nuevo, necesito leer un archivo de texto que esta en mi Pocket Pc PPc y buscar en el o escribir en el.

    Espero alguien de aqui me ayude con esto nose si se pueda hacer en JavaScrit

    Henry Pandales
    email: pandales@hotmail.com

    http://www.delchoco.com