C ++ Adobe исходные библиотеки впечатления? - PullRequest
9 голосов
/ 01 февраля 2010

Я только что наткнулся на исходные библиотеки Adobe, ASL . Это набор шаблонов и функций, похожих на boost, под лицензией MIT. Некоторые из утилит в библиотеке я нашел довольно полезными, и теперь я думаю об их использовании.

библиотека кажется довольно простой, однако.

  • Вы сами использовали ASL? если да, каковы были ваши впечатления? Вы рекомендуете это?
  • хорошо ли он работает с рядом компиляторов и платформ, например IBM C ++, ICC, g ++?
  • Вы сталкивались с причудами / неожиданностями?

спасибо

Ответы [ 2 ]

9 голосов
/ 02 февраля 2010
  1. ASL интенсивно использует Boost, поэтому он не настолько похож на Boost, как (в некоторых случаях) относительно тонкая оболочка вокруг Boost.
  2. "Большие" части ASL - Адам и Ева. Кажется, что большая часть остальных (и если память не изменяет, на самом деле равна ) немного больше, чем их поддержка.
  3. ASL не обновлялся некоторое время, и, если я не ошибаюсь, некоторые из того, что он предоставляет в оболочках вокруг Boost, теперь включены в сами библиотеки Boost (большинство авторов Boost знали об ASL по крайней мере с тех пор они представлены в основной презентации Шона Родителя на Boostcon 1).

Мой собственный опыт с ними был несколько смешанным. Одно время я немного использовал пару их классов Boost-обертки, но IIRC, в следующем или двух выпусках, биты, о которых я заботился, были доступны в Boost без каких-либо оберток (хотя случайно, я не помню точно, что эти штуки были ...)

Адам и Ева круто играют с различными макетами пользовательского интерфейса и тому подобным - но я никогда не использовал их для готовой версии программы. По крайней мере, мне кажется, что они полезны прежде всего с относительно сложным пользовательским интерфейсом. У меня сложилось впечатление, что если вы найдете их очень полезными, ваш пользовательский интерфейс, вероятно, нуждается в работе. Если вам нужны Адам и Ева, чтобы помочь понять, что происходит, скорее всего, ваши пользователи тоже не поймут.

OTOH, вероятно, есть, по крайней мере, несколько случаев, когда диалог понятен для пользователя, но код гораздо меньше для разработчика. Если вы выполняете много действий по отключению некоторых элементов управления до тех пор, пока значения не будут введены в другие элементы управления, и тому подобное, это может значительно облегчить гарантию того, что элементы управления отключены, пока не будут введены все значения, от которых они зависят.

4 голосов
/ 03 февраля 2010

Как уже отмечалось, весь смысл ASL - это Адам и Ева, остальные - просто удобные инструменты.

Адам и Ева работают вместе, чтобы описать пользовательский интерфейс с автоматическим макетом кросс-платформенным способом. Если это не то, что вам нужно, то вам, вероятно, не стоит тратить много времени на ASL.

Eve имеет типичную коллекцию вертикальных / горизонтальных / других контейнеров для автоматического размещения.

А сценарии с Адамом позволяют вам достичь вещей, которые трудно (если не невозможно) достичь только с помощью контейнеров макетов (например, такие как сохранение отдельных групп элементов управления одинакового размера).

Правда, вы реализуете некоторые правила в своем коде C ++. Но имеет смысл хранить правила описания пользовательского интерфейса, относящиеся к поведению пользовательского интерфейса, в том же месте, где вы храните пользовательский интерфейс.

...