“Lightroom”:http://arstechnica.com/news.ars/post/20060108-5927.html is an “Adobe Labs”:http://labs.macromedia.com/ —formerly, Macromedia Labs— “project”:http://labs.macromedia.com/technologies/lightroom/ whose objective is providing a RAW image workflow for photo professionals, targeted much to the same audience as Apple’s “Aperture”:http://www.apple.com/es/aperture/ software.
One of the things that has attracted my attention is the use of two open-source components within Lightroom: SQLite as relational database for image metadata storage —SQLite is now an integral part of Mac OS X Tiger, specially within Core Data—, and Lua.
“Lua is”:http://en.wikipedia.org/wiki/Lua a dynamic programming language, created from the beginning with the mission of providing an easy way to create extensible software, and those extensions, so Adobe will make plugin development easy for developers… who are willing to learn a new language.
Lua is similar to Python or Java because it’s an object-oriented interpreted programming language. It’s more similar to Python in being what’s called an scripting language, and more similar to Java in that it uses an intermediate compiled bytecode to increase performance. You can easily reverse engineer —at least in Europe— those .lua, much in the same way as you can do it with Java .class files.
It’s a little bit surprising to see Adobe take this direction, but the truth is that Adobe had previously shown an interest in this language, when they hosted the “2005 Lua Workshop”:http://www.lua.org/wshop05.html last year. And it gives the open-source movement credibility another boost .
The question, then, is whether Lua is being used as a multiplatform development tool for the application core, and _the_ extension language, with only the interface being system specific —we have a Cocoa interface on Mac OS X—, as this would allow for cross-platform plugins, both in Mac OS X and Windows… or even Linux; or if Lua is just being used as a rapid prototyping platform, and later work will be devoted to a C++ or Objective-C implementation. I would bet for the former…
Lua is nowhere mentioned in the whole Adobe Labs site; instead, “they talk”:http://labs.macromedia.com/technologies/lightroom/#faq about _“an entirely new open modular architecture”_
Comentarios
3 respuestas a «Adobe Lightroom uses open-source scripting language»
I cannot find Lua anywhere in Lightroom 1.1 documentation(sept 10, 2007). .. did they abndon the Open Source ship ???
[…] For example, Lightroom was supposed to use Lua as scripting language and SQLite for metadata information. But if you go to the Lightroom Design Center and enter the word SQLite, scripting, LUA, or batch processing – you get nothing, no help whatsoever. I think Adobe may have goto cold feet. This is not strange as Photoshop has so many scripting languages (Actions, VBA, JavaScript, etc) – this must be a touchy topic among Adobe developers. Likewise, Adobe has pledged to adopt Google Gears – a offline/online Web browser Support API which includes SQLite. So you would expect SQLite which is a very fast and free database to be adopted in Lightroom. So why cant I find it in my new Lightroom 1.1 documentation or at the Design Center ? […]
Thanks for the link, JBSurveyer. I haven’t touched Lightroom recently, but if you open the application bundle of the Mac OS X version, you used to be able to see the
.luafiles in plain sight, so if they’re still there, they have kept on stitching the application together with the embedded Lua runtime.However, it is true that in the Adobe Labs there are no more references to Lua than those available for the first Lightroom beta for Windows, and their hosting of the 2005 Lua Conference…