偶遇大神言论,摘录

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

先看能力:

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

再看性能:

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

最后看开发便利性:

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

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

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+确实没有支持。

最新文章

  1. Breakpad Google的crash捕获、抓取开源库
  2. Spring面向切面之AOP深入探讨
  3. faster rcnn test demo ---repaired for video input and save the image, label, score et al. into .mat format
  4. Datatable导出Excel
  5. Linux常用命令之seq
  6. 前端UI框架《Angulr》入门
  7. 使用cocopod管理第三方
  8. 第十二节,OpenCV学习(一)图像的读取、显示、保存
  9. java实现求最大子数组和的逐步显示
  10. thinkphp自动映射分析
  11. 07. Matplotlib 3 |表格样式| 显示控制
  12. php多进程pcntl学习-僵尸进程
  13. The 2016 ACM-ICPC Asia Beijing Regional Contest E - What a Ridiculous Election
  14. python爬虫学习(一):BeautifulSoup库基础及一般元素提取方法
  15. Mac 下安装.NET Core 与 CLI
  16. 初识elasticsearch_2(查询和整合springboot)
  17. 【MySql 】is not allowed to connect to this MySql server 无法访问远程MySQL数据库
  18. Windows系统下运行某些程序时缺少“Msflxgrd.ocx”的解决方法
  19. 3-9《元编程》第3章Tuesday:methods
  20. hbase命名空间

热门文章

  1. Sublime Text 2/3安装CTags实现函数跳转
  2. WEB跨域的实现
  3. 一、Struts2的概述
  4. 详说 Cookie, LocalStorage 与 SessionStorage
  5. oracle中=>是什么意思
  6. IE中console的正确使用方法
  7. LevelDB系列之Log文件
  8. Internet Explorer 无法启用 JavaScript 怎么办?
  9. delphi 连接MYSQL 的方法
  10. CSS 设置TABLE 表格 边框