PhoneGap学习笔记一:PhoneGap简介

学习PhoneGap有一周多的时间了,利用晚上的时间对PhoneGap学习整理一下笔记,以随笔的形式发布在博客上,希望可以和博友一块学习讨论。

本篇分为以下几个部分:

    1. PhoneGap简介
    2. PhoneGap跨平台原理
    3. PhoneGap的优缺点
    4. PhoneGap应用案例

PhoneGap简介

PhoneGap是一个开源的开发框架,使用HTML,CSS和JavaScript来构建跨平台的的移动应用程序。它使开发者能够利用iPhone,Android,Palm,Symbian,Blackberry,Windows Phone和Beda智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等。

PhoneGap跨平台原理

在phonegap中,通过android和iphone的webview实现对html网页的展示。以Android为例,PhoneGap采用android中webview实现对html调用以及js调用java方法的。其实质也是phonegap插件的原理。
iPhone和Android平台共同点是都有内置的WebView组件,其具备两个特性:

1. WebView组件实质是移动设备的内置浏览器

WebView这个内置浏览器特性是Web能被打包成本地客户端的基础,可方便的用HTML5、CSS3页面布局,这是移动Web技术的优势相对于原生开发。

 

2. WebView提供Web和设备本地API双向通信的能力

PhoneGap针对不同平台的WebView做了扩展和封装,使WebView这个组件变成可访问设备本地API的强大浏览器,所以开发人员在PhoneGap框架下可通过JavaScript访问设备本地API。
明白以上两个特性,参照下面PhoneGap与设备本地API通信图,一个成熟的PhoneGap技术客户端运行状况如下:
应用运行在WebView组件上 → 通过PhoneGap在各平台的扩展 → 最终访问设备本地资源

 

 

PhoneGap的优缺点

优点:
1. 跨平台
phonegap作为跨平台框架,其实并别writtenonce, run everywhere,各移动平台的差异还是较大,phonegap框架帮我们解决了差异性,javascript与平台系统的连接由phonegap框 架完成。成为连接移动终端的适配器,或者说中间件。

PhoneGap通过调用JavaSCript 调用API库实现和各个平台的SDK进行无差别的交互. 以达到调用不同平台手机上摄像头,文件系统,重力感应.GPS定位等功能。

2. 易用性
phonegap开发人员无需直接操作平台资源。对平台资源的操作完成由phonegap框架完成。开发人员只需要用 javascript调用phonegap API就可以完成对平台资源操作。由于phonegap框架限制,对平台资源操作是有一定限制的。

phonegap开发人员可以从web开发人员转入,目前来说web开发人员较多,成本也较低,转入phonegap开发后,可以降低移动应用产品的开发成本。这样,移动应用数量将直线提升。

3. 提供硬件访问控制
比起传统的Web程序,PhoneGap提供了一些列的JS 的类,可以直接访问硬件。比如加速,相机,指南针,GPS,文件访问等,可以让你用JS方便地调用系统的硬件。以弥补传统Web程序的一块错误。

4. 可利用成熟javascript框架
web的发展,诞生了许多javascript框架。著名的有Ext js、jQuery。随着移动应用的需求越来越大,jQuery出现了jQuery mobile版本。它的体积小,为移动应用量身定制。使用javascript框架也降低了开发难度,使得移动应用更美观。

5. 方便的安装和使用
PhoneGap的架构很复杂,但对于大多数开发者来说,并不需要了解phonegap内部,只用很简单的配置就可以搭好环境。只用专注写好自己的Web页面,拷贝进去就可以了。

不足:

1. 运行速度慢
PhoneGap集成多了个平台.程序的载入和UI界面的反应都比原生的程序慢,UI反应延时——这是个致命伤 .它实际上还是在展示Web页面,所以载入、页面刷新等肯定是需要一定时间的。 这在用户体验上来说PhoneGAp依然无法替代原生应用程序。

 另外,html、javascript、css都运行在各平台内置浏览器webkit之上,受到webkit处理速度影响。目前来说运行速度比较慢,性能较差。

2.       不适合部分程序

        如果你的程序需要3D功能,或者对界面刷新有较高的要求,比如类似于游戏的程序现在来说还只是用原生的语言会比较好。PhoneGap支持API还有待在各个平台逐步完善

