|
|
**Install**
|
|
|
# 概述
|
|
|
本插件用于与BlueTherm的测温仪进行交互。目前仅支持iOS平台。
|
|
|
# 安装插件
|
|
|
打开终端,进入cordova项目根目录,输入下面命令
|
|
|
```
|
|
|
cordova plugin add git+http://http://gitlab.easternphoenix.com
|
|
|
```
|
|
|
# 项目结构
|
|
|
插件内目录src/ios下面有一个Xcode项目和plugin接口。
|
|
|
|
|
|
在终端进入cordova项目的目录,输入下面命令
|
|
|
**Xcode项目TSBlueTherm**
|
|
|
项目内主要有3个target,分别是:
|
|
|
|
|
|
> cordova plugin add git+http://gitlab.easternphoenix.com/CordovaPlugin/blue-therm.git |
|
|
\ No newline at end of file |
|
|
1. TSBlueTherm,实现BlueTherm测温仪交互功能的framework。
|
|
|
|
|
|
2. TSBlueTherm-Universal,把前者编译成universal库,并且拷贝到项目的src/ios目录下进行发布。
|
|
|
|
|
|
3. TSBlueThermDemo,测试用App,App运行framework中的功能。开发者无需把plugin引入到cordova项目中,通过该App可以大致测试和调试framework。
|
|
|
|
|
|
**接口TSBlueThermPlugin.m**
|
|
|
接口部分并不实现具体的功能,接口只是简单调用framework中的功能。
|
|
|
# 设计理念
|
|
|
项目的关键设计在于,接口不实现具体功能,而是通过调用framework提供功能。我们可以把这种设计模式总结成「源码封装抽离」。该模式有以下好处:
|
|
|
1. 方便配置和管理。
|
|
|
相对于「源码封装抽离」的是将源码直接放置在plugin之内。后者设计较多的plugin.xml的配置问题,尤其当引入第三方库的时候,如果存在大量的源文件和资源则plugin.xml的配置将非常繁琐。一旦配置出错有可能是的plugin无法正常运作,增加调试的工作量。
|
|
|
「抽离」模式plugin.xml的配置相对稳定,开发以及第三方资源封装在framework内。开发精力集中在framework上,而无需太多关注配置问题。如果有需要快速开发、调试,甚至可以直接替代项目中的framework(如果接口不变),而无需完整发布新的plugin。
|
|
|
|
|
|
2. 方便调试。
|
|
|
Cordova项目引入、更新plugin的操作并不复杂,但相当繁琐。在开发调、试过程频繁操作会相当影响效率。「抽离」模式极大降低plugin的更新引入操作。开发者可以先对framework进行完整的开发、调试,待稳定可靠之后再引入到cordova项目下做完整的环境和系统测试。
|
|
|
另一方面,这种开发方式脱离具体的业务流程,只关注plugin的功能,同样可以提高开发效率。 |