html5+ plus和phoneGap、cordova的比较

麻烦问一下我想知道html5+ plus可以调用手机的原生功能比方说什么相册啊,联系人啊,加速器啊等等,那phonegap框架也是可以调用这些功能了,他们什么区别呢,如果我用html5+plus了是不是就不用phonegap了?为什么现在好多人还在用phonegap呢



2014-11-20 10:08 添加评论 分享
已邀请:
10

phonegap出的早,自然用的人多。
phonegap自己的定位是混合开发hybrid,用原生+js;
HBuilder的定位是纯js搞定一切。
5+ 和 phonegap在能力、性能、开发便利性上都优于phonegap。

先看能力:

\n

  1. 5+ 有HTML5+和Native.js技术,HTML5+包含常用的跨平台的几百个API,能满足常规开发需求,而Native.js把40w原生api映射成js对象,这样js可以直接调原生。HTML5+和Native.js的组合形成了最强大的能力引擎。 而phonegap需要用原生工程师写原生插件并给js开发者封装接口才能实现js调原生能力,开发成本、对人的要求都不一样。
  2. 当然5+ 也支持原生插件,这点和phonegap类似。一个已经写好的原生sdk,无需使用Native.js重写,也可以通过5+ sdk来集成。详见文档中心 - 5+ App - 5+ SDK
  3. 5+的直接封装的跨平台api比较全,二维码、摇一摇、地图、微信分享、语音输入、推送这些常用api都是跨平台的,使用方便简单。详见 http://www.html5plus.org/
\n

再看性能:

\n

phonegap做的app,在低端Android手机上很难流畅运行,否则HTML5早就火了,原生开发早就被挤压了。Phonegap为了避免HTML5的体验不佳,采用了spa模式,但这个模式其实在低端机上也玩不转,而且代码非常复杂。
5+ App的性能更高,它的动态效果都是被我们的增强引擎处理的,通过增强的引擎,可以在低端机上流畅的运行各种动态效果,比如侧滑菜单、下拉刷新、长列表滚动,见 官网首页 - App选项卡- 性能视频

最后看开发便利性:

\n

phonegap没有专业开发工具,语法提示、调试、打包都很麻烦。
而在HBuilder里,5+的语法api提示非常完善;
把手机通过数据线连上电脑,HBuilder可以真机运行,保存一个页面立即在手机上看到效果,Android上还可以看console.log。而用phonegap,你改完一个页面,不得不先打包,然后安装在手机上,然后发现不对,然后改下代码,然后继续打包。。。
关于打包,phonegap由adobe提供了云打包,但需要先在本机准备资源,然后提交到国外的服务器,而HBuilder是一键打包,更加方便。当然phonegap和HBuilder都支持本地打包,那样就需要点原生开发知识了。

除了工具和runtime,还有mui框架

\n

phonegap只是一个手机runtime,没有HBuilder工具,更没有Mui框架。
mui是目前最接近原生App的HTML5框架,它的体验比jqm、bootstrap等框架更接近原生,它的性能远高于jqm、bootstrap、Ionic、framework7等框架。
这种性能差别原因有2,一方面是设计思路不同,mui坚持用原生js做,不依赖jquery或angularjs,因为框架的依赖越多,App性能越差;另一方面是因为mui调用了5+的底层原生加速,这比不带原生加速的框架更快。
mui详见:http://dcloudio.github.io/mui/

当然phonegap有一个优势,就是能支持windows phone、blackberry,这方面5+确实没有支持。

通过上述比较,应该一目了然了。如还有问题,可再探讨


2

waxdz2015

赞同来自: ariel Night_School

40w原生api映射成js对象

从哪里可以看到这个详细文档呢,html web开发转过来的,不懂原生的求助!


1

RunUpApp

赞同来自: 1968965852@qq.com

40w原生api映射成js对象。
请问是否需要Android功底才能顺利使用这些js对象。
另外,官网提供的Native.js。能否提供一个40w原生API的文档说明,类似HTML5 的文档的这种,工程浩大,可以号召网友参与,官方审核。


0

ljp

赞同来自:

谢谢您的耐心解释,这样更加深了对hbuilder的理解


0

jh201320

赞同来自:

感觉教程 ,资料什么的少了点


0

lhf

赞同来自:

有没有帮助文档啊,我有android 基础


0

netcorner

赞同来自:

用你们的二维码扫码速度真够慢的,有没有好的解决方法?


0

人来疯

赞同来自:

后续会收费吗?
会不是植入商业代码?


0

凡志

赞同来自:

呵呵 外围关注 phonegap, appcan.dcloud等平台的迅速对抗。现在新出的apicloud,也进入这个行列。看来是有赚头。主要是开发者有赚头。


0

Donald

赞同来自:

比如native.js每个API都要区分android与ios,这岂又不是一个平台一套API,跨平台性比phoneGap差吧?而且Phonegap不仅支持anodriod和ios,还支持windows phone和黑莓。


0

慕青儿

赞同来自:

请问使用5+开发支持android和ios最低版本是多少?


0

zpl - 现读研究生

赞同来自:

请问5+就支持android和ios吗?


0

ZXAngel10

赞同来自:

我最近也在考虑公司的项目要不要更换框架,我想得到的信息是HBuilder官方的态度!因为HB是新兴起的框架,插件太少,做下来这段时间,发现技术支持方面也有很多缺陷,很多东西都没有得到很好的解决,虽然官方技术顾问的态度非常赞,也一直不遗余力的为我们解决,但结果还是不理想!如果HB官方态度能给我们足够的信心,那我们也愿意去尝试下一起去壮大HB家族!


0

Damir

赞同来自:

我使用HB一段时间后,我总觉得并不好用.1.文档不齐全,很多需要去看源码来解决.2.5+Runtime总觉得有Bug还是怎么着,例如我在IOS上能跑的程序,在Android上Downloader同一个地址却失败.还有比如说Speech的options中一系列的事件都没有被调用,完全坑爹.我真的无言了.


0

Abel5

赞同来自:

也在关注,选择起来比较困难。编码工具是影响生产率的重要因素,这方面hbuilder占优;cordova只是一个runtime,但cordova是apache的项目,技术支持会强很多。在中国做开源和开放的项目不容易,期待hbuilder的尽快成熟!


0

lixuegang0@live.com

赞同来自:

虽然基础差,但是看到这么好的编辑工具赞一个。。


0

lxf198961@yeah.net

赞同来自:

用cordova和HBuilder打包过HTML5小游戏进行过测试,cordova的动画流畅很多,HBuilder则非常卡顿,需要进一步优化。


0

王琦888 - 1234123

赞同来自:

学习啦!!!


0

zr-h@163.com

赞同来自:

之前一直用cordova,目前公司新项目想试一下DCloud,但是接触了几天发布关于DCloud的文档非常简漏,新建一个H5项目如何本地打包都找不到完美的解决方案!有点失望。


要回复问题请先登录注册

退出全屏模式 全屏模式 回复