9

我刚刚偶然发现了 Adob​​e 源库ASL。它是一组类似于 boost 的模板和功能,在 MIT 许可下。我发现库中的一些实用程序非常有用,现在我考虑使用它。

然而,图书馆似乎很简单。

  • 你自己用过 ASL 吗?如果有,你的印象是什么?你推荐它吗?
  • 它是否适用于一系列编译器和平台,例如 IBM C++、ICC、g++?
  • 你遇到过怪癖/意想不到的事情吗?

谢谢

4

2 回答 2

9
  1. ASL 大量使用 Boost,因此它与 Boost 不太相似,因为(在某些情况下)是一个相对较薄的 Boost 包装器。
  2. ASL 的“大”部分是亚当和夏娃。其余的大部分似乎(如果没记错的话,真的)只不过是对这些的支持。
  3. ASL 有一段时间没有更新了,如果我没记错的话,它在围绕 Boost 的包装器中提供的一些东西现在已经被合并到 Boost 库本身中(大多数 Boost 作者至少从它们在Sean Parent 在 Boostcon 1 上的主题演讲)。

我自己与他们的经历有些复杂。有一次,我使用了他们的几个 Boost-wrapper 类,但是 IIRC,在下一两个版本中,我关心的位在 Boost 中可用,没有任何包装器(虽然临时,我不记得确切是什么那些碎片是……)

亚当和夏娃在玩不同的 UI 布局等方面很酷——但我从未将它们用于程序的完成版本。至少在我看来,它们主要用于相对复杂的 UI。我的印象是,如果您发现它们非常有用,您的 UI 可能需要改进。如果您需要 Adam 和 Eve 帮助了解正在发生的事情,那么您的用户很可能也无法弄清楚。

OTOH,至少在少数情况下,对话框对用户来说是清晰的,但对于开发人员来说,代码就不太清楚了。如果您在其他控件中输入值之前执行大量禁用某些控件,这样,可以更轻松地确保禁用控件,直到输入了它们所依赖的所有值。

于 2010-02-01T21:45:48.960 回答
4

如前所述,ASL 的重点是亚当和夏娃,其余的只是方便的工具。

Adam & Eve 合作以跨平台的方式描述具有自动布局的 UI。如果这不是您所需要的,那么您可能不应该在 ASL 上花费太多时间。

Eve 具有用于自动布局的典型垂直/水平/其他容器集合。

使用 Adam 编写脚本可以让您实现仅使用布局容器难以实现的事情(如果不是不可能的话)(例如,让不同的控件组保持相同的大小)。

没错,您在 C++ 代码中实现了一些规则。但是将与 UI 行为相关的 UI 描述规则存储在您开始存储 UI 的相同位置是有意义的。

于 2010-02-03T09:42:33.893 回答