AppCan2.0跨平台移动应用开发经验分享
本文作者是AppCan平台应用开发总监@AppCan朱炳芳,主要研究AppCan平台在各个行业中的应用,在AppCan 2.0测试阶段,他就在使用AppCan 2.0开发应用,基于实战去改进AppCan。下面是他对AppCan 2.0跨平台移动应用开发的经验分享。 AppCan平台是一个Hybrid App开发平台,很多开发者一开始选择使用AppCan,是因为它开发出来的应用从响应速度上比较快,这也是我们做AppCan平台的目的之一。AppCan是一个Hybrid App开发框架,初衷就是为了解决跨平台开发的问题,同时又降低开发技术门槛,这是Hybrid App框架的最大优势。 不过,有些人会说AppCan平台开发出来的应用没有原生应用效果那么精细,我想是有多种原因造成的。首先,用Html网页写应用,其效果不可能跟Native应用一模一样,这中间是有差异的,这个差异有多少,取决于平台的成熟度和开发者的经验。其次,很多开发者使用Web技术去开发Hybrid App,基本上沿用了以前的思路,写一个页面,一上来就先把jQuery库等JS库往里扔,这显然是不正确的,手机的浏览器解析没有PC上那么高效率,特别是在Android手机上。 AppCan平台出来之时,就伴随着商业项目的开发。因此,AppCan的应用开发,是有实际项目经验积累的,这些经验积累都会总结并在新的版本中体现出来。比如一开始,AppCan没有项目经验,也会想到说推荐给开发者用jQuerymobile、Secha等框架来写应用布局和交互,然而经过几个月的项目经验后,发现这些框架并不适合,因此在后续版本中推出了自有的UI框架。AppCan类似的很多机制,都是在商业项目中总结出来的。 AppCan平台的多窗口特性,在1.0版本的时候,平台规定uexWindow.open打开窗口的打开时间是250ms,而在2.0版本中,这个参数提供出来,开发者可以自己定义,这样如果要做动画的话,可以通过时间控制动画的时长。在1.0版本的时候,uexWindow.open窗口是有延迟的,等到新开窗口的所有网页静态内容加载完成后才会将窗口show出来,这给用户的感觉就是打开窗口比较慢,在2.0版本的时候,这个延迟去掉了。 AppCan平台的浮动窗口,替代了之前的主+辅窗口(头部/底部窗口)的机制,用浮动窗口去作为主窗口的一部分覆盖在主窗口上,即可实现局部区域的滚动条。而且在浮动窗口中加了弹动效果,在2.0版本中,弹动效果的弹动状态的图片,文字、二级文字等都是可配置的,开发者可以开发效果更好的下拉弹动。浮动窗口可实现动画,即数学变换,这样可以实现单个或多个浮动窗口的动画效果,满足常见交互效果。很多开发者会使用iscroll.js这个库来实现局部区域的滚动,其实这种实现本身在Android手机上性能就有些缺失,并且如果在此区域内,有input或select等输入控件,滚动条滚动后,在Android的一些机器上将不会再被点击上。 在很多应用中,大家都会用到输入框作为聊天场景中的输入区域,但是在用到了浮动窗口或者之前的辅助窗口的时候,都会碰到问题,感觉很别扭。因此在2.0版本中,封装了输入法控件uexEditDialog。使用此对象,能够创建单独的输入法控件,覆盖在view中,并且提供四种输入键盘。 AppCan作为一个Hybrid 框架,可以方便的集成Native控件,在2.0版本中,专门开放了Native插件扩展的接口。AppCan在2.0版本中,也推出了Canvas加速器,即用OpenGL重新实现了Canvas的接口,并且提供了画布view和webview之间的桥接方法,这对网页游戏开发者是一个非常不错的选择。 AppCan在被广大开发者使用的过程中,也被多次提到说安装包过大、默认权限过多的问题,这在2.0版本也得到了解决,开发者可以自行选择用到的控件。需要注意的是,如果应用用到了官方封装的zy_json.js,需要选择uexFileMgr和uexXmlHttpMgr这两个对象。 以上所说的,都是开发的问题,也是开发者关心的问题。那么AppCan2.0版本到底还有什么新东西呢,在新文档上,大家能够看到添加了诸如uexDataAnalysis、uexWidget.getPushInfo等API,也就是统计和推送的功能,这是AppCan新推出的移动应用管理平台MAM(Mobile Application Management)的功能,将开启AppCan为企业提供移动解决方案的序幕。 本文转自HTML5中国网站:http://www.html5cn.org/article-3940-1.html |