现在的位置: 首页 > 综合 > 正文

AppCan VS PhoneGap – 对比两大移动开发平台

2013年01月15日 ⁄ 综合 ⁄ 共 1424字 ⁄ 字号 评论关闭

 

 http://my.oschina.net/liux/blog/65119

 

    要说hybrid app 框架的典范,Phonegap和AppCan无疑是最受大家关注的。先说明,本人是App的开发者,对手机上的web app也研究一段时间。本文以技术角度去阐述一个事实:为什么AppCan比Phonegap开发出来的应用会比较好。 

    其实要从技术上来讲的话,phonegap只是提供本地API,以及一个打包器,大部分的UI、UE的都是交由phonegap推荐的jquerymobile,sencha touch等js+css框架来实现。而为何phonegap比较受大家关注呢,一方面是它出来比较早,推广时间较长;另一方面它是开源的,很多android native开发者都对其进行了插件扩展,能够满足一些开发需求。然而,经过对手机版(ios,android)webkit研究过一段时间后,一个不争的事实是手机版webkit有诸多问题,特别是在android碎片化的情况下,不同版本,不同手机对某一个css属性表现的就不一样。这对于一个要做跨平台开发的框架来说,是不能接受的,也达不到跨平台的初衷。下面我利用appcan+AppCan
UI2.0开发一个简单的app,同时也利用phonegap+jquerymobile去开发同样的一个app。 


首先我们先看一下AppCan应用与PhoneGap应用视频对比: 
http://v.youku.com/v_show/id_XNDIzODg2MjY0.html 
 

下面是开发介绍: 

AppCan开发 

    首先,关于UI,AppCan的UI,即css文件,按照控件的类型(按钮、列表等)拆分的比较细,这样,如果一个应用中用不到的控件,开发者可以把这些css文件删除掉。利用AppCan 的开发环境,创建一个工程,并创建几个页面。其整个工程截图如下: 
 

这个demo要做的是三个UI,第一个就两个按钮,第二个是展示内容用的,内容有3w多字。第三个ui是一个网络跨域获取数据的例子。 
第一个ui,由于是只有两个按钮,只用一个index.html,利用AppCan IDE选择按钮控件,生成代码并利用AppCan IDE中自带的模拟器查看效果: 

01 <!--块容器开始-->
02 <divclass="ub
ub-ver uba  uc-a1 t-wh "
>  
03     <div class="ubb
b-gra  c-m1 uinn uc-t1"
>
04         <!--按钮开始-->
05         <div ontouchstart="zy_touch('btn-act',getpageone)"class="btn
uba b-bla uinn5 c-blu c-m2 uc-a t-wh ulev1"
>加载page
"two"</
div>
06         <!--按钮结束-->
07     </div>
08     <div class="ubb
b-gra  c-m1 uinn "
>
09         <!--按钮开始-->
10         <div ontouchstart="zy_touch('btn-act',getpagetwo)" class="btn
uba b-bla uinn5 c-blu c-m2 uc-a t-wh ulev1"
>加载page
"three"</
div>
11

抱歉!评论已关闭.