QPlugins专题-跨语言、跨平台的微轻量级插件框架

QPlugins 插件框架是由 QDAC 项目组设计的轻量级插件框架,它试图提供一套基于接口的跨语言(初始版本支持 Delphi、C++)、跨平台(初始版本支持Windows,计划支持 Android/Linux/OSX/iOS 等平台)的一个插件框架。目前正在开发中,欢迎大家加入讨论。

本插件框架的设计理念参考了冰晰空气、不得闲和天地弦的插件框架,希望最终的作品能够让大家满意。

核心功能特性:

  • 支持进程内和进程外两种插件模式。进程内的插件包括 DLL/BPL(Windows下)、SO(Linux 系)、脚本(所有平台)三种模式,进程外的插件包括进程插件和网络插件;
  • 基于服务的理念,插件提供各种服务。服务通过路径组织成不同的服务目录树,用户可以通过服务的 GUID 编码或者路径检索并获取服务;
  • 支持路由模式。通过设置特定的路由路径,可以在不同的服务之间进行路由控制;
  • 内置快速高效的原生数据交换格式支持,方便跨语言协作;

【基本概念】

QPlugins的一些设计构想讨论

QPlugins – 基本的原型演示程序已经出来了,欢迎大家测试并提供建议

了解 QPlugins 的整体架构

插件引擎的微内核都有什么?

为啥不能在 DLL/BPL 与主程序之间直接传递对象做为参数?

常见问题答问

【教程】

让 QPlugins 协助你解耦程序

使用 QPlugins 的通知机制

如何编写基于 QPlugins 的插件程序

青铜时代-QPlugins 示例程序分析之一

青铜时代-QPlugins示例程序研究之二:formservices 示例程序

青铜时代-QPlugins 示例程序分析之三

分享到: