2012移动开发者大会小结
产业角度:
小马哥说移动互联网不应背负太多pc端的历史包袱,做出一些pc端没有的而移动端特有的东西,不管是游戏,电子商务,还是社交。
1.移动支付,移动O2O,移动搜索成为移动互联网的热点。腾讯投入10亿安全创新基金,其手机管家牵手10多家电子市场成立官方正版“安全联盟”,同时进一步加大对微信的推进力度;阿里巴巴集团投资2亿美元将云OS业务独立运行,持续发力手机操作系统及无线领域;百度地图部门近期拆分为LBS事业部,负责百度地图PC端和移动互联网端的技术研发、产品升级、商业拓展等相关业务。
2. 移动游戏,尤其是网络游戏,是最能货币化,甚至可以说是唯一被证明的领域。一切不以盈利为目的的游戏都是耍流氓。现在有好几款移动端游戏的月收入过500万,有些还突破千万,更有甚至,有人爆料在腾讯平台上有一款游戏一天还收入200万,简直与pc端的网页游戏有得一比。不过这只是开始,移动端的游戏还是和pc端的有很大不同,例如时间零碎化,如果把网络游戏看成正餐,网页游戏看成是快餐,那么移动游戏就是零食了。不过个人认为,目前的移动网游ARPU即单个用户消费额远比pc的低,支付的技术需要跟进,这样移动游戏才能健康发展。百度目前已有页游的平台,可以在此基础上造一个针对移动游戏的平台。
3.android仍然是大头(8990万台),苹果次之(3510万台),安卓和苹果共占82%的智能机市场份额。安卓是个开放的市场,而苹果则有一个完善成熟的产业链。
4.要做游戏就做网络游戏,不要做单机的。愤怒的小鸟愤怒了几个月就不愤了,切水果现在还切?不切了。中国人和外国人和全世界的人比创意,比不过。而且购买游戏的人很少,两块钱买一瓶可乐觉得很正常,而两块钱买一款游戏就很傻,这是中国人的消费观。在应用内付费,收取道具的增值业务会更赚钱。
5.移动互联网应用需要的特点:简单、有用、好玩、畅快。“我们对社交的领悟是下面四句话,我们认为一个好的社交产品应该能够直指人心,让人感到温暖和需要。第二是针对一群人,让他们能够沉迷和宽热,不要只是针对你认为他们有需求,而是一批可以描述出来的人。我们希望产品是有持续性的。最后,我们希望用户行为很重要。如果行为完了就走了是不行的,行为要可以沉淀为内容,才可以给社交领域带来可持续化的优势。”上面引用的是李开复的原话,总结的这几点觉得挺到位的,接下来咱们的移动产品(阿拉丁、iPad app、webapp等的产品设计的形式,希望有可以参考的价值)。
技术角度:
1、不能简单、完全的照搬PC的产品体验到移动端的产品体验上来。
马化腾提出的这个观点,从早期的QQ和QZone体验模式简单的把pc的方式移植到移动端,导致早期的体验非常的差,还有Facebook在移动端放弃HTML5的方式也是一个例子,既然做移动产品,那么就得根据移动设备、网络等的特点来做,从移动端作为出发点去设计产品和用户体验,而不能从PC端简单的移植。这个观点虽然是说在产品和用户体验方式,在代码开发上,也是最近iPad webapp所面临的很多问题,都是由于过多的从PC搬过来太多代码在移动浏览器上跑,问题就逐渐被报出来:
a、点击统计:
近期UBS的同学报出iPad的点击日志字段url中带有莫名其妙的前缀(newtab:),之后又报出url字段有莫名奇妙的协议名(http://internal/...),这些看似是莫名其妙,但是追看点击统计代码,还是原来PC的方式,在a标签上声明onmousedown事件,那么问题就出在onmousedown里,它的执行时间跟click类似,会发生延迟,那么在点击了之后,iOS第三方的浏览器会把链接给修改了(上面莫名其妙的协议等),onmousedown获得得href属性是在被浏览器修改之后的,所以问题就出现了。 既然移动浏览器已经支持了touch等事件,这些都是移动浏览器独有的,那么就应该从移动浏览器所支持的独有的特性去处理移动端的功能,使用touchend等事件去代替onmousedown
b、键盘
移动设备(智能手机、平板电脑等)都已经有了虚拟的输入键盘,这个虚拟键盘跟PC的键盘是有些类似的不同,特别是Android上,屡屡报出keydown,keyup等键盘的事件不会触发的问题;还有弹出虚拟键盘的时候,对页面的影响也是各不相同的,在处理样式上可能就有别与PC。
c、兼容性问题(历史代码的包袱)
移动浏览器基本被Webkit占领(虽然windows 8的平板又来了),移动端解决的兼容性问题,是各种Webkit浏览器的渲染差异,摒弃原始PC上的一些浏览器兼容代码吧,别留下过多的历史代码成为包袱;iPad webapp刚刚已经清理过一次历史代码,但是仍然有一些需要不断的去整理和重构。
上面在iPad webapp上出现的问题大部分是由于从PC那边适配模版的时候直接挪用了PC的代码,但是有些代码在移动浏览器却会有不同的表现,导致功能和效果上存在差异。因此对于事件上的处理,优先考虑touch、gusture等事件代替PC的键盘、鼠标事件等在代码兼容性方面(CSS、JavaScript),从webkit出发,兼容各种iOS和Android平板,还有接下来将要有的Microsoft Windows 8平板。
2、NodeJS
大会中偶然有讲师提到了NodeJS这个东西,姑且不说它的性能和开发效率,从另外一个方面来说,它使得前端开发人员能涉猎的范围更广了,一个产品的开发人员角色也发生了变化:原先的需要前端、服务端等多种角色才能去完成一个产品的开发,但是,NodeJS的使用,可以简简单单的由前端开发人员的角色就可以很快的完成,而且在前端多人协作和开发方面,都能比较好的掌控,开发更简单。
3、Webkit的应用
Webkit内核的应用越来越广泛,已经被纳入桌面端的软件开发中,在豌豆荚2.0重构中,在软件前端,使用了Webkit作为页面展示层,然后通过异步Api,跟底层的接口对接,接受异步请求,然后根据不同的协议返回不同的数据和处理逻辑。其实从酷我等音乐盒的软件产品中也可以看到Webkit的大量应用,Webkit的加入,使得软件在架构上更加清晰、更易维护和扩展,这从两外一个方面也表示,前端开发人员也可以加入到这样的桌面软件开发行列里。
4、flash air是不错的移动端的技术解决方案。从pc端的as代码通过air的简单转换编译就可以发布成移动端应用。成本低,成功的例子,《被错过的天堂》。adobe收购phonegap,放弃移动版flash player,转而投入精力到flash air。在游戏方面,无论是pc还是移动端,flash还是很有前途和优势的。
5、cocos2d-x跨平台游戏引擎,可以用C++编写游戏,能跨平台发布到安卓和iphone上。降低跨平台成本。作者是中国人王哲。
如果要编写html5游戏,可以用cocos2d-html5。appstore上top20的游戏里就有9-10款是用这个引擎写的。