xunwap

专注移动互联网服务

正在浏览 wap开发 里的文章

iUI、jQTouch、WPTouch、PhoneGap、XUI、iWebkit、Rhodes、gwt-mobile…当我们已经开始惊叹 web移动应用充斥着各种各样框架与类库的时候,其实各大web框架才刚刚开始他们的移动领域:Yahoo的YUI3.2的Touch版、jQuery的 jQueryMobile、ExtJS整合JQTouch和Raphaël库推出的Sencha Touch框架。。。

ExtJs更名为Sencha的确让我震惊不少,毕竟自己也曾是ExtJs框架的粉丝,如此重量级的框架忽然掉头往mobile touch的方向发展,确实不是一件易事,我们也不禁惊叹移动应用所带来的重大改变。

OK,在这里我并不是想跟大家介绍各种web移动应用框架的用法介绍和性能对比。只是受ExtJs的影响,以及想知道自己到底去到一个什么程度,以及更好 的积累沉淀下前端的经验,于是我开始构想一个好的web移动应用框架应该如何如何,并开始尝试着手实现。重复造轮子只是强迫自己更深入地去了解这个领域, 并不是自大到要挑战什么。于是分析对比了下,总结如下:

1.轻量级

这个应该是移动应用框架里最重要的一点,不要想着3G的普及还有wifi啥的,国情就是国情,要大部门用户在3秒内下载完你那100K的css和js文件 是强人所难。因此我们的移动应用框架必须尽可能的轻量化,所有的命名和函数实现方法都要尽可能的简练和高度压缩。抛掉那些PC上web应用的特效和组件 吧,不要为了一个菜单效果把7,80K的jQuery.js加在你的页面上。

2.主流手机浏览器兼容性

面对如此多的手机平台和浏览器,要你的移动应用在所有浏览器上表现如一是很困难的,有时候你需要对不同浏览器加载不同的样式文件,又或是运行不一样的函数 来实现效果。因此我们的框架必须有能识别各种主流浏览器的方法,具体点,你的框架必须能区分如iPhone、iPad、Android、Windows Phone等,OK,再国情化一点,QQ手机浏览器和UCWeb。最后要注意的是这里尽量不用UA的方法来判断,因为各浏览器的 avigator.userAgent都很不可靠,这里可以参考下mooltools判断浏览器的思路,应用到我们的移动领域上。

3.强大的选择器

选择器可以说是一个框架灵魂,在将来的web移动应用中会大量使用CSS3的高级伪类,因此我们的框架必须能尽快遍历定位到尽可能多的HTML5标签和CSS3的伪类,哪怕是像E:first-of-type这种jquery选择器都不支持的结构。

4.页面动画效果

与桌面web应用不同的是,移动应用在页面的切换效果方面要炫的多,比如:滑动切换,遮罩弹出,渐入渐出,闪屏,iPhone上的zoomin,zoomout效果等。看看CSS关于fadein和zoomin动画的定义:

再看看JS端对页面切换的处理:

5.Ajax解析

移动设备浏览器受性能和带宽限制,ajax的应用也与桌面应用有较大的区别,因此低带宽和易用性就成了ajax应用的目标,最典型的例子就是翻页,哈,一丝一毫的带宽都不能放过,这方面可以参考下iUI的思想。

6.手势操作

对,就是Touch,一个给移动互联网带来革命的事件。把mouseOut、mouseover这些桌面相关的鼠标事件从你的移动框架里去除吧,与之替换的是各种Touch和Gesture(手势)事件:

  • touchstart : 手指放在屏幕上时触发
  • touchend : 手指离开屏幕时触发
  • touchmove : 手指在屏幕上移动时触发
  • touchcancel : 取消Touch事件(这个貌似是系统触发的)
  • gesturestart : 开始手势事件
  • gestureend : 停止手势事件
  • gesturechange : 改变手势事件

