为什么用phonegap开发iOS应用
一、为什么用phonegap开发iOS应用
Web应用。通过 浏览器 访问,采用Web技术开发。
混合型应用。通过各种应用市场安装,但采用Web技术开发。它虽然看上去是一个原生应用,但里面访问的实际上是一个Web应用。
优势: | 劣势: |
原生应用的优势如下: 1. 提供最佳的用户体验、最优质的用户界面和最华丽的交互; 2. 针对不同平台提供不同体验; 3. 可节省带宽成本; 4. 可访问本地资源; 5. 盈利模式明朗。 | 原生应用的劣势如下: 1. 移植到不同平台上比较麻烦;维持多个版本的成本比较高; 2. 需要通过store或market确认; 3. 盈利需要与第三方分成。 |
Web应用的优势如下: 1. 开发成本低; 2. 适配多种移动设备的成本低; 3. 跨平台和终端; 4. 迭代更新容易; 5. 无需安装成本。 | Web应用的劣势如下: 1. 浏览体验短期内还无法超越原生应用; 2. 不支持离线模式(HTML5将会解决这个问题); 3. 消息推送不够及时; 4. 调用本地文件系统的能力弱。 |
混合型应用可以说是为了弥补上面两种应用开发模式的缺陷而生,它是两者混合的产物,并且尽可能继承了双方的优势。首先,它可以让众多Web开发人员几乎零成本地转型成移动应用开发者。其次,相同的代码只需针对不同平台进行编译就能实现在多平台的分发,大大提高了多平台开发的效率。而相较于Web应用,开发者可以通过包装好的接口调用大部分常用的系统API。
phonegap的优点: | phonegap的缺点: |
1.开发成本低; 2. 对各大主流平台的兼容性非常好; 3. 采用W3C标准化技术; 4. 能够快速进行开发,迭代更新容易; 5. 轻量级和插件式架构显著降低了维护成本; 6. 开源免费,并由Adobe公司和Apache基金会共同支持。 | 1. 浏览体验短期内还无法超越原生应用; 2. 特别复杂的应用运行速度稍显缓慢; 3. 在某些JavaScript渲染速度较慢的设备上,UI反 应略有延时。 |
二、PhoneGap与HTML5关系:
HTML5在以下几个方面有所改进。
1.增强HTML表单功能,引入更多灵活的段落标签和新功能标签。
2.用户交互性增强,增加了details、datagrid、menu和command等属性。
3.引入<canvas>标签,并支持直接用脚本绘图。
4.使用沙盒机制,隔离潜在的威胁。可有效防止访问父页面DOM、读写Cookie、本地存储数据库等。
5.内建3D技术支持,无需插件即可将网页3D化,还规定了一套适合网页使用的3D图形接口界面,支持脚本化运行。
6.引入更多创建Web应用的API,如文件拖放、视频播放、音频播放和离线Web应用等。
三、一些常用的移动Web UI框架:
在移动Web开发的总体架构中,PhoneGap处于移动Web UI框架和移动设备操作系统(Android、iOS、BlackBerry、Symbian、webOS等)之间,因此它也可以称为移动应用中间件。
1. jQuery Mobile
jQuery Mobile是目前Web开发者用得最多的JavaScript框架,它是jQuery在手机上和平板设备上的版本。jQuery Mobile不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。
Adobe为jQuery Mobile的诞生贡献了很多力量,而且Dreamweaver也集成了该框架和PhoneGap,从而使这个组合成为前端开发人员最易入手的移动应用开发平台。
jQuery Mobile支持很多平台,包括iOS、Android、Windows Phone、BlackBerry和Symbian等。
2. Sencha Touch
前不久,基于JavaScript编写的Ajax框架Ext JS,将现有的Ext JS整合jQTouch和Raphal库,推出了适用于移动应用开发的Sencha Touch框架,该框架是世界上第一个基于HTML5的移动应用框架。同时,Ext JS更名为Sencha,jQTouch的创始人David Kaneda以及Raphal的创始人也已加盟Sencha团队。
Sencha Touch支持的平台相对不多,但是功能强大,可以简单看成Ext在移动设备上的移植版本,熟悉Ext框架的Web开发人员用起来会非常顺手。Sencha Touch具有丰富的组件支持和华丽的页面效果,但是在开发过程中需要考虑性能问题。
3. Dojo Mobile
Dojo Mobile框架是一套移动终端的Web应用开发框架,是Dojo的一个子项目,具有轻量级、模块化、速度快及封装性好的特点。Dojo Mobile主要面向手持设备上的Web富客服端应用开发,提供了iPhone和Android两套主题,使得基于iPhone或者Android的Web应用具有手机本地应用的外观和效果,而同时也给了开发者更多的主导权。
4. XUI
XUI是类似于jQuery的一个JavaScript库,与Sencha Touch或者jQuery Mobile那样试图构建一个通用的解决方案不同,XUI是一个用于移动Web应用的轻量、极简、高度模块化的框架。