Phonegap:快速开发跨平台HTML5应用的胶水层

在开发移动应用的过程当中,如果你的应用只定位在一种平台上,这可不是一个好主意,但是为许多不同的平台Building应用又是一件非常麻烦和非常不爽的事情,因为你会发现每一种手机平台都有自己的SDK,它们需要使用不同语言来进行开发,你可能不得不需要5、6个代码仓库来管理不同设备上的代码,而且需要不同设备的开发人员来开发维护这些仓库,你还不得不装上各个设备的sdk,设置好路径和各种配置信息,来编译不同设备上的应用包。
那么移动网站模式是不是一个可以接受的替代方案呢?幸运的是移动应用和移动网站并不是对立的两端,通过Phonegap我们可以采用html5的网站形式来开发移动应用。也许开源Phonegap 会成为 WebApp 上设备端开发的事实上标准,ShowMuch本期就为你推荐移动开发利器:PhoneGap。
我们先来看看PhoneGap的特性:

  • 支持6种移动设备平台:iOS, Android, BlackBerry, WebOS, Symbian WRT, Windows Mobile(内部测试),以及桌面环境(内部测试)
  • HTML5 + CSS3 + JavaScript  利用标准的Web技术开发应用
  • Phonegap Build: write once, compile on cloud, run anywhere. 提供在线Builder平台:只写一次,云端编译,运行在任何地方
  • 目前已经有上千基于Phonegap的应用在AppStore上
  • Phonegap 目前标注的版本依然是0.9.x,phonegap的功能特性并不稳定,会有不少bug,要小心。

开始玩

首先自然是需要下载 phonegap: http://www.phonegap.com/

然后你还需要相应设备的SDK

针对iPhone:

  1. 从 Apple Developer Portal 下载安装 XCode.
  2. 解开下载好的phonegap压缩包,进入iphone目录安装好phonegap
  3. 打开XCode,在文件菜单选择 New Project…. 菜单
  4. 点开“User Templates”栏,选择Phonegap,然后选中右边的“PhoneGap-based Application”,点击“Choose…”按钮,命名你的项目,选择项目文件的位置.

针对Android:

  1. 下载安装 JDK 1.5
  2. 下载安装 Android SDK
  3. 下载安装 Apache ANT
  4. 下载安装 Ruby (命令行方式开发需要)
  5. 解压已经下载好的 PhoneGap, 进入android 目录,my god,最新的0.9.4ZIP包中没有命令行创建项目的方式,好吧,你需要从最新的仓库中把代码取出来: git clone https://github.com/phonegap/phonegap-android.git
  6. 命令行方式(Droidgap)脚本的开发者没有修改路径以配合新的0.9.4版本,这是这次在发布中被拿掉的原因吧。需要自己改改,蛮简单的,就不多说。
  7. 将 android下的bin目录 加入你的搜索 path:
    UNIX/LINUX的机子: export PATH=$PATH:~/phonegap-android/bin
    在windows下将phonegap-android/bin 路径加到Path中就不用多说了。
  8. ok,在命令行下输入 “droidgap gen demo”,即可创建phonegap支撑的html5应用项目。
  9. cd demo;ant debug install 即可安装到设备或模拟器
  10. adb logcat 在控制台查看设备的输出日志

使用PhoneGap来创建移动App应用:

打开项目的www目录(android是在项目的assets/www目录下),编辑index.html,在body中键入<h1>hello world</h1>(你也可以加上js和css文件在这个目录下面),保存,然后你就可以首先部署到模拟器上看看。

也许你会说,哈,这不就是网页嘛!是的,这就是网页,不过通过phonegap,这样的网页应用就有能力访问设备的所有功能:文件系统,GPS,相机,重力加速度计,电话簿等,当然不同的设备支持的功能会有所不同(目前phonegap还不能支持完所有的功能,具体看各个设备支持的特性列表)。另外要想呈现和移动应用一样的外观,你还需要选择一种HTML5 Mobile UI Framework库,这样的Framework库已经很多了: Sencha Touch, JQTouch, JMobile, XUI, The-M-Project,Dojo Mobile, dhtmlxTouch, wink, jo, webapp.net…

