Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Experiences with Adobe's "Adam and Eve" C++ GUI library?

I tried out the demo application which was pretty impressive. However building it and integrating it with my own code is hard because it's such a large project.

Has anyone successfully used it for their own projects? Was is difficult to build and integrate with your own C++ code?

Link: STLab.

For the interested: there's also a Google Tech Talk clarifying the philosophical ideas behind the project.

like image 224
StackedCrooked Avatar asked Nov 01 '09 13:11

StackedCrooked


1 Answers

ASL is used fairly heavily within Adobe. The layout library (Eve) is used in many Adobe products and variants of it have been in use since Photoshop 5. The property model library (Adam) got a little use in CS4 and will likely be used more in future products. I can no longer speak with certainty because I left Adobe a few months ago and am now working at Google. I still put in some time on ASL and continue to collaborate with Prof. Jarvi and some of his students on the property model library (see the paper on the ASL wiki).

It can be a bit difficult to integrate with your product. The platform libraries in ASL (backends to Adam and Eve for Windows and Mac Carbon) started as some small example code, then the community started to refine it (the Windows port was initially a community effort), then we had some ambition to make it a real, supported library. But then Apple dropped Carbon for 64 bits and Adobe's framework plans changed so we weren't able to leverage our efforts here inside Adobe. Because of this the platform libraries are a little shaky - if your code base is already using a framework you might consider integrating Adam and Eve directly (the API for both libraries is very small). There are two challenges with integrating with a framework. Eve needs good metrics to do a good layout, including things like baselines - getting that from your UI toolkit may be tough. The property model library assumes a strict model/view/controller pattern that most UI toolkits don't obey so you have to do a bit of adapting. Feel free to ask questions on the ASL mailing list. We can also help with building - it really isn't as complex as it seems.

like image 64
Sean Parent Avatar answered Oct 15 '22 06:10

Sean Parent