简介

Phonegap

PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。PhoneGap是免费的,但是它需要特定平台提供的附加软件,例如iPhone的iPhone SDK,Android的Android SDK等,也可以和DW5.5配套开发。使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。

AppCan

AppCan是国内Hybrid App混合模式开发的倡导者,AppCan应用引擎支持Hybrid App的开发和运行。并且着重解决了基于HTML5的移动应用目前"不流畅"和"体验差"的问题。使用AppCan应用引擎提供的Naitve交互能力,可以让HTML5开发的移动应用基本接近Native App的体验。

框架优缺点

Phonegap

优点

支持大部分系统:Android,IOS ,Symbian, Windows Phone, Palm WebOS,

Bada , Symbian

开源,可以进行框架底层优化

框架提供自定义控件,可以调用android原生功能

第三方插件丰富

安装包体积偏小

文档丰富

可在本地调试、发布

支持本地打包、云端打包

缺点

不同平台需要搭建不同开发环境

框架没有UI,需要使用第三方UI插件

框架仅提供基本API,扩展功能需要使用第三方插件

框架不支持自动加密,需要手动对HTML加密

框架未对UI进行优化,应用加载及UI相应时较慢

由于第三方开发人员水平不同,插件质量参差不齐

AppCan

优点

支持四大主流系统:Android,IOS,Symbian,Windows Phone

提供一体化解决方案,方便环境搭建、开发、调试、发布

框架自带UI包,包含常用控件样式

框架API丰富

支持本地打包、云端打包

基于密钥的代码加密

技术支持相应及时

框架对UI、动画渲染进行过优化,反应速度快

缺点

不开源,无法修改、优化底层代码

暂不支持自行开发控件/,无法调取android原生功能

框架自带功能过多,导致应用安装包偏大。

文档偏少

部分系统无法使用IDE进行调试

只能在服务器端发布,无法在本地发布

IOS发布,需要将证书上传至服务器

详细比较

基本情况

 

Phonegap

AppCan

框架目标

PhoneGap的最终目的是终结现存目标平台间的差异

快速开发、多种平台、解决基于HTML5的移动应用目前"不流畅"和"体验差"的问题,提供统一的解决方案

框架功能

简单

丰富

支持平台

大部分平台

仅4种平台

开发环境

不同平台需要不同开发环境

只需一个IDE包

   

Windows 7 X64 英文版、Windows 8 X64 英文版 无法进行模拟器调试

编译器不支持的HTML标签

可以编译、调试、发布

不能调试,只能生成apk包,安装至手机

调试

可直接调试

本地发布的IOS包,必须部署在越狱的机器上

发布

在本地可以直接发布

必须将代码上传至服务器,才能发布

IOS 签名管理

本地管理

需要上传至服务器

代码泄露风险

低:仅在本地、svn保存代码

高:需将代码上传至appcan服务器

中国化

强:与新浪合作提供云服务等

多语言

插件支持

插件支持

安装包大小

开发

 

Phonegap

AppCan

开发语言

HTML 5 + js + CSS 3

HTML 5 + js + CSS 3

开发环境

不同平台需要不同开发环境

Eclipse(IDE 内置)

UI

JQM等三方控件或自行设计

AppCan.UI或第三方UI控件或自行设计

自定义控件

支持自定义控件(原生代码),方便前台调用

暂不支持调用自定义控件(原生代码),2.0后将支持

官方API

较少,功能比较单一

比较丰富

第三方控件

比较丰富

仅支持UI、JS控件

多线程

支持

支持

多窗口

需要使用插件

框架支持

Iframe

不支持

不支持

后退

需要插件

框架自带API

Socket等

需要自行开发控件(已有第三方控件)

官方API支持,暂无法保持socket连接

性能

 

Phonegap

AppCan

页面加载

有明显的延时

有明显的延时

页面切换

部分第三方控件会出现明显的抖动

将亮度不为最暗时,加载新页面,有明显的变暗

 

会出现白屏,需要使用第三方控件屏蔽

不会出现白屏

动画渲染

较差

较好

细粒度测试

较差

一般

初始化内存

8.5MB

11MB

初始化Cpu使用量

一般

一般

UI刷新

每线程20毫秒刷新一次,4个线程开始出现刷新不及时

每线程20毫秒刷新一次,120个线程并无出现明显刷新问题

   

content页面在离开后不会结束,可能会出现重叠

应用加载速度

较快(不强制使用欢迎页面、部分数据初始化可在欢迎页面完成)

差(系统强制使用欢迎界面,数据初始化无灾欢迎页面进行)

页面加载速度

较慢(不使用插件时直接跳转,但会出现白屏)

一般(原页面等待0.5-1.5秒后跳转)

其他

 

Phonegap

AppCan

退出确认

自行开发

框架封装

文档

丰富

一般(逐渐增加)

技术支持

一般

方便

提交问题渠道

论坛、Q群(民间)、官方邮箱

论坛、Q群(官方)、官方邮箱

附1

Content 页面导致重叠效果

