混合开发项目总结一 (cordova插件的定义和使用)

最近刚刚完成了一个混合开发的项目,现在可以对此进行一些总结了。这个项目是用web开发的使用的框架是AngularJS和ionic的框架。iOS和Android(使用cordova创建工程)都使用同一套页面和JS代码。项目中用到了很多比较好的方案,整个项目没有很卡顿的感觉,个人觉得是个很好的学习代码。现在开始慢慢的啃这个骨头。

1.Cordova

http://cordova.apache.org/docs/en/latest/guide/cli/index.html

先从我最熟悉的部分开始,就是cordova的使用。我们项目的创建是跨平台的方式。

(1)cordova创建项目的时候也有两种方案:

   一种是跨平台的方式。

   一种是平台为中心的方案;

两种方案没有优劣之分。跨平台方式创建项目,添加插件的命令都比较简单。平台为中心的会使用一个plugman去管理插件。

下面的图是跨平台的方式创建项目所生产的文件夹

混合开发项目总结一 (cordova插件的定义和使用)_第1张图片

混合开发项目总结一 (cordova插件的定义和使用)_第2张图片

混合开发项目总结一 (cordova插件的定义和使用)_第3张图片

混合开发项目总结一 (cordova插件的定义和使用)_第4张图片

下面是平台为中心的方式创建的文件夹

混合开发项目总结一 (cordova插件的定义和使用)_第5张图片

混合开发项目总结一 (cordova插件的定义和使用)_第6张图片

两种方案在结构和层次上是不同的。跨平台的项目,会产生两个WWW文件夹,一个外层的一个内层的。外层的理论上是放置不同平台公共需要的东西。里面的那层是放置针对的平台的东西。

跨平台为中心的项目创建

平台为中心的项目创建

(2)自定义插件的插件方法

混合开发项目总结一 (cordova插件的定义和使用)_第7张图片

自定义插件的文件夹中包含的这三个文件

plugin.xml

混合开发项目总结一 (cordova插件的定义和使用)_第8张图片

src文件夹中是ios的插件类

混合开发项目总结一 (cordova插件的定义和使用)_第9张图片

混合开发项目总结一 (cordova插件的定义和使用)_第10张图片

js文件

混合开发项目总结一 (cordova插件的定义和使用)_第11张图片

混合开发项目总结一 (cordova插件的定义和使用)_第12张图片

js的调用方法

document.getElementById("erweima").onclick = function(){

    alert("二维码");

    var str="";

    ScannerPlugin.starScannerPlugin(function success(message){

       alert("success");

           alert(message);

    },function failed(message){

       alert("fail");

    },str);

   

}

上面描述了自定义的插件是如何的创建的。这里要吧项目中插件都备份一下方便以后使用

相册多选,相机,actionSheet,Device。这几个是cordova自带的插件。项目中要集成了ng-cordova就可以使用了 http://ngcordova.com  http://ngcordova.com/docs/plugins/ 

自定义的插件整理:语音,二维码,外链,数字签名,

插件的制作方法很简单,明白了插件的作用就好做了很多。

插件就是web和原生之间的一个桥梁。我们只要按照上述的格式,定义好几个文件,就可以了,插件能做的就是让js去调用一个原生的方法,并且可以让这个方法带有返回值,参与参数。所的操作,只要能走到原生,就不用担心了,剩下的就是自己老本行了。明白了这些,还会觉得插件很难写了吗。

你可能感兴趣的:(混合开发)