月度归档:2011年01月

跨平台手机应用开发

【背景】

在当前国内的手机市场,可谓平台众多百花齐放,各种主流Smart Phone仅占10%左右的市场份额,而兼容J2ME的Feature Phone却占据了最大的市场份额。

开发难度相对容易的iPhone和Android智能手机平台其用户市场份额太少,开发难度相对复杂并且开发人才匮乏的Symbian S60和Windows Mobile智能手机平台也仅占到7.5%的市场份额,开发难度适中但适配难度最大的J2ME却占据了最多用户,需要针对数百甚至上千种机型进行适配。

这还不包括一些目前市场份额不大,却有着特定用户群或有潜能成为三分天下的智能手机平台,如:Windows Phone 7、BlackBerry、MeeGo和WebOS等。

开发难度大、成本高、周期长是所有应用厂商面临的主要问题,不仅国内市场如此,国际市场亦如此,美国市场即便排除各式各样的定制机,按iPhone、Android、BlackBerry三分天下的局面来开发应用,应用厂商也不得不同时组织三批人码来解决这种跨平台问题。

【平台】

我们大家都在讨论跨平台,都不得不关注跨平台,为何有那么多跨平台的问题?首先我们要看怎么定义平台(Platform)这个词,平台是生态系统(Ecosystem)中的基础建筑,在这是家企业都想做平台的时代,每个环节都可能成为一个平台。

我个人将平台大概分为三大类别:第一种为硬件设备,如手机、平板电脑、电子书、上网本、掌上电脑、导航系统、播放器、游戏机、机顶盒等。第二种为操作系统,如Android、Bada、BlackBerry、iOS、MeeGo、Symbian、WebOS、Windows Mobile和Windows Phone 7等。第三种为浏览器,如Microsoft Internet Explorer、Mozilla Firefox、Google Chrome、Apple Safari以及Opera等。

在这里我列举一下上个季度的手机操作系统的市场份额,其中Symbian 41.2%、BlackBerry 18.2%、Android 17.2%、iOS 14.2%、Windows Mobile 5%、Linux及其它占4.2%,也就是说在一个平台类型中我们就要面临至少三到四手准备。

国外调查机构就开发者最感兴平台给出了大家期望的答案,其中iPhone 91%、iPad 84%、Android Phone 82%、Android Tablet 62%、BlackBerry 34%、Windows Phone7 28%、WebOS 16%,其它平台如Symbian、MeeGo排在倒数位置。

国内主流互联网应用提供商,基本上把iOS和Android作为首选,高端人群首选iOS而草根阶层信奉Android,其实老大和老二的位置无关紧要,只是和这些公司的企业文化或服务群体有关,然而Symbian却只能排到老三甚至被冷落的位置。

另一份数据则解释了平台类型之间的竞争,其实这也是我个人近5年来一直在研究的课题,那就是App和Web之间的优劣问题。针对社交、媒体、广告、商务、分析、位置、网络、数据和用户界面的开发需求调查当中,将近80%的开发者偏好移动App胜过移动Web,其中原生用户界面 91%、本地数据库访问 81%、推送通知 74%、网络连接 72%、地理位置 69%,其它诸如摄像头调用、支付接口等也在列,但优先次序不高。

【解决方案】

面对各式各样的跨平台应用开发问题,我们在日常开发中摸索了几种解决方案,主要包括原生应用(Native Apps)、网页应用(Web Apps)和微件(Widgets)等思路。

Appcelerator和RhoMobile的开源项目以原生应用为主,支持iOS和Android等平台,前者的Titanium封装了超过1000个APIs,并且还提供了移动和桌面解决方案,后者的Rhodes也支持访问GPS、PIM、蓝牙设备等资源,并且支持更多的手机平台,他们主要采用HTML、CSS、JavaScript、Ruby、Python和PHP等脚本语言相结合的方式开发应用。

MoSync和PhoneGap的开源项目以网页应用为主,由于Web的开放性,其支持的手机平台多达6~8种,未来有可能支持更多的手机平台,主要使用HTML5、CSS3和JavaScript开发应用,同时也封装了常见硬件资源和传感器等访问接口。

JIL(Joint Innovation Lab)和WAC(Wholesale Applications Community)这两个特殊的移动互联网机构原先有各自的微件标准,现两家机构已经合并。国内的移动互联网企业开拓天际、斯凯和数字天堂等也有各自研发的跨平台手机中间件技术,不过目前主要都侧重在低端手机市场为主。

【展望未来】

平台融合、三网融合等这些跨界融合是未来的大方向,App速度快、省带宽、支持离线、访问硬件和Web跨平台、跨终端、部署便捷和简单易用等特点。

随着使用WebKit浏览器内核的智能手机的普及,以及HTML5、CSS3等技术的成熟,未来的Web将有更强的本地运算能力,如本地数据库存诸、蓝牙、摄像头的调用等。

从XAML的进化看Microsoft Windows 8在云端的应用服务,从Mozilla Firefox XUL的演化,我们都会发现App将和Web将分不清界限。

即将上市Google Chrome OS上网本操作系统,在浏览器里将支持通过USB访问数码相机和打印服务等……

【2011年1月22日凌晨于北京东城,本文为iTech Club第十届互联网技术高峰论坛主题演讲内容整理,附件PPT讲稿1.6M感兴趣可以下载】

Ecosystem 生态系统

有个朋友发邮件询问我有关择业的问题,其中有个问题提到Android的发展前景,我作答如下:

Android未来的地位一定占主流,主要得益于Google这家互联网巨星,以及围绕在其周围的生态系统,包括各种硬件厂商和开发者虽然他的地位也会受到诸如FacebookTwitter等新星企业的撼动,但并不影响其长时间内占据一哥的地位,毕竟他才10年出头比他长20个年头的微软,虽然错失了互联网的最好时机,可他构建的生态系统依然很稳固。和微软很相似但走过一段不寻常路的是苹果,他构建的生态系统非常独立、强势,在苹果的生态系统中留给最终开发者和内容提供商较多,没有太多盟友,相对来说风险较大,走高端路线需要高利润、高回报,否则整体品质下降会波及他的整个生态系统。