备注:

以上测试系统为:HUAWEI C8812

不同型号手机,Phonegap性能完全不同,由于时间紧张,并未使用多终端进行测试。

作者:Cosmokey来自:http://www.cnblogs.com/comsokey
出处:http://www.cnblogs.com/comsokey
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。来自:http://www.cnblogs.com/comsokey

Phonegap VS AppCan相关推荐

  1. AppCan VS PhoneGap - 对比两大移动开发平台

    http://my.oschina.net/liux/blog/65119 要说hybrid app 框架的典范,Phonegap和AppCan无疑是最受大家关注的.先说明,本人是App的开发者,对手 ...

  2. 正益无线赵庆华:AppCan助力开发者轻装前行

    大谈特谈HTML5技术的厂商不在少数,而真的能够静下心,遵循HTML5的轨迹,扬HTML5之长,避HTML5之短,持之以恒为开发者谋求创新创业出路的厂商却乏陈可善.在前几日的iweb峰会上,正益无线赵 ...

  3. 【AppCan 开发者故事】Samlee:西北青年的移动开发梦

    在AppCan 2000人的大群里,总有那么几个熟悉的名字,一闪一闪的像小星星,精力充沛.热心无偿地帮助大家解决问题.可能你也会好奇,他是谁,他来自哪,在论坛之外,他有怎样的生活.现在我们为大家搭建一 ...

  4. 【AppCan 开发者第一期】Samlee:西北青年的移动开发梦

    Samlee是位来自西北的汉子,他评价自己是牛脾气一个,我却认为他"英雄不怕出身太单薄,有志气高哪天也骄傲". 中专毕业,16岁开始兼职赚钱,满18岁后的第10天正式踏上社会.22 ...

  5. 基于.NET平台常用的框架整理(转)

    分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架. Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度. Redis:是一个高性能的K ...

  6. .NET平台常用的开发组件

    工欲善其事,必先利其器.学习.NET也10年有余,其优雅的编程风格,高效率的开发速度,极度简单的可扩展性,足够强大开发类库,较小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开 ...

  7. 我的2015羊年总结

    上一年这个时候,在一家小公司实习,做完了那个项目然后就走人回家过年了(不知算是辞职还是炒了),毕竟我还是想要最后一个寒假的人. 毕业设计 年后回到学校,却没有继续找工作,想努力把毕业设计的作品做好,那 ...

  8. asp.net(mvc) 框架

    1.NFine mvc+ef 2.Grove orm架构 3.NHibernate orm 4.NBear 5.petshop 6.Membership 7.Brnshop 网上商城 8.cms快速开 ...

  9. 什么是 Native、Web App、Hybrid、React Native和Weex?

    一句话概要 Native.Web App.Hybrid.React Native(后面以RN简称).Weex 间的异同点,后期同步小程序和PWA. App常用开发模式简介 此处App为应用,appli ...

最新文章

  1. [zt]petshop4.0 详解之八(PetShop表示层设计)
  2. django框架使用mysql报错,及两种解决方法
  3. python爬虫案例-Python爬虫案例集合
  4. Visual Subst - 简单将任意文件夹挂载模拟成驱动器盘符硬盘分区的小工具
  5. 中国大数据企业排行榜V6.0- 5 年后再去看看中几个大数据公司的发展状况
  6. java发送和接收文件_Java通过套接字发送和接收文件(byte [])
  7. TFLearn MNIST
  8. vscode编辑器 装JavaScript Standard Style 遇到不检测代码问题
  9. Python基础-佛祖镇楼
  10. app接口制作简单流程
  11. office插件开发_OneKeyTools:强大PPT插件
  12. 鸿蒙系统如何添加桌面小程序,微信Windows版更新至3.0:批量管理联系人,小程序可添加至桌面...
  13. Android图形图像处理,主流app开发工具
  14. 我是怎么画架构图的?
  15. RepVGG: Making VGG-style ConvNets Great Again
  16. 【记录贴】AD21将元素复制到KeepOutLayer层的方法
  17. 【SpringBoot】12.SpringBoot整合Dubbo+Zookeeper
  18. 「雕爷学编程」Arduino动手做(34)——三色LED交通灯模块
  19. 造物数藏:以数字藏品为契机 不断完善应用场景探索
  20. elasticsearch 下载 kibana 下载 云盘

热门文章

  1. linux查看was jvm内存溢出,was manage内存溢出
  2. 【Spring第三篇】什么是Bean?
  3. ❤️《大前端—Babel》
  4. Kerberos安装及拖管Ambari 2.7
  5. Linux 设置 LD_LIBRARY_PATH
  6. php curl post登录与带cookie模拟登录随笔
  7. MySQL数据库操作指令
  8. mysql停止更新时间_我如何更新这个MySQL查询以获取从开始、停止、暂停和恢复事件经过的总时间...
  9. java hashtable 数据结构_java Hashtable底层原理是怎样的?数据结构包括什么?
  10. jQuery Event.delegateTarget 属性详解