2009-11-01 8 views
19

Ich habe die Demo-Anwendung ausprobiert, die ziemlich beeindruckend war. Es ist jedoch schwer, es zu erstellen und mit meinem eigenen Code zu integrieren, weil es ein so großes Projekt ist.Erfahrungen mit Adobe C++ - Bibliothek "Adam and Eve"?

Hat jemand sie erfolgreich für ihre eigenen Projekte verwendet? War es schwierig, einen eigenen C++ - Code zu erstellen und zu integrieren?

Link: STLab.

Für die Interessierten: Es gibt auch eine Google Tech Talk Klärung der philosophischen Ideen hinter dem Projekt.

+0

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

Antwort

11

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.

+6

Sie waren nicht Apple, um es zu nutzen? – Puppy

+0

So ist Adobe Photoshop für Linux-Plattform möglich.Da Adobe Lightroom die Lua-Sprache für die grafische Benutzeroberfläche verwendet und plattformübergreifend ist, kann die Verwendung von ASL- und Adobe-Produkten für die Linux-Plattform portabel sein. –

0

Ich habe den Tech Talk gesehen .. Er hat mich irgendwie verloren, als er den realen Beispielcode zeigte und dann eine massiv kürzere Version mit seinem Modell ... Ich vermute, dass seine Implementierung, genau wie alles andere, in der Praxis funktionieren würde von echten Weltüberlegungen verzettelt werden, wenn tatsächlich verfolgt wird, um echte Probleme zu lösen ...

Das sagte, es war interessant ... Die erste Hälfte der Rede war großartig ... Ich mochte besonders seine Behauptung, dass Generic-Programmierung ist die Mathematik der Codierung ...

+3

Auf der anderen Seite ist Adobe ein Unternehmen mit Entwicklern, die echte Software produzieren müssen und die Fristen einhalten müssen. Dies verleiht meiner Meinung nach dem Projekt viel Glaubwürdigkeit. Speziell das Adam & Eve Projekt scheint mir im Grunde eine XUL-Variante zu sein, was sicherlich kein unrealistisches Unterfangen ist. Das Fehlen von Beispielen aus der Praxis außerhalb von Adobe ist jedoch nicht sehr ermutigend. – StackedCrooked

+0

Ja, aber sie produzieren auch Acrobat Reader ... –

+0

LOL, Ihr Punkt ist? – StackedCrooked