为什么Qt Creator的核心是一个插件?

时间:2011-12-13 12:04:16

标签: qt plugins architecture qt-creator

您是否清楚地解释了为什么他们选择应用程序的核心作为其他组件的插件,而不仅仅是基本的共享库? 除了设计的“酷感”之外,我看不出任何明显的优势。

2 个答案:

答案 0 :(得分:9)

我从开发者那里得到了答案:

  

Qt Creator并非旨在成为一个应用程序框架。 “核心”是一个   插件主要是出于学术原因,但是一个实用的   优势在于,Qt Creator的核心自动拥有   一个“版本”,并检查一个插件是否与Qt Creator兼容   完成与任何其他插件依赖项完全相同的方式。也   整个启动初始化(包括初始化)   其他插件)以相同的方式完成,导致相同的概念和   没有什么可学的。

答案 1 :(得分:5)

关于“为什么”我们只能猜测。他们在their own documentation中声明:

  

Qt Creator可以通过各种方式进行扩展。例如,Qt Creator   体系结构基于一个插件加载器,这意味着所有   插件中实现了插件加载以外的功能。   但是,您可以在没有的情况下扩展和调整Qt Creator的许多部分   需要在C ++中使用编码并实现这样的插件。

因此,从这一点可以看出,这种选择是在考虑可扩展性的情况下做出的。我不确定“为什么核心是一个插件?”的答案?不仅仅是“为什么不呢?”。如果你正在创建你的应用程序,就像他们所说的那样,一个插件加载器,那么为什么不尽可能地保持它的“轻量级”功能并使核心成为一个插件。