监控Touch操作,我们需要利用Touch事件相对于整个页面视图的X轴和Y轴位置来定位(PageX、PageY),并重载默认的Touch事件来扩 展我们的需求,对于没有Touch支持的浏览器,我们依然可以重载相应Mouse事件,而Gesture(手势)事件由于需要两根手指触发的放大、缩小、 旋转,鼠标是无法模拟,比如下面使用CSS3的webkitTransform样式属性缩放和旋转一个对象Box:

7.重力感应

当然,一般的应用很少会用到重力感应,它更适应于游戏方面。对于浏览器更多的是正屏与侧屏的区分。我们要做的就是重载浏览器默认的resize监控事件并对正屏和侧屏做出相应的操作处理。

8.离线存储

由于手机网络的特殊性,离线存储技术就变得相当重要,相关的API可以看看W3C提供的有关Client-Side的描述。Client-Side提供了3种离线存储的方案:

  • Database storage : 数据库
  • Local storage : 本地储存
  • Session storage : 区段储存

我们的框架必须能很好的封装这3种离线存储方式,提供一个方便易扩展的API,比如storage能直接储存JSON参数数据段,就好像下面的Demo:

恩,基本上是这样,然后就是构思整个框架的结构图了:

需要做的东西还蛮多的,构想归构想,这仅仅是个开始,如果你也有Touch框架这方面的兴趣和经验,欢迎一起来讨论下:)。

转自:http://wsd.tencent.com/2010/09/concept-mobile-web-framework.html

由CSDN和《程序员》杂志联合策划组织,旨在与业界人士分享IT产品背后的技术和用户体验故事的系列线下活动TUP(Technology,User Experience,Product)于6月27日下午在北京丽亭华苑酒店成功举办,首期活动以“移动开发实践”为主题。原计划为200人左右的小规模高端技术人才聚会,实际到会人士超过300人,不少与会者站在会场内听完了整场论坛。

本期TUP“移动开发实践”主题活动围绕Android应用赢利模式与现状、iPhone与手机游戏、SNS游戏在移动平台的飞跃等话题展开深入探讨,为此主办方特邀了北京易联致远无线技术有限公司CTO、中国最大Android开发社区eoeAndroid.com的创始人姚尚朗,在中国游戏市场工作15年,对PC网游、手机应用和游戏拥有丰富运营及市场经验的mAPPn高级副总裁暨机锋网运营总监李鹏和爱图腾科技有限公司CEO刘磊为与会者带来了精彩演讲。

除了预先安排的演讲,到会的中国联通上海分公司应用商店筹备中心总经理王昌成、宇龙 (CoolPad)北京研究所所长韩黎光、三星中国投资有限公司在线业务部经理仲飞、三星中国应用商店项目经理等人也挡不住与会者的盛情邀约,分别介绍了各自负责的移动项目的最新进展情况。

开发者如何实现盈利

如何实现盈利?始终是近年来移动开发者最为关注的问题 。姚尚朗认为移动广告和在应用中收费是目前Android开发的主要赢利模式,当前阶段仅靠App Store直接卖应用挣钱基本不现实。他还介绍了市面上主流手机广告发布平台的不同特色,包括国外的Dmob、Quattro、Google Adsense,以及国内的WOOBOO(哇棒)、有米广告、CASEE(架势无线)。接着,姚尚朗以墙纸和指南针的应用实例解读了开发人员该如何选择应用类型、如何从现有的数以百计的同类产品中突围,他认为分析畅销应用背后的数据以及开发具有文化背景特色的本地应用将是不错的选择。

此外,姚尚朗还谈到了Android应用的其他盈利模式,包括付费应用、构建平台(应用商店)、撰写书籍、提供分析报告、(行业/个性主题)解决方案、Android项目外包、软件预装、Android培训、咨询服务甚至小额捐款等。