Phonegap Build

除了在本地编译应用之外,您还可以使用Phonegap提供的云端Build工具进行应用编译。那就是:Phonegat Build,通过它,您只需要将用HTML5写好的应用上传到Phonegap的云端服务器,它即可以帮你编译不同平台平的应用。

Part of the phonegap build status screen for an app, showing downloads and errors

Phonegap Build 当前Phonegap Build依然处于beta状态,你需要申请,等到通过方可使用。另外推荐一个Chrome的插件,Ripple Emulator 可以在Chrome浏览器上测试你的应用,支持phonegap。

(文章作者:李雪愚,盛大创新院高级架构师,雪愚对于使用Phonegap有着丰富的经验,曾用Phonegap开发基于Android和iOS的应用。编辑BY:Handaoliang)

手机/开发工具/PhoneGapSetup 手机/开发工具/PhoneGapSetup无需安装环境,执行EXE文件即可查看手机端的程序 立即下载

相关推荐

phonegap开发工具

phonegap开发工具

01、(一)关于app开发的准备工作和环境的搭建

App环境的搭建和准备工作 01、App开发的发展 原生安卓 (java) + kotlin(语言) + swing 面板plane layout 按钮 苹果 (Objectc) PhoneGap – Javascript—调用安卓的底层 +苹果 Cordova + Ionic 微信小程序 HTML5+(浏览器+webpack+vue|+PhoneGap/Cordova ) uniapp 支持APP 微信小程序 02、Uniapp的认识 官网:https://uni

PeterMrWang的博客 2201

构建跨平台appHtml5+phonegap开发

构建跨平台appHtml5+phonegap开发

浅谈企业应用架构(二)

五、架构的技术层面(一)基础手段提高开发效率和品质的基本手段是分解——即充分的分离系统中不同的关注点,好处不用说了,可以并发的工作,每个人面对的问题都简单而容易操作。而与分解对应的集成,只有提供了好的集成能力,分解才成为现实,而只有分解了,才能清晰的提供业务更多适应性。分解和集成的手段分为编程语言和技术框架两个层面。所谓语言就是强框架,而框架就是弱语言。A. 开发语言现代面

Anders小明的Blog 1886

入门必看:用PhoneGap开发手机应用程序(android,iPhone等)

PhoneGap是一个自由开放源码的开发工具和框架,允许利用HTML + JavaScript + CSS的强大功能在多个手机平台上开发程序。本人介绍了该平台的一些基本特性和开发程序需要的知识,以帮助大家快速入手移动开发。 详细可参考:http://blog.sina.com.cn/s/blog_4cdc44df0100uuiq.html

phonegap桌面开发工具

phonegap桌面开发工具 Phonegap Desktop-App与 手机客户端工具PhoneGap Developer App.pdf

用PHONEGAP开发_移动应用程序

1. 什么是PhoneGap PhoneGap是一个自由开放源码的开发工具和框架,允许利用HTML + JavaScript + CSS的强大功能在多个手机平台上开发程序,开发出来的程序经过在各自的平台上编译形成独立的安装程序。使程序看起来和native的程序一样。   2. PhoneGap的优势和劣势 优势:l 跨平台:一次开发,多个平台共用。现主要包括了android,iOS,App

kehongyong的专栏 940

音频降采样系数

