web多终端开发学习系列(二)--- 硬件交互框架Phonegap学习

        目前对于移动端、桌面端的原生开发各平台都有各自的开发语言、开发工具等。如果要开发出一个适配多个终端的系统,我们需要用各自的平台工具分别开发出各自的应用,这对于一个团队或者一个开发人员来说要求非常高,并且非常耗时。前一篇学习了Bootstrap框架,对于多终端的界面适配有了解决方案。但一个系统除了与用户之间的交互外,其内部还可能需要与硬件进行交互来实现某些特殊需求,比如摄像头的调用,相册的获取等等。对于这些硬件的调用我们可以选择Phonegap。


介绍

        Phonegap是一个适配多个终端进行硬件交互的框架,我所使用的版本是phonegap-2.9.0,支持的平台有Android,Blackberry,IOS,Tizen,WinPhone7 and 8,win8.。当然某个特殊功能所支持的平台可能会有出入,具体的可参考官方文档。phonegap的官网是http://phonegap.com/
       对于不同平台的支持,都需要搭建不同的初始环境,比如android需要导入相关的jar包,配置初始的XML,一旦这些环境配置好了,多个平台可通过访问同一个Html或者动态网页来实现与各平台的硬件交互。

环境搭建

        官网下载phonegap-2.9.0,我是通过手动下载ZIP的方式下载的,解压。本篇所用例子的平台为android,其它平台的搭建类似。
        将官网提供的例子..\phonegap-2.9.0\lib\android\example导入到eclipse即可。可看到其项目结构如下:
技术分享
其中assets存放了实际调用硬件的JS代码,config.xml是配置文件。可通过config.xml来配置引入硬件调用的类库,程序的初始访问路径。

实例

        ..\phonegap-2.9.0\doc存放了phonegap的各种API的实例,具体可参考此文档。

        比如你需要通过js调用android的摄像头,步骤需要如下:
       1.AndroidManifest.xml 配置访问权限
    <uses-permission android:name="android.permission.CAMERA" />
       2.config.xml引入类库
    <feature name="Camera">
      <param name="android-package" value="org.apache.cordova.CameraLauncher"/>
    </feature>
      3.实际的js调用

总结

        如果需要应用phonegap来开发系统,前提必须是各目标平台需要配置好基础环境。一旦基础环境有了之后就可进行统一的代码开发。
        由于是跨平台的框架,并且通过了跨语言的调用,phonegap开发的应用程序的性能比起原生应用还是存在差距的,但对于普通的应用,正常的硬件基本可以忽略此差距。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。