2010-02-01 10 views
8

Acabo de tropezar con las bibliotecas fuente de Adobe, ASL. Es un conjunto de plantillas y funciones similares a boost, bajo licencia MIT. Algunas de las utilidades en la biblioteca me parecieron bastante útiles y ahora considero su uso.C++ Impresiones de bibliotecas de origen de Adobe?

la biblioteca parece bastante sencilla, sin embargo.

  • ¿Has utilizado ASL yourself? si es así, ¿cuáles fueron sus impresiones? lo recomiendas?
  • funciona bien con una gama de compiladores y plataformas, p. IBM C++, ICC, g ++?
  • ¿Ha encontrado algún tipo de capricho/cosas inesperadas?

gracias

+0

No sé si se modificó el desarrollo oficial, pero es posible que esté interesado en https://github.com/stlab/adobe_source_libraries. –

+1

@MaxLybbert: Sí, el desarrollo oficial se ha trasladado a GitHub. – fbrereto

Respuesta

9
  1. ASL utiliza impulsar en gran medida, lo que no es tan similar a Boost, como (en algunos casos) una envoltura relativamente delgada alrededor de Boost.
  2. Las "grandes" piezas de ASL son Adán y Eva. La mayoría del resto parece ser (y si la memoria sirve, realmente es) poco más que soporte para aquellos.
  3. ASL no se ha actualizado por un tiempo, y si no me equivoco, parte de lo que proporciona en envoltorios alrededor de Boost ahora se ha incorporado a las bibliotecas Boost (la mayoría de los autores de Boost conocen ASL al menos desde aparecieron en la presentación principal de Sean Parent en Boostcon 1).

Mi propia experiencia con ellos ha sido algo mezclada. En un momento, usé un par de sus clases Boost-wrapper un poco, pero IIRC, dentro de la próxima versión o dos, los bits que me importaban estaban disponibles en Boost sin ningún tipo de envoltorios (aunque de improviso, no recuerdo exactamente qué esas piezas eran ...)

Adam y Eve son geniales para jugar con diferentes diseños de UI, pero nunca los he usado para una versión final de un programa. Al menos para mí, parece que son útiles principalmente con una interfaz de usuario relativamente compleja. Mi impresión fue que si los encuentras muy útiles, probablemente tu UI necesite trabajo. Si necesita que Adán y Eva lo ayuden a comprender lo que está sucediendo, es probable que sus usuarios tampoco puedan entenderlo.

OTOH, es probable que existan al menos unos pocos casos en los que un diálogo sea claro para un usuario, pero el código lo sea mucho menos para un desarrollador. Si inhabilita muchos controles hasta que se hayan ingresado valores en otros controles, y tal, puede hacer que sea mucho más fácil asegurarse de que los controles estén deshabilitados hasta que se ingresen todos los valores de los que dependen.

4

Como ya se mencionó, todo el punto de ASL es Adán y Eva, el resto son solo herramientas útiles.

Adam & Eve trabajan juntas para describir la interfaz de usuario con diseño automático de forma multiplataforma. Si esto no es lo que necesita, entonces probablemente no debería pasar mucho tiempo en ASL.

Eve tiene la colección típica de contenedores verticales/horizontales/otros para el diseño automático.

Y la creación de scripts con Adam le permite lograr cosas difíciles (si no imposibles) de lograr solo con contenedores de diseño (cosas como mantener grupos de controles por separado del mismo tamaño, por ejemplo).

Es cierto que usted implementa algunas de las reglas en su código C++. Pero tiene sentido almacenar las reglas de descripción de la interfaz de usuario relacionadas con el comportamiento de la interfaz de usuario en el mismo lugar donde se almacena la interfaz de usuario, para empezar.

Cuestiones relacionadas