如果需要把8K, 16K, 32K, 48K采样率的音频数据降为4K的音频数据, 最简单的方法根据降频倍数来取点, 但是线性度不好. 另一种线性度好一点的方法是: 取适当个数的点数, 各点乘以各自点的系数, 然后相加取平均值. 降频倍数与系数的关系如下: 2倍:     {0.3, 0.4, 0.3} 4倍:    {0.15, 0.2, 0.3, 0.2, 0.15} 8倍:   {0

joans123的专栏 4646

搭建PhoneGap的开发环境

                                          搭建PhoneGap的开发环境   由 王宇 原创并发布 :    一 Cordova介绍        Cordova是一个开源的移动开发框架。它允许你使用标准WEB技术跨平台开发,例如HTML5, CSS3 和JavaScript。回避每种移动平台自己的开发语言。在每个平台上,应用执行被...

MrWangyu的专栏 242

深度学习(Deep Learning, DL)简介

深度学习(Deep Learning, DL)是机器学习的一个子领域,主要使用多层神经网络来处理复杂的数据和任务。深度学习通过模拟人脑的神经网络结构,能够自动提取特征并进行高效的模式识别和预测。

qq_28791753的博客 1万+

mac(apple silicon)arm64安装spm12详细教程

3.下载matlab runtime R2023b for macOS (macA64),注意必须下载这个,只下载matlab是不可以的。默认安装目录是/Applications/MATLAB/MATLAB_Runtime/R2023b。注意最后的命令,路径根据自己的matlab_runtime安装位置进行调整,然后就可以安装成功了。5. 解压spm12.zip,解压后将文件夹拖到应用程序下(Applications)2.下载spm12,这个版本可兼容mac芯片!6.打开mac终端,输入。

weixin_62332001的博客 2024

PhoneGap学习-执行原理

phonegap ,html5,android

成风的专栏 3154

深度强化学习训练结果曲线绘制教程

使用python语言,只调用matplotlib库,绘制训练过程中保存的强化学习训练曲线。模仿经典论文中的训练曲线,多次训练取平均,并绘制出阴影区域。

加斯顿工程师的博客 911

HTML5+JS手机web开发之jQuery Mobile初涉

by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=2007 一、起始之语 我一直都是在PC上折腾网页的,这会儿怎么风向周边捣鼓起手机网页开发呢?原因是公司原先使用Java开发的产品,耗了不少人力财力,但是最后的效果却不怎么好。因为,And

yuanyuan_186的专栏 353

模式分类识别 | TCN时间卷积神经网络多特征分类预测(Matlab完整程序)

模式分类识别 | TCN时间卷积神经网络多特征分类预测(Matlab完整程序)

前程算法屋的博客 748

16、AI与无人机助力紧急器官移植及医疗物资运输

本文探讨了AI与无人机(UAV)集成模型在紧急器官移植和医疗物资运输中的应用。传统运输方式受限于交通、时间和环境因素,而基于图神经网络(GNN)的AI-UAV系统可实现高效、智能、全天候的医疗物资配送,具备实时温湿度监控、自动导航和适应复杂地形等优势。文章分析了该模型在血液、器官运输中的关键作用,展示了其在澳大利亚、中国、美国等国的实际应用案例,并通过表格与流程图说明运作机制。同时,文章还探讨了技术、法规和社会层面的挑战及应对策略,展望了未来技术融合、应用拓展和国际合作的发展趋势,凸显其在全球医疗物流中的广

lll78的博客 102

每日一得-开始学习手机web开发

一、起始之语 我一直都是在PC上折腾网页的,这会儿怎么风向周边捣鼓起手机网页开发呢?原因是公司原先使用Java开发的产品,耗了不少人力财力,但是最后的效果却不怎么好。因为,Android系统一套东西,iPhone又是新的一套,折腾死人呐。 于是总监发狠,让我把手上的活都交出去,专心折腾web版的,看看最后效果如何。 加上我觊觎手机上的开发学习很久了,于是,一拍即合,搞起了手机开发

xoopx的专栏 362

华为OD机考双机位C卷 - 打印机队列 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 打印机队列

算法大师! 4619
上一篇: Grails 1.4 M1发布
下一篇: 主题:jquery1.4+SWFUpload2.2+COS的jquery上传插件
xinlanzero
博客等级 码龄25年 10粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值