答案1
编写具有用户界面(UI)的程序时,开发人员有几种选择:
如果该程序针对特定操作系统,他们可以选择使用官方发布的操作系统开发者套件(开发工具包),这将允许程序使用操作系统开发人员提供和支持的元素。Microsoft 为针对 Windows 编写的程序提供这些元素。使用默认元素编写的程序通常最像操作系统原生程序,并且受操作系统补丁和未来升级的影响最小。
如果程序是跨平台的,开发人员可以选择使用框架。这些框架由第三方编写,负责处理框架所针对的任何操作系统上运行所需的连接。Java 就是此类框架的一个例子。Mono 是另一个跨平台框架,它主要基于 Microsoft 自己的 .Net 框架。这些框架提供的本质上是插件,开发人员可以使用这些插件提供程序可能需要的功能、服务和选项,允许程序员像构建块一样组装程序,或者至少组装程序的元素(如 UI),以加快开发速度并留出更多时间专注于程序的核心。
另一个选择是完全编写自己的程序。如果采用这种方式,开发人员必须考虑程序的各个方面,并编写 UI、选项、内部逻辑等所有内容。在某些情况下,这种方法可以使程序运行很长时间,并且运行得非常好(早期的过山车大亨游戏可能是最著名的例子)。但这种方法也需要付出最大的努力,因此并不常见,如果做错了,可能会导致程序需要不断维护才能正常运行,因为补丁和不同的操作系统版本会大大改变程序的运行方式。这也可能导致程序的行为方式违反直觉或与“标准惯例”相比非常尴尬。
不过,更直接地回答你的问题:如果程序是开源的,你可以自己检查代码。可能有标签指示使用的框架。或者可能很明显,开发人员自己构建了整个程序。如果程序是闭源的,你就必须问开发人员,他们是否选择回答取决于他们。