开发者

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

开发者 https://www.devze.com 2022-12-10 18:58 出处:网络
I tried out the demo application which was pretty impressive. However building it and integrating it with my own code is hard b开发者_运维知识库ecause it\'s such a large project.

I tried out the demo application which was pretty impressive. However building it and integrating it with my own code is hard b开发者_运维知识库ecause 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.


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.


I watched the Tech Talk.. He sort of lost me when he showed the real world example code and then a massively shorter version using his model... I suspect that his implementation, just like anything else, would in practice be bogged down by real world considerations if actually pursued to solve real problems...

That said, it was interesting... The first half of the talk was great... I especially liked his assertion that Generic programming is the mathematics of coding...

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号