插件技术指的是一种应用程序,遵循程序接口完成相应的编写,再规范接口插件,达到拓展程序功能的目的。现在许多软件开发的过程中均包含了插件结构。
当前软件开发中运用到的插件技术主要有以下两种类型:
1、组件对象的模型插件。该技术又被简称为COM,利用该模型可以直接定义程序接口,而不需了解插件功能的整个实现过程,同时也能达到不同插件间通信的目的---此类插件也是市面上使用最广泛的插件类型。
2、脚本插件。将插件逻辑运用编程语言转换为脚本代码(这里的编程语言可以是通用语言,也可以是自行开发)当前脚本插件的主要语言形式为XML,在利用过程中具有简便、易于操作等优势,同时也使得脚本插件具备一定的风险漏洞。
使用插件技术能够在分析、设计、开发、项目计划、协作生产和产品扩展等很多方面带来好处:
1、结构清晰、易于理解。由于借鉴了硬件总线的结构,而且各个插件之间是相互独立的,所以结构非常清晰也更容易理解。
2、易修改、可维护性强。由于插件与宿主程序之间通过接口联系,就像硬件插卡一样,可以被随时删除,插入和修改,所以结构很灵活,容易修改,方便软件的升级和维护。
3、可移植性强、复用力度大。因为插件本身就是由一系列小的功能结构组成,而且通过接口向外部提供自己的服务,所以复用力度更大,移植也更加方便。
4、结构容易调整。系统功能的增加或减少,只需相应的增删插件,而不影响整个体系结构,因此能方便的实现结构调整。
5、插件之间的耦合度较低。由于插件通过与宿主程序通信来实现插件与插件,插件与宿主程序间的通信,所以插件之间的耦合度更低。
6、可以在软件开发的过程中修改应用程序。由于采用了插件的结构,可以在软件的开发过程中随时修改插件,也可以在应用程序发行之后,通过补丁包的形式增删插件,通过这种形式达到修改应用程序的目的。
7、灵活多变的软件开发方式。可以根据资源的实际情况来调整开发的方式,资源充足可以开发所有的插件,资源不充足可以选择开发部分插件,也可以请第三方的厂商开发,用户也可以根据自己的需要进行开发。
自从小程序容器技术被应用到微信中,整个微信的小程序生态便被带火了。于是乎,就有企业开始研究,能不能将小程序容器技术开发出来,应用到别的App中呢?还真有,例如FinClip。
「Native+H5」和「Native+小程序」两种混合式APP开发模式相比之下,「Native+小程序」的开发模式更优。技术优势包括:
具备跨平台的能力,一套代码可以在 iOS 与 Android 两个平台中运行;
远超过 H5 的体验(支持本地缓存,Webview,有丰富的组件与支持库);
能获取更多系统权限,完成更加丰富的产品设计;
可以避免 DOM 泄露(不使用常用的 window 对象与 document 对象);
包尺寸有效减少,节省流量和存储
服务不再受发版所限制,支持热更新
如果从体验上说,采用原生开发的App体验上肯定是最好的。但市场上的用户需求日新月异,业务发展也需要跟得上用户的需求迭代速度,于是乎,「跨端」理念就开始映入了程序员的眼帘。从做程序员的第一天开始,就要接受跨端的“洗礼”,换句话说就是要快!而且质量好!
小程序这种介乎于H5和原生之间的语法便诞生了。
与此同时,软件的快速开发,其本质是将重复的底层功能提取出来,已组件的形式嵌入到框架之中,力求最大程度的减少开发人员的开发难度,节省开发时间。一个企业要做到面面俱到,几乎是不可能的,因为用户的需求千差万别,要想尽可能的做到尽善尽美,必须要在开发技术选型上下足功夫,选择一些具有一定开放性的开发平台,对于这种“开放性”的理解,自定义插件必不可少。
稍微调研了下FinClip,他们有自己的小程序插件市场,Finclip小程序应用市场可以了解一下。一些第三方原生插件也有相当程度的自定义支持,例如声网(Agora)插件
自定义插件在快速开发平台中的重要作用,以传统开发方式为基础,以敏捷思想作指导,这样开发出来的产品可拓展性强,用户满意度也会很高。