平台如何启用自定义插件
How platforms enable custom plugins
我有一个好奇的问题,我找不到任何文章或博客。我很好奇一些 SASS 平台是如何为客户创建扩展其平台功能的“插件”的能力。比如shopify.
如果您知道我可以阅读有关设计 and/or 系统架构的任何资源,请在下面发表评论!
谢谢!
插件主要由两件事启用:
一个 Interface/API 旨在与所有可插入行为的平台进行通信。通常通过脚本语言界面完成,例如 Javascript 或 Python。 API 通常允许调用以某种方式操纵平台以及一种事件注册形式,以便在特定平台事件上执行插件代码,例如“客户注册事件”或“发票发送事件”。
一种插件注册和执行的形式。通常通过配置文件或约定,例如插件文件夹位置、特定接口、上传功能等。
在设计插件界面时,安全始终是一个重要的话题。一些平台将为插件定义自己的领域特定语言,这比通用脚本语言更受限制。其他人只会提供一组有限的库可供使用。
我还建议检查 this Whosebug Question and this openstack article 描述 plugin-design-pattern 的示例。
我有一个好奇的问题,我找不到任何文章或博客。我很好奇一些 SASS 平台是如何为客户创建扩展其平台功能的“插件”的能力。比如shopify.
如果您知道我可以阅读有关设计 and/or 系统架构的任何资源,请在下面发表评论!
谢谢!
插件主要由两件事启用:
一个 Interface/API 旨在与所有可插入行为的平台进行通信。通常通过脚本语言界面完成,例如 Javascript 或 Python。 API 通常允许调用以某种方式操纵平台以及一种事件注册形式,以便在特定平台事件上执行插件代码,例如“客户注册事件”或“发票发送事件”。
一种插件注册和执行的形式。通常通过配置文件或约定,例如插件文件夹位置、特定接口、上传功能等。
在设计插件界面时,安全始终是一个重要的话题。一些平台将为插件定义自己的领域特定语言,这比通用脚本语言更受限制。其他人只会提供一组有限的库可供使用。
我还建议检查 this Whosebug Question and this openstack article 描述 plugin-design-pattern 的示例。