3.       调用平台资源差

     phonegap应用程序对平台资源的使用依赖于phonegap框架本身,由于phonegap是第三方框架,做不到100%调用平台资源,只有依靠phonegap的升级满足调用平台资源的需求。

        比如说,现在版本未能支持视频解码与播放等

4.       内存消耗大

        有测试表明,用phonegap于android java开发同一个应用。运行phonegap应用内存消耗远大于原生态androidjava应用。对于频繁操作,释放内存较慢,从而导致内存消耗量飙升。

5.       调试难度大

        目前phonegap可以在控制台输出简单的JS调试日志,但是并不方便。调试js只能选择firefox  firebug调试。

 

PhoneGap应用案例

1.僵尸菜园-Phonegap典型应用
http://www.phonegap.cn/?p=528

2.PhoneGap构建应用程序:GoodDay
http://www.phonegap.cn/?p=364

 

 

参考文章:

http://topmanopensource.iteye.com/blog/1536256

http://www.open-open.com/home/space-2869-do-blog-id-8662.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com
### 回答1: 将网页封装成APP的一种常用方法是使用框架,如 Cordova、PhoneGap 或 Ionic。这些框架可以将网页代码打包成原生应用,然后可以在各种移动平台(如 Android 和 iOS)上运行。 要将网页封装成 APP,需要执行以下步骤: 1. 安装并配置相应的框架。 2. 将网页代码放入框架项目中。 3. 使用框架提供的工具将项目打包成原生应用。 4. 将应用发布到移动平台。 有关详细信息,可以参考相应框架的文档或教程。 ### 回答2: 将一个网页封装成APP的过程可以通过以下步骤实现: 1. 选择开发平台:根据个人或者团队的开发经验和需求,选择适合开发的平台,如Android、iOS或者跨平台框架,如React Native、Flutter等。 2. 设计APP的界面:根据网页的内容和功能,设计APP的界面,包括布局、颜色、字体等。可以借鉴网页的设计风格,保持一致性。 3. 进行开发:使用所选平台或框架,根据设计的界面和功能,在代码中实现相应的逻辑和交互效果。可以使用现有的网页代码作为基础,根据APP的需求进行相应的修改和优化。 4. 解决跨域问题:由于APP是在本地运行的,可能会遇到网页的跨域问题。可以采用反向代理、CORS等方式来解决跨域问题,确保APP能正常访问网页的内容和接口。 5. 适配不同设备:根据不同设备的屏幕大小和分辨率,进行相应的适配工作,确保APP在各种设备上能够正常显示和使用。 6. 进行测试:完成开发后,进行各种测试,包括功能测试、用户体验测试等,以确保APP的稳定性和性能良好。 7. 打包发布:最后,将开发完成的APP进行打包,生成相应的安装包,可以通过应用商店、网站等渠道发布和分发。 需要注意的是,封装网页成APP并不意味着直接将网页进行简单的包装和打包,而是在开发过程中,根据APP的特点和用户需求,对网页进行修改、优化和适配。这样才能提供更好的用户体验和功能展示,提升APP的性能和竞争力。 ### 回答3: 将一个网页封装成APP可以通过多种方式实现,以下是一种常见的方法: 1. 使用WebView技术:WebView是Android和iOS中的一个控件,可以显示网页内容,并具有与网页交互的能力。通过使用WebView,可以将一个网页封装成一个原生的APP。 2. 构建一个简单的APP框架:通过使用HTML、CSS和JavaScript等前端技术构建一个简单的APP框架,然后在该框架中加载网页内容。这种方法需要一些前端开发的基础知识,但可以更加灵活地控制APP的外观和行为。 3. 使用混合开发框架:混合开发框架(如React Native、Flutter、Ionic等)可以同时支持网页和原生应用的开发。可以使用这些框架来创建一个APP壳子,并在其中加载网页内容,从而将一个网页封装成APP。 需要注意的是,无论使用哪种方法,都需要确保APP能够正常加载和显示网页内容,并能够处理网页中的交互操作。另外,还应该考虑到APP的性能和用户体验,确保封装后的APP在手机端能够良好运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值