Circle 阅读助手自 3.0 版本之后采用全新的架构,构筑了 API 系统,开放了开发能力,开发者可以开发自己想要的功能。同时提供了开发脚手架、辅助函数库和前端组件库等助力开发者快速构建自己的插件。作为开发者通过本文可以了解到系统的基本架构,有助于快速上手开发。
架构设计
系统采用插件化设计,由核心系统和插件实现不同的功能。同时做到了样式和数据的自动隔离,插件各司其职,互不影响;做到灵活轻量,按需启用的能力。
系统介绍
核心系统
管理整个系统的运行,提供系统运行的必要接口和数据存储能力,协调各插件有序工作。核心系统实现了 API、勾子机制、数据库和插件的管理。
API
为了插件能够调用浏览器扩展和核心系统提供的能力,核心系统构筑了自己丰富完善的 API,开发者通过这些 API 可以快速的实现自身的功能,而不用关心底层实现。
勾子机制
插件之间是相互隔离互不影响的,但是插件和插件、插件和核心系统之间是需要通信的,为了实现这一目的,我们引入了勾子机制。
数据库
Circle 阅读助手是本地为主的浏览器扩展,所有的配置和数据都保存在本地。底层使用了 indexDB 数据库。
插件管理
核心系统提供了插件的挂载、运行、开启、禁用、安装和卸载的能力。
插件
插件是实现单一功能的模块,是系统的核心,所有的功能都是由插件提供的。