博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
electron 插件系统设计记录
阅读量:6219 次
发布时间:2019-06-21

本文共 494 字,大约阅读时间需要 1 分钟。

简介

为基于electron构建的应用设计一套插件系统。目前逐步设计阶段,欢迎大佬交流、指正。

分析

现在采用electron构建桌面应用,加上私有模块组件化开发的模式,这种情况下如果一个组件应用于多个项目上,那么更新一个组件后,引用这个组件库的项目就都需要更新它,然后自己构建再发布,用户再去更新,流程应该是这样:

以上流程看出一定的繁琐,桌面端应用确实避免不了反复的构建与更新。如果像vscodeatom的插件系统来管理插件,一个插件更新后插件系统自动更新插件而无关项目本身是否需要更新,这是一个值得尝试的方向:

目前插件系统可以参考UI高度定制的atom实现,但是接入到应用实践依然有一些差异需要尝试:

注入插件方式:

  • atom: 制定区域注入(left, status-bar, menu...)
  • app: 自由区域制定插件注入

依赖管理:

  • atom: 开发者客户端,本身有构建环境
  • app: 普通用户环境,重复依赖的处理

形态:

  • 独立: 多个独立应用共享独立一个插件系统进行版本检查更新
  • 集中: 多个应用作为模块集中在一个插件系统中

设计

...

相关文档:

Github:

转载地址:http://ifmja.baihongyu.com/

你可能感兴趣的文章
数组reduce方法的高级技巧
查看>>
pt-online-schema-change使用说明、限制与比较
查看>>
一些小技巧让JS代码更优雅
查看>>
jquery 添加和删除html元素
查看>>
Java 8怎么了之二:函数和原语
查看>>
dingo/api 使用
查看>>
PHP字符串函数之 strstr stristr strchr strrchr
查看>>
mac安装docker
查看>>
Objective-C runtime 拾遗 (二)——Log message send
查看>>
【temp】Graphx Visualization
查看>>
[LeetCode]Maximal Rectangle
查看>>
JavaScript-imooc
查看>>
[LintCode] Find the Missing Number [三种方法]
查看>>
elasticsearch搭建
查看>>
使用python解释设计模式[译]
查看>>
对立即数进行位移引发的小问题
查看>>
位置行业应用开发应该如何选择GPS定位系统
查看>>
Kubernetes核心概念总结
查看>>
如何用 CSS 和 D3 创作火焰动画
查看>>
详解K8S与Rancher 2.0内的身份认证与授权
查看>>