ASL wird relativ stark in Adobe verwendet. Die Layout-Bibliothek (Eve) wird in vielen Adobe-Produkten verwendet und seit Photoshop 5 werden Varianten davon verwendet. Die Eigenschaftsmodell-Bibliothek (Adam) wurde in CS4 wenig genutzt und wird wahrscheinlich in zukünftigen Produkten häufiger verwendet werden. Ich kann nicht mehr mit Sicherheit sprechen, da ich Adobe vor ein paar Monaten verlassen habe und jetzt bei Google arbeite. Ich habe immer noch etwas Zeit auf ASL verbracht und arbeite weiterhin mit Prof. Jarvi und einigen seiner Studenten an der Bibliothek des Immobilienmodells zusammen (siehe das Papier auf dem ASL-Wiki).
Es kann ein bisschen schwierig sein, mit Ihrem Produkt zu integrieren. Die Plattform-Bibliotheken in ASL (Backends für Adam und Eve für Windows und Mac Carbon) begannen als kleiner Beispielcode, dann begann die Community, sie zu verfeinern (der Windows-Port war ursprünglich eine Gemeinschaftsanstrengung), dann hatten wir etwas Ehrgeiz, es zu machen eine echte, unterstützte Bibliothek. Aber dann hat Apple Carbon für 64 Bit fallen gelassen und die Rahmenpläne von Adobe haben sich geändert, so dass wir unsere Bemühungen hier in Adobe nicht nutzen konnten. Aus diesem Grund sind die Plattform-Bibliotheken ein wenig wackelig - wenn Ihre Code-Basis bereits ein Framework verwendet, könnten Sie Adam und Eva direkt integrieren (die API für beide Bibliotheken ist sehr klein). Es gibt zwei Herausforderungen bei der Integration in ein Framework. Eve benötigt gute Metriken, um ein gutes Layout zu erstellen, einschließlich Dingen wie Baselines - das kann schwierig sein, wenn man es von Ihrem UI-Toolkit holt. Die Eigenschaftsmodellbibliothek geht von einem strengen Modell-/Ansichts-/Controller-Muster aus, das die meisten UI-Toolkits nicht befolgen, daher müssen Sie etwas anpassen. Fühlen Sie sich frei, Fragen auf der ASL-Mailing-Liste zu stellen. Wir können auch beim Bauen helfen - es ist wirklich nicht so komplex wie es scheint.
Ist es wirklich eine GUI-Bibliothek? Es scheint mir, dass es ein Wrapper über STL - a la Rogue Wave tools.h ++ und Boost ist, also ist hier kein Grafik-Toolkit involviert. – pantulis