AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

Web 标准交流会介绍 PhoneGap 主题

  • 2012-03-19
  • 本文字数:1817 字

    阅读完需:约 6 分钟

最近,Web 标准交流会北京站组织了以 PhoneGap 为主题的技术沙龙,邀请了来自 Adobe 的技术布道师董龙飞和新浪的前端工程师董玉伟介绍了跨平台移动开发工具 PhoneGap。

董龙飞对 PhoneGap 的来龙去脉做了总体的介绍,很多开发者已经使用 HTML5、CSS3 等最新技术做 Web 应用开发,也有不少开发者涉足移动开发,包括 Android 的 Java 编程、iOS 的 Obejct-C 编程等。在 2008 年,旧金山,针对 iPhone 的开发者会议上,几位与会者希望通过 JavaScript 调用 iPhone 的本地特性,就在一天之内做了一个最基本的 PhoneGap 想法原型,并逐渐获得的社区的认可,扩展到了其他移动平台,如 Android。后来,PhoneGap 被 Adobe 收购,并被贡献给了 Apache 基金会,开始名为“CallBack”, 后来改为“Cordova”,但两者不完全一样。Cordova 是其中最核心的一部分,PhoneGap 还包括了外部工具等。

借助 PhoneGap,Web 开发者可以把已有的 Web 应用打包成移动平台上的本地应用或者应用商店里的 App,让用户直接下载安装,甚至支持 BlackBerry、Windows Phone 等应用格式。在开发移动应用时,开发者经常需要利用平台本身的一些特性,比如需要访问手机通讯录,或者 GPS 传感器信息等,PhoneGap 提供了一些方便的 JavaScript 接口,帮助开发者直接调用移动平台的本地特性。不同的移动设备支持的特性并不相同,或者有时会遇到 CPU 密集性的技术需求,此时 JavasSript 代码并不合适,开发者可能想用本地的编程语言来写程序,然后再用 JavaScript 来调用,提高整个应用的性能。PhoneGap 支持插件机制,开发者可以使用本地语言来编写程序,然后通过 Javascript 集成,由 PhoneGap 打包成 App。总的来说,PhoneGap 的特性包括:将 HTML/JavaScript 代码打包成本地 App,帮助开发者部署到各种平台上,并提供了访问移动应用本地特性的接口,同时支持多语言混合的插件机制。

但 PhoneGap 不是 JavaScript 框架,开发者需要借助其他 JS 框架,Phone 不提供 IDE 环境,由开发者自己选择。

如果想把 Web 应用打包成各种移动平台的 App,开发者可以利用在线的 PhoneGap Build,自动生成各种应用格式,并发布到移动平台的网上商店中。Phone Build 针对开源免费的 Web 应用也是免费的。董龙飞还举例详细介绍了 PhoneGap 的内部实现机制和应用的调用方式。​

新浪高级工程师董玉伟则探讨了​PhoneGap 插件扩展机制,他先后介绍了 PhoneGap 的插件实现原理、编程技巧等。

插件之间的通信通过 postMessage 和 onMessage 接口​来显示,在调用系统接口,设计到用户隐私数据时应该请求用户授权。

他还分享了自己的移动开发经验,包括:​启动时不要加载渲染大量 html(使用 JS 渲染大数据更快);谨慎使用 Scroll,等系统进化到支持 Fixed 定位。

​​​ PhoneGap 现已完全支持 Windows Phone 7 所有的原生功能,其支持力度达到了 iOS 与 Android 的水平。 ​

目前,PhoneGap API 支持的功能包括:

  • Accelerometer——加速计是检测设备在当前方向上所做相对运动变化(增、减量)的运动传感器。加速计可以检测沿 X、Y 和 Z 轴的三维运动。加速度数据通过 accelerometerSuccess 回调函数返回。
  • Camera——选择使用摄像头拍照,或从设备相册中获取一张照片。图片以 base64 编码的字符串或图片 URI 形式返回。​
  • Compass——罗盘是一个检测设备方向或朝向的传感器,使用度作为衡量单位,取值范围从 0 度到 359.99 度。通过 compassSuccess 回调函数返回罗盘朝向数据。
  • Connection——Connection 对象提供对设备的蜂窝及 WiFi 连接信息的访问。
  • Contacts——提供对设备通讯录数据库的访问。
  • Geolocation——Geolocation 提供设备的位置信息,例如经度和纬度。位置信息的常见来源包括全球定位系统(GPS),以及通过诸如 IP 地址、RFID、WiFi 和蓝牙的 MAC 地址、和 GSM/CDMA 手机 ID 的网络信号所做的推断。不能保证该 API 返回的是设备的真实位置信息。这个 API 是基于 W3C Geo location API Specification 实现的。有些设备已经提供了对该规范的实现,对于这些设备采用内置实现而非使用 PhoneGap 的实现。对于没有地理位置支持的设备,PhoneGap 的实现应该是完全兼容 W3C 规范。
  • Storage——提供对设备的存储选项的访问。此 API 基于 W3C WEB SQL Database Specification 和 W3C Web Storage API Specification。有些设备已经提供了对该规范的实现,对于这些设备采用内置实现而非使用 PhoneGap 的实现。对于没有存储支持的设备,PhoneGap 的实现应该是完全兼容 W3C 规范。​
