C++ Adobe 源库印象? [关闭]
Posted
技术标签:
【中文标题】C++ Adobe 源库印象? [关闭]【英文标题】:C++ Adobe source libraries impressions? [closed] 【发布时间】:2010-02-01 20:52:17 【问题描述】:我刚刚偶然发现了 Adobe 源库,ASL。它是一组类似于 boost 的模板和功能,在 MIT 许可下。 我发现库中的一些实用程序非常有用,现在我考虑使用它。
不过,这个库看起来很简单。
您自己使用过 ASL 吗?如果有,你的印象是什么?你推荐它吗? 它是否适用于一系列编译器和平台,例如IBM C++、ICC、g++? 您是否遇到过怪癖/意外情况?谢谢
【问题讨论】:
不知道官方开发有没有动,不过你可能对github.com/stlab/adobe_source_libraries感兴趣。 @MaxLybbert:是的,官方开发已经转移到 GitHub。 【参考方案1】:-
ASL 大量使用 Boost,因此它与 Boost 不太相似,因为(在某些情况下)是一个相对较薄的 Boost 包装器。
ASL 的“大”部分是亚当和夏娃。其余的大部分似乎(如果没记错的话,真的是)只不过是对这些的支持而已。
ASL 已经有一段时间没有更新了,如果我没记错的话,它在围绕 Boost 的包装器中提供的一些内容现在已被合并到 Boost 库本身中(大多数 Boost 作者至少从那时起就知道 ASL他们出现在 Sean Parent 在 Boostcon 1 上的主题演讲中)。
我自己对它们的体验有些复杂。有一次,我使用了一些他们的 Boost-wrapper 类,但是 IIRC,在下一两个版本中,我关心的位在没有任何包装器的情况下在 Boost 中可用(虽然临时,我不记得确切是什么那些碎片是……)
Adam 和 Eve 很适合玩不同的 UI 布局等——但我从未将它们用于完成程序的版本。至少在我看来,它们主要用于相对复杂的 UI。我的印象是,如果您发现它们非常有用,您的 UI 可能需要改进。如果您需要 Adam 和 Eve 帮助了解发生了什么,您的用户很可能也无法弄清楚。
OTOH,至少在少数情况下,对话框对用户来说是清晰的,但对于开发人员来说,代码就不太清楚了。如果您在其他控件中输入了值之前禁用了一些控件,这样可以更轻松地确保在输入了它们所依赖的所有值之前禁用控件。
【讨论】:
【参考方案2】:如前所述,ASL 的重点是亚当和夏娃,其余的只是方便的工具。
Adam 和 Eve 合作以跨平台的方式描述具有自动布局的 UI。 如果这不是您所需要的,那么您可能不应该在 ASL 上花费太多时间。
Eve 具有用于自动布局的典型垂直/水平/其他容器集合。
使用 Adam 编写脚本可以让您实现仅使用布局容器难以实现的事情(如果不是不可能的话)(例如,让不同的控件组保持相同的大小)。
没错,您在 C++ 代码中实现了一些规则。但是将与 UI 行为相关的 UI 描述规则存储在您开始存储 UI 的相同位置是有意义的。
【讨论】:
以上是关于C++ Adobe 源库印象? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章