附加组件/扩展,如何编程?

时间:2011-12-08 07:11:50

标签: api reflection compilation add-on

我想知道如何让开发人员为我的应用程序创建附加组件,如chrome,firefox,blender和VS?
我在这里询问这个概念是如何制作的?以编程方式,我需要在我的应用程序中提供什么来制作它?
我可以帮助我的任何参考资料吗?

1 个答案:

答案 0 :(得分:1)

有很多选择。

您可以将脚本语言(或整个VM,如.NET或JVM)嵌入到您的应用程序中,为所有内部功能提供合适的API。如果您的应用程序已经构建在这样的VM之上,那么您可能不需要执行任何特定的操作来实现可扩展性,只需确保您的API可用并记录在案。流行的嵌入式脚本选择是Lua,Python,Guile和Tcl。

或者,对于纯粹的本机代码,您可以将API作为单独的动态链接库提供,并允许加载第三方模块(链接到该库)。

您还可以将应用程序模块化(拆分为单独的进程),组件通过管道或套接字通过简单的基于文本的协议相互通信。这种集成选项有一个非常复杂和强大的基础结构,称为“Unix方式”。在这种情况下,用户可以选择任何方式将其扩展与您的核心功能集成。

根据应用程序的性质选择任何一种。