2010-02-01 6 views
8

Ich bin gerade auf Adobe-Quellbibliotheken gestoßen, ASL. Es ist eine Reihe von Templates und Funktionen ähnlich wie Boost, unter MIT-Lizenz. Einige der Hilfsprogramme in der Bibliothek fand ich ziemlich nützlich und jetzt überlege ich es zu verwenden.C++ Adobe-Quellbibliotheken Impressions?

die Bibliothek scheint jedoch ziemlich einfach.

  • Haben Sie ASL selbst verwendet? Wenn ja, wie waren deine Eindrücke? Empfiehlst du es?
  • funktioniert es gut mit einer Reihe von Compilern und Plattformen, z. IBM C++, ICC, g ++?
  • haben Sie Macken/unerwartete Dinge erlebt?

dank

+0

Ich weiß nicht, ob die offizielle Entwicklung verschoben wurde, aber Sie könnten interessiert sein an https://github.com/stlab/adobe_source_libraries. –

+1

@MaxLybbert: Ja, die offizielle Entwicklung ist nach GitHub umgezogen. – fbrereto

Antwort

9
  1. ASL nutzt stark steigern, so dass es nicht so ähnlich Boost, wie (in einigen Fällen) eine relativ dünne Hülle um kurbeln.
  2. Die "großen" Stücke von ASL sind Adam und Eva. Der Großteil des Rests scheint zu sein (und wenn Speicher dient, wirklich ist) wenig mehr als Unterstützung für diese.
  3. ASL wurde seit einiger Zeit nicht mehr aktualisiert, und wenn ich mich nicht irre, wurde einiges von dem, was es in Wrappern rund um Boost bietet, jetzt in die Boost-Bibliotheken integriert (die meisten Boost-Autoren kennen ASL seit mindestens) Sie wurden in Sean Parents Keynote-Präsentation bei Boostcon 1) vorgestellt.

Meine eigene Erfahrung mit ihnen ist etwas gemischt. Zu einer Zeit benutzte ich ein paar ihrer Boost-Wrapper-Klassen ein wenig, aber IIRC, innerhalb der nächsten ein oder zwei Releases, waren die Bits, die mir wichtig waren, in Boost ohne Wrapper verfügbar (obwohl ich mich nicht mehr genau erinnere) diese Stücke waren ...)

Adam und Eva sind irgendwie cool, um mit verschiedenen UI-Layouts und so zu spielen - aber ich habe sie nie für eine fertige Version eines Programms verwendet. Zumindest für mich scheint es, dass sie hauptsächlich mit einer relativ komplexen Benutzeroberfläche nützlich sind. Mein Eindruck war, dass wenn Sie sie sehr nützlich finden, Ihre Benutzeroberfläche wahrscheinlich Arbeit braucht. Wenn Sie Adam und Eva brauchen, um zu verstehen, was vor sich geht, sind die Chancen, dass Ihre Benutzer nicht herausfinden können.

OTOH, es gibt wahrscheinlich mindestens ein paar Fälle, in denen ein Dialog für einen Benutzer klar ist, aber der Code viel weniger so für einen Entwickler. Wenn Sie einige Steuerelemente deaktivieren, bis Werte in anderen Steuerelementen eingegeben wurden, kann es viel einfacher sein sicherzustellen, dass Steuerelemente deaktiviert werden, bis alle Werte eingegeben wurden, von denen sie abhängig sind.

4

Wie bereits erwähnt, ist der ganze Punkt von ASL Adam und Eva, der Rest sind nur handliche Werkzeuge.

Adam & Eve zusammenarbeiten, um Benutzeroberfläche mit Auto-Layout in einer plattformübergreifenden Weise zu beschreiben. Wenn dies nicht das ist, was Sie brauchen, sollten Sie wahrscheinlich nicht viel Zeit mit ASL verbringen.

Eve hat die typische Sammlung von vertikalen/horizontalen/anderen Containern für Auto-Layout.

Und Scripting mit Adam ermöglicht es Ihnen, Dinge zu erreichen, die schwierig (wenn nicht unmöglich) nur mit Layout-Containern zu erreichen sind (Dinge wie das Halten von separaten Gruppen von Steuerelementen der gleichen Größe, zum Beispiel).

Wahr, Sie implementieren einige der Regeln in Ihrem C++ - Code. Es ist jedoch sinnvoll, die Regeln für die Benutzeroberfläche, die sich auf das Verhalten der Benutzeroberfläche beziehen, an derselben Stelle zu speichern, an der Sie die Benutzeroberfläche zunächst speichern.