tags:

views:

667

answers:

3

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.

A: 

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...

dicroce
StackedCrooked
Yes, but they also produce Acrobat Reader...
Jurily
LOL, your point being?
StackedCrooked
I think the lack of examples outside of Adobe results from not many people knowing about ASL etc. and that more abstract generic code is generally not that popular. As far as i've seen it most firms still mostly stick to non-generic code, for whatever reasons.
Georg Fritzsche
A: 

Is it really a GUI library? It seems to me that it's a wrapper over STL --a la Rogue Wave tools.h++ and Boost, so no graphic toolkit is involved here.

pantulis
Adam and Even is for GUI, the goal being to abstract all the ideas behind layout and despatching, a bit like WPF and XAML. Instead of an XML-based language they have their own (think of it as JSON for GUI).
Andy Dent
+3  A: 

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 apple to leverage our efforts here inside Adobe. Because of this the platform libraries are a little shaky - if you 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 challenge 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.

Sean Parent