本发明涉及一种移动端开发方法,尤其涉及一种适配不同移动端的统一编程接口实现方法。
背景技术:
1、移动端(包括手机、pda、平板等)开发是如今开发者的一项重要技能,但真正能使用移动端开发却并非易事。因为移动端开发与当前项目中使用到的基于web展现的前后端开发技术栈差异太大,想让开发web前端的开发人员懂专门的移动应用开发,不太现实。
2、移动端开发大致分为以下三种:
3、1)移动页面开发
4、移动应用都是由纯web页面组成,不需要调用移动设备的硬件资源,这类应用只需要针对不同的移动端设备进行自适应并正确进行显示即可。
5、2)混合移动页面开发
6、移动应用主要是由web程序组成,但需要调用移动端的硬件如摄像头、扫描枪等硬件进行控制并操作。常用的技术包括cordova,flutter,uniapp等。如果pda设备既带扫描枪,又自带相机功能,则优先选择带扫描枪的接口去调用。
7、3)原生移动开发
8、直接利用移动端进行的原生应用开发,常见的就是android和ios移动端应用开发。
9、
10、目前进行跨平台移动开发,大部分的业务都是web开发,只有涉及到硬件调用才会使用cordova的混合跨平台移动开发。当使用cordova进行跨平台移动开发,现有的做法就是前端开发人员针对各种类型的pda,先判断当前的硬件信息,然后选择调用特定类型的pda插件进行控制。这种做法的不足之处就是前端开发人员拥有太大的灵活度,需要对设备进行显式控制,易造成代码混乱;而且也无法在不同的项目中进行共享。
技术实现思路
1、本发明所要解决的技术问题是提供一种适配不同移动端的统一编程接口实现方法,从而达到使用一个javascript接口来调用不同的pda硬件接口进行扫描的目的。即使以后新加设备类型,前端的源码也无需改变,只要将新的依赖包更新重新编译即可。
2、本发明为解决上述技术问题而采用的技术方案是提供一种能适配不同移动端的统一编程接口实现方法,包括如下步骤:s1)提供统一的前端开发接口;s2)提供前端适配器代码,所述前端适配器代码由不同移动端各自的工厂类创建;s3)提供插件代码,插件代码调用设备厂商发布的sdk来对硬件进行控制。
3、进一步地,所述步骤s1提供一个工厂类pdascannerfactory,通过该工厂类传入一个hardware信息,获得iscanner接口,并通过iscanner接口启动扫描监控和停止监控。
4、进一步地,所述工厂类pdascannerfactory采用typescript代码编程,并转化为javascript执行。
5、进一步地,所述hardware信息通过cordova-plugin-hardwareinfo的插件来获得,包括硬件的型号,生产厂家和品牌信息。
6、进一步地,所述移动端为手机、平板或pda设备,所述移动端带有终端扫描器,或者通过自带的摄像头来进行扫描识别提供前端适配代码器的核心类;如果pda设备既带扫描枪,又自带相机功能,则优先选择带扫描枪的接口去调用。
7、进一步地,所述步骤s3中的插件代码调用本地设备api并转化为javascriptapi。
8、进一步地,所述步骤s1中的前端开发接口和步骤s3中的插件代码封装成npm包。
9、进一步地,所述前端开发接口打包生成npm包命名为pda-scanner,所述插件代码打包生成cordova-plugin-seuic,cordova-plugin-lachesis;对于运行android程序的移动端,所有的插件代码生成的npm包都包含在apk包里。
10、本发明对比现有技术有如下的有益效果:本发明充分利用于cordova这个跨平台的web应用开发工具,并通过其丰富和具有扩展性的插件功能,利用现有的插件或者手动编写插件来达到仅通过javascript代码就可以和原生平台(理论上支持常见的ios和android平台)进行交互的目的。
11、本发明就是给前端开发人员一套统一而简单的接口,将公共的部分打包。这样进行职责划分,也有利于调配开发人员分工,使专业的人员做专业的事情,从而使开发效率最大化。
12、本发明可以有效降低前端开发人员的开发难度,同时达到可以和原生移动平台应用一致的应用效果。
1.一种适配不同移动端的统一编程接口实现方法,其特征在于,包括如下步骤:
2.如权利要求1所述的适配不同移动端的统一编程接口实现方法,其特征在于,所述步骤s1提供一个工厂类pdascannerfactory,通过该工厂类传入一个hardware信息,获得iscanner接口,并通过iscanner接口启动扫描监控和停止监控。
3.如权利要求2所述的适配不同移动端的统一编程接口实现方法,其特征在于,所述工厂类pdascannerfactory采用typescript代码编程,并转化为javascript执行。
4.如权利要求3所述的适配不同移动端的统一编程接口实现方法,其特征在于,所述hardware信息通过cordova-plugin-hardwareinfo的插件来获得,包括硬件的型号,生产厂家和品牌信息。
5.如权利要求1所述的适配不同移动端的统一编程接口实现方法,其特征在于,所述移动端为手机、平板或pda设备,所述移动端带有终端扫描器,或者通过自带的摄像头来进行扫描识别提供前端适配代码器的核心类;如果pda设备既带扫描枪,又自带相机功能,则优先选择带扫描枪的接口去调用。
6.如权利要求1所述的适配不同移动端的统一编程接口实现方法,其特征在于,所述步骤s3中的插件代码调用本地设备api并转化为javascriptapi。
7.如权利要求1所述的适配不同移动端的统一编程接口实现方法,其特征在于,所述步骤s1中的前端开发接口和步骤s3中的插件代码封装成npm包。
8.如权利要求7所述的适配不同移动端的统一编程接口实现方法,其特征在于,所述前端开发接口打包生成npm包命名为pda-scanner,所述插件代码打包生成cordova-plugin-seuic,cordova-plugin-lachesis;对于运行android程序的移动端,所有的插件代码生成的npm包都包含在apk包里。