phonegap运行原理
来源:互联网 发布:超值的网络推广多少钱 编辑:程序博客网 时间:2024/06/06 01:17
用phonegap(现在名为cordova)来开发手机应用,给人的感觉,就是写了一些HTML5的网页,加上javascript,打包安装在手机上,然后就可以运行了,并且还能访问手机的各种功能和硬件,太神奇了吧,javascript有这么强大的魔力?我之前搞过许久的WEB开发,按我的认知,网页,以及里面的脚本,功能很弱,处处受到安全限制,比如javascript就有跨域访问的问题,甚至在有些浏览器里面,想用脚本来实现复制、粘贴都有困难。
那么,phonegap是如何做到用脚本就能访问手机硬件的呢?
这段时间,我在用phonegap来搞一个for android的小项目,以android为例来谈谈我的认识:
1、phonegap for android的工程,实质上是一个 android工程
用phonegap开发的网页、脚本,要放在android工程的\assets文件夹下,也就是说,它要依附在安卓工程上,打包、发布,就是一个完整的安卓APK。所以说,phonegap for android程序,本质上,也是一个安卓程序,充其量,是有点特殊的安卓程序而已。
对其他手机平台而言,phonegap也一样。比如用phonegap开发IOS应用,也要搭建IOS开发环境,将这些网页、脚本放到IOS工程里面去。所谓的跨平台,就是理论上,网页、脚本只写一份,然后复制、粘贴到各个平台的工程里面去而已。
2、android、IOS内置了一个浏览器(WebView),phonegap程序运行于此,phonegap针对不同的手机平台的WebView,做了封装和扩展,因此使得脚本和HTML5能访问手机硬件。
正如HTML只不过是一些简单的标记,但浏览器的解释、支持下,呈现出多姿多彩的炫丽效果一样,JS、HTML本身并没有多强大的能力,只是因为有WebView、手机平台支持,所以才能发挥出强大的效力。
3、phonegap只是一个接口,访问手机硬件,由手机平台负责,因此可以跨平台
phonegap就是一个中介。对开发人员,它提供了统一的API,以供调用,然后另一端,针对不同手机平台,开发了不同的包。我们开发时建立的phonegap,是要分不同手机平台,引用相应的jar包的。当然,这些包里面,我猜测是调用手机平台的各种API,以对各种手机进行各种访问,phonegap本身并不直接访问手机的。所以它能够跨平台。
也因此,理论上,我认为在访问手机硬件能力上,以phonegap这种混合模式,跟原生模式应该没有什么区别。
- phonegap运行原理
- phonegap运行原理
- phoneGap在iOS下运行原理简单分析
- PhoneGap学习-执行原理
- PhoneGap 简介及原理
- phonegap原理分析-ios版
- iOS版PhoneGap原理分析
- iOS版PhoneGap原理分析
- PhoneGap学习笔记二:PhoneGap底层原理(上)
- PhoneGap学习笔记三:PhoneGap底层原理(中)
- PhoneGap学习笔记四:PhoneGap底层原理(下)
- Dreamweaver CS6配置Phonegap运行环境介绍
- PhoneGap搭建运行环境(3.2版本)
- phonegap运行www包遇到的问题
- Phonegap项目创建 编译 安装 运行
- PhoneGap的工作原理及架构基础
- android平台phonegap框架实现原理
- PhoneGap与Android之间通信原理
- Spring MVC : Java模板引擎 Thymeleaf (二)
- 安装zabbix客户端脚本
- 手机DCIM\.thumbnails 文件删除
- Excel部分快捷键用法(2)
- Java学习课程(1)
- phonegap运行原理
- gluLookAt 与 gluPerspective 动画解析
- Java学习课程(2)
- nyoj1022合纵连横(带分离操作的并查集)
- CF 111B Petya and Divisors【想法题+二分(可省略)】
- Java学习课程(3)
- java的个人经验
- Java学习课程(4)
- Java学习课程(4)