在问答环节,有与会者问到该如何选择(Android)应用程序发布平台的问题,姚尚朗认为首先可以将现有的平台划分为四大类。第一类是平台供应商提供的,例如Google Android Market;第二类是运营商,例如中移动的Mobile Market;第三类是设备制造商,例如联想;还有就是类似于eoe这样的第三方提供的平台。平台总数加起来会有十多种,未来甚至会超过数百个。关于如何具体选择,他建议第一是看针对的人群,第二是应用的盈利模式,第三是还要参考设备类型。例如采用广告为主的盈利模式,在国内其实Google Adsense效果很差,即使下载量很大,带来的实际收入仍然很少。而采用国内的广告平台推广,即使下载量少,但给开发者带来的收入反而多。

李鹏的演讲信息量非常大,他分享了传统PC游戏和手机游戏在用户需求、产品设计、开发投入、运营维护、手机产品适配平台的差异性等话题。李鹏认为,相比较传统PC,移动平台应用开发具有工作量相对小、投入成本和时间少、进入门槛低的特点;同时由于基于云技术的应用大规模出现,使得移动平台获得了超过手持硬件本身能力的大规模运算和数据处理能力;另外在推广上,由于形式各异的商城模式的出现,大大降低了开发者发布应用的成本。当然随着门槛的降低,大规模的竞争不可避免,没有创意和特色的产品将很难吸引用户。

刘磊就社交游戏在移动平台的机遇和挑战为主题发表了演讲。他在演讲中谈到了iPhone/iPad作为社交游戏天然平台的四个基本元素:联系人实名通讯录、用户的日常通讯工具、碎片时间、白领人群。此外,在谈到爱图腾工作室那款被苹果应用商店特别推荐的应用“iTotem”时,刘磊坦诚那是一个失败的游戏,因为第一,iTotem是单机游戏;第二,没有应用收费模式;第三,在91手机娱乐平台上被盗版了。他建议个人开发者不要轻易涉及游戏这个领域。现在一款游戏如果由不太知名的公司来做,结果一般都会失败,所以个人开发者想要脱颖而出更是难上加难。

在问答环节,对于与会者提出的展望基于LBS(Location Based Services)的社交应用趋势的问题,刘磊表示看好,他认为LBS应用有PC端不可比拟的优点,但由于国家对地图精度有非常高的级别要求,相应的基于精确地理位置的服务一定会受到严格管制,因此他建议开发者可以做精确度低一点的LBS应用。

新平台的新机遇

三位嘉宾演讲完后,由CSDN &《程序员》杂志总编刘江主持,李鹏、刘磊、仲飞、韩黎光共同参加的论坛立即展开。在这个环节,刘磊分享了爱图腾公司的起步经历和在激烈竞争中生存下来的实战经验:首先是做外包,他认为个人开发者或小型公司先通过接大公司的外包项目积累实战经验很重要,而且这是一条挣钱的路。第二是做别人没有做过的平台。他举例自己在2008年底就介入iPhone开发,那时基本上iPhone开发者很少,却有几家大公司有需求,以至爱图腾很顺利地接到了项目。

三星中国投资有限公司在线业务部经理仲飞也建议大家可以考虑一下目前一些刚起步的平台,例如三星的bada、联通的乐Phone,一方面这些厂商会提供专项资金支持应用商店的发展,采取各种各样的方式将开发者吸引到他们的平台上,而且这些平台里的应用目前还处于“蓝海”阶段,这比早已成为红海的iPhone App Store里火拼机会来得更多。

结束语

本次活动吸引了数百位在移动开发领域拥有丰富经验的开发人员报名参会,其中不乏知名公司技术人员包括IBM、Intel、Nokia、MTK、百度、华为、京东商城、软通动力、红帽软件、卓望科技等。这充分体现了业界对移动开发和应用的关注。此次会议上,与会者普遍达成一个共识:在移动互联网领域,移动开发所带来的机遇有很多,但要想脱颖而出,开发者们还需要经历大量的学习和实践。而主办方CSDN和《程序员》杂志相关负责人则表示,会继续定期举办这样的活动,为广大技术爱好者提供全新深入交流和互动的平台。

转自:http://www.programmer.com.cn/4107/