2012-03-19 09:102125
用户头像

发布了 501 篇内容, 共 267.2 次阅读, 收获喜欢 62 次。

关注

评论

发布
暂无评论
发现更多内容

Move Protocol Beta测试版稳定,临时决定奖池规模再扩大

小哈区块

为 Serverless Devs 插上 Terraform 的翅膀,实现企业级多环境部署(上)

阿里巴巴云原生

阿里云 Serverless 云原生 开源项目

昇腾科研创新使能计划赋能开发者  华为计算提供三大维度支持

极客天地

数据库主键一定要自增吗?有哪些场景不建议自增?

CRMEB

秒云云原生信创全兼容解决方案再升级,助力信创产业加速落地

MIAOYUN

运维 云原生 信创 智能运维 信创云

Nebula Graph入驻阿里云计算巢,助力企业打造云上超大规模图数据库

阿里云弹性计算

spark 分布式 云原生 图数据库 计算巢

力扣每日一练之双指针1Day8

京与旧铺

6月月更

天天在都在谈的S3协议到底是什么?一文带你了解S3背后的故事

wljslmz

对象存储 S3 6月月更

深入剖析 HIVE 的锁和事务机制

明哥的IT随笔

大数据 hive 数据仓库

在线文档协作:办公必备高效率神器

小炮

Gartner 网络研讨会 “九问数字化转型” 会后感

明哥的IT随笔

数字化转型

自助洗车方便主要体现在哪方面

共享电单车厂家

自助洗车 自助洗车加盟

Move Protocol Beta测试版进行时,瓜分生态核心权益MOMO

鳄鱼视界

自助洗车到底有哪些不一样的地方

共享电单车厂家

自助洗车加盟 24小时自助洗车

揭秘支撑百度搜索、Feed、小程序三大业务的MVVM框架设计思想,San 核心人员倾力打造

图灵教育

前端开发 好书推荐 框架设计

自助洗车为什么可以做到24小时营业

共享电单车厂家

自助洗车机 自助洗车加盟 24小时自助洗车

数字藏品系统开发,NFT艺术品交易平台搭建

薇電13242772558

NFT 数字藏品

有哪些好用的工作汇报工具

优秀

低代码 工具软件

带你区分几种并行

华为云开发者联盟

后端 开发 华为云

Docker入坑篇

青柚1943

Docker DevOps 云原生 容器化

启动!阿里巴巴编程之夏2022

阿里巴巴云原生

阿里云 云原生 编程之夏

Move Protocol Beta测试版再调整,扩大总奖池

股市老人

自助洗车一次费用不到10元你敢信

共享电单车厂家

自助洗车加盟 自助洗车费用

SQL操作:WITH表达式及其应用

华为云开发者联盟

数据库 sql 后端 华为云

pnpm 中无法使用 patch-package 打补丁

OpenHacker

前端 js

如何使用 DATAX 以 UPSERT 语义更新下游 ORACLE 数据库中的数据

明哥的IT随笔

oracle 大数据 数据仓库 DataX

Serverless 时代下微服务应用全托管解决方案

阿里巴巴云原生

阿里云 Serverless 微服务 云原生

Dubbo3 官方文档贡献者征集令

阿里巴巴云原生

阿里云 开源 云原生 dubbo

Move Protocol Beta测试版稳定,临时决定奖池规模再扩大

西柚子

你的城市有24小时共享自助洗车吗

共享电单车厂家

自助洗车加盟 自助洗车店

Web标准交流会介绍PhoneGap主题_移动_崔康_InfoQ精选文章