[Cordova] Plugin开发架构

时间:2020-12-08 18:48:16

[Cordova] Plugin开发架构

问题情景

开发Cordova Plugin的时候,侦错Native Code是一件让人困扰的事情,因为Cordova所提供的错误讯息并没有那么的完整。常常需要花费大量的时间与精神之后,才发现只是一个字母打错,无形中降低了开发的效率。

[Cordova] Plugin开发架构

解决方案

为了增加Cordova Plugin开发的效率,开发人员可以套用下列的开发架构,来加速开发:

将实际提供功能的Native Code,使用IDE封装为Native Library。在这个步骤中,使用IDE封装Native Library,也就可以使用IDE的编译、侦错、测试等功能,来快速处理Native Code的错误。

将IDE封装完毕的Native Library,加入Cordova Plugin的项目里,并且使用Cordova Plugin的语法来封装Native Code,来提供JavaScript使用。在这个步骤中,尽量避免逻辑落在封装Native Code的Plugin类别,让他单纯只有转接功能,这样就可以减少程序复杂度,进而降低写错的风险。

最后将封装为Cordova Plugin的Native Code,使用JavaScript包装为后续开发人员比较方便使用的样式,就可以完工与交付。在这个步骤中,因为是将预设的cordova.exec函式做封装,也就是说试着选择cordova.exec作为切入点,提供一个模拟的Mock Plugin来隔离JavaScript与Native Code的开发,让两边的开发可以各自进行,避免互相卡住对方的开发进度。并且JavaScript与Native隔离的开发方式,也比较方便后续维护的工作,避免例外错误互相蔓延,造成难以排查错误的问题。