AppCan VS PhoneGap - 对比两大移动开发平台
发表于1年前(2012-07-05 18:01) 阅读(
16975) | 评论(
13)
35人收藏此文章, 我要收藏赞1
要说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中自带的模拟器查看效果:
02 | < div class = "ub ub-ver uba uc-a1 t-wh " > |
03 | < div class = "ubb b-gra c-m1 uinn uc-t1" > |
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 > |
08 | < div class = "ubb b-gra c-m1 uinn " > |
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 > |