“Lightroom”:http://arstechnica.com/news.ars/post/20060108-5927.html es “un projecto”:http://labs.macromedia.com/technologies/lightroom/ de los “Adobe Labs”:http://labs.macromedia.com/ —antiguamente, Macromedia Labs— para proporcionar un flujo de trabajo con imágenes RAW, similar en objetivos al “Aperture”:http://www.apple.com/es/aperture/ de Apple.
Una de las cosas que me ha llamado la atención es el uso de dos componentes de código abierto dentro de Lightroom, SQLite como base de datos relacional para el almacenamiento de los metadatos de las imágenes —SQLite es parte integral de Mac OS X Tiger, y Core Data—, y Lua.
“Lua es”:http://es.wikipedia.org/wiki/Lua un lenguaje de programación dinámico, creado desde el principio con el fin de crear programas extensibles de forma sencilla, similar a Python o Java en cuanto al uso de un intérprete orientado a objetos, lo que permite a Adobe crear plugins de forma sencilla. Eso sí, en el caso de Lua el código se compila a una representación intermedia, independiente del procesador, —similar a los archivos .class de Java—, de modo que el rendimiento es mayor que el de un lenguaje compilado puro. Esto permitiría, en principio, y al menos en Europa, determinar fácilmente cuál es la tarea realizada por cada módulo, si _descompilamos_ los archivos .lua.
Sorprende un poco ver a una empresa como Adobe tomar esta dirección, pero lo cierto es que Adobe ya había mostrado interés en este lenguaje de programación al albergar el “Lua Workshop 2005”:http://www.lua.org/wshop05.html el año pasado.
La pregunta, pues, es si se está utilizando Lua como herramienta de desarrollo multiplataforma para el núcleo de la aplicación, y cambiará sólo el interfaz —por cierto, escrita en Cocoa— entre las versiones Mac OS X, Windows, y quizá Linux —¿por qué no? Lua está disponible también para esa plataforma—, o si sólo se está utilizando como herramienta de desarrollo rápido, y las funcionalidades implementadas en Lua serán posteriormente reescritas en C++ —la práctica indica que una vez que se ha comenzado a programar, salvo que se trate de poco más que un prototipo de interfaz, no se recodifica casi nunca—.
Lua no se menciona en ninguna parte de la web de Adobe Labs; en su lugar, se habla de _una nueva forma de codificación_…
Comentarios
3 respuestas a «Adobe Lightroom, con plugins multiplataforma»
de modo que el rendimiento es mayor que el de un lenguaje compilado puro.
Eh, no, pero el rendimiento se aproxima mucho.
[…] Memoria de Acceso Aleatorio: Adobe Lightroom, con plugins multiplataforma […]