应用开发的孤岛
正如前面所讨论,应用是移动平台成功的关键。平台为开发者从代码编写到应用发布的各个开发阶段提供高效的工具是非常重要的。不同平台所达到的程度不同,这也将反映出它们应用生态系统的健康情况。另外,开发者更换到新平台需掌握新的开发工具。
没有通用的语言可适用于所有平台:
- iOS采用Objective-C(受Smalltalk影响的C的超集)
- Android和黑莓使用不同Java作为主要编程语言
- Windows Phone采用C#,属于.Net架构的一部分
- Symbian^3,Bada和BREW支持通用的C和C++语言。
- webOS使用JavaScript以及HTML/CSS作为主要的开发语言
同样,没有通用的开发环境:
- iOS只能使用Apple XCode工具在Mac OS计算机上开发。
- Windows Phone使用微软Visual Studio工具在Windows PC上开发,Windows实际是企业软件开发的平台。
- Symbian^3开发使用Qt环境
- WebOS使用基于Ares浏览器开发环境,可与Eclipse IDE结合使用。
其他平台可通过Eclipse开发环境,提供私有的plug-in和终端模拟器,或者采用Visual Studio开发环境。
平台编程入门愈容易,愈多开发者进行尝试,并最终编写和发布该平台的应用。Apple这方面很出色,开发iOS应用的门槛很低(当然除了要购买Mac外),iOS SDK成为简单安装和配置工具和开发第一个应用的基准。在iOS开发应用中,只有少量或者没有计算机科学教育背景的开发者例子并不少见。
Android、Windows Phone和Symbian(Qt)同样提供有竞争力的开发工具,但需要更多的开发经验,对于新开发者,需要更多的学习。
丰富API节省开发者时间,减少代码量,而编写的代码越少,需要调测和维护的代码就越少。
iOS和Android为开发者提供了功能最丰富和最灵活的API架构。iOS应用框架源自成功的Mac OS API,在UI方面特别卓越,然而,与Android相比,相对缺乏灵活和受到限制。
其它平台在API方面都存在差距。Windows phone正在走向成熟,每次平台升级都提供重要的但之前没有的APIs。Symbian QT应用框架结合了已验证的Qt UI API和新开发的Qt移动API,后者仍在演进中,增加更多的平台功能访问能力。
大部分开发者使用原生平台应用商店进行发布。每个商店都有自己的指引、策略和流程。Apple的应用商店是出名严格的认证需求和不可预知的审批过程。应用可能会被意想不到的理由拒绝,而且无法预测通过审批的时间。对于开发非美国或者非英语市场的应用,有额外的障碍:Apple的测试人员有时会误解应用/服务的本地化内容,错误地拒绝接纳。
在Android Market上发布应用的过程则完全相反。Android应用发布是自服务过程,没有任何应用测试或人工审查。这一方面便利了开发者,提供应用到在商店显示可在几分钟内完成;另一方面,也导致大量的低质量、抄袭,侵犯版权的甚至恶意软件出现在Android Market,会降低Android使用者的用户体验。
其它平台试图在开放性和质量之间取得平衡,采用公正、可预测审批策略,结合人工和适度的测试需求。
平台 | 主要语言 | 开发机器 | 开发工具 | 入门容易度 | API丰富度 | 认证过程 |
Android | Java | Windows / Mac OS / Linux | + | + | ++ | ++ |
Bada | C/C++ | Windows | = | = | = | + |
BlackBerry OS | Java(J2ME) | Windows | = | = | = | = |
BREW | C/C++ | Windows | -- | -- | - | -- |
iOS | Objective-C | Mac OS | ++ | ++ | ++ | - |
Symbian^3 | C/C++ | Windows / Mac OS / Linux | + | = | = | - |
Windows Phone | C# | Windows | + | + | = | + |
webOS | JavaScript | Windows / Mac OS / Linux | = | + | = | + |
了解平台经济学
移动平台区分为三大类型:软件平台、应用平台和通信平台。区分它们很重要。
平台类型 | 目的 | 面向客户 | 网络效应 | 例子 |
软件平台 | 分担软件开发费用和风险 | 设备制造商 | 无 | Symbian,BREW |
应用平台 | 关联应用开发者和用户(以及某些情况下的手机OEM) | 开发者 | 从用户到开发者;从用户到用户;从开发者到开发者 | Android,iOS,Windows Phone |
通信平台 | 促进用户之间的通信 | 用户 | 从用户到用户 | 电话、传真、黑莓、Messenger |
软件平台通过最大化地重用平台技术,创建多种类型的产品。也即,软件平台是为灵活性和不同产品开发成本分摊而优化。Symbian是典型的软件平台,有多种型号的移动手机。直至2009年,开发者对平台并不关注。
应用平台则相反,为连接两个分离市场(用户和应用开发者)而设计。应用解决了用户不同方面的需求。由于应用和平台捆绑,用户必须购买平台才能从应用中获得好处。微软Windows是成功的老牌应用平台。PC没有应用就毫无用处。由于大部分PC应用都在Windows操作系统上开发,所以用户需购买一个Windows的license来使用这些应用。
应用平台是双面市场(two-sided market)的典型例子。双面市场使两个关联群体互动,例如信用卡,证券交易和数字媒体格式。
成功的应用平台有很强的网络效益。应用吸引用户,用户吸引开发者创建更多应用,更多应用吸引更多用户,吸引更多的开发者,如此类推。每个新应用从最终用户角度看都增加了平台价值。每个新用户从开发者角度看都增加了平台价值。
左图显示了在某个特定时间点上平台提供的应用数量和之前一个季度的出货量的关系。应用总量可衡量平台对开发者的吸引力,设备出货量可衡量平台对用户的吸引力。成功的Android和iOS平台对用户和开发者吸引力两者紧密关联是一致的。开发者和用户之间正向积极反馈在影响销售和应用开发中占主导地位,其他的还有促销、广告,对开发者而言很酷的技术。
一致性是应用平台成功的关键,应用可以运行在所有承载平台的设备上,想象一下,如果微软Office只在Dell机器上运行的情况。
软件平台则相反,灵活性比一致性重要,需要灵活性来适配广泛的产品,实现供应方经济规模。
很明显,Apple的iOS是来自匹配经验和DNA类型公司的移动应用平台。用户和应用开发者之间强大的网络效益是iOS生态系统设计与生俱来。它的网络效益已被证实比Nokia的供应链和发布渠道更加强大,并导致Symbian的消逝。
苹果iOS的空前成功宣告应用平台的胜出。在iPhone出现后的新平台,包括Android,都尝试复制苹果应用平台的方式。
Android来自具有连接用户和广告商广告平台经验的公司。无需奇怪,Android被设计为免费应用平台,通过驱动Google的在线广告服务来获利。
观察黑莓、Symbian和Windows Phone的网络效益图,并和iOS、Android的相比较,情况不同。
Nokia明确将Windows Phone作为未来的手机平台,促使用户离开Symbian,断送了Symbian启动网络效益的机会。
微软,则宪法,很明确地尝试触启应用平台网络效益,他们激励开发者生产大量的应用,但用户对早期版本仍远未能留下深刻印象。应用平台是微软的面包和黄油。这也难怪,Windows Phone有着应用平台所有的特性,从高度一致性到对应用开发者的强烈吸引。
然而,微软能否将Window Phone作为iOS和Android竞争者,仍需观察。要实现目标,Windows Phone必须达到显著市场份额,即用户和应用开发者之前强大网络效益开启的临界点。
当应用平台发展,一旦达到网络效益增强,通过厂商锁定手机平台(用户更换困难),领先的平台很难被替代。只有创新更好的操作系统是不足够的,这已被Mac OS和WebOS的历史有争议性地证实。
由于起步较晚,Windows Phone需要提供某些显著差异。只有将来才能知道微软可否实现。目前,微软正在利用最近收购的Skype,和Nokia的合作伙伴关系,以及扩展Facebook的伙伴关系。
黑莓呢?从平台来讲,黑莓是成功的通信平台,通过移动电邮和著名的黑莓Messenger(BBM)服务使用户间相互联系。通信平台也有网络效益,每个新用户都会为其他用户增添网络价值。传统固话网络是用户联系的通信平台例子。
因为通信需求关注点狭窄,而黑莓的网络效益主要是用户之间,而不是用户和开发者。用户到用户的网络效益明显比iOS和Android的开发者到用户的网络效益弱。iOS和Android的广泛应用使平台满足用户广泛的需求,创造远超过黑莓的价值。RIM正在努力将黑莓演化为应用平台,但目前受到平台分裂及其他问题的困扰。
黑莓最初的通信网络效益不再拉动销售,尽管他们在增加应用,但还没能真正建立起强大的新反馈回路。
平台 | 应用数量 | 最初设计为 |
Android | 300,000 | 应用平台 |
Bada | 15,000 | 应用平台 |
黑莓 OS | 35,000 | 通信平台 |
BREW | N/A | 软件平台 |
iOS | 500,000 | 应用平台 |
Symbian | 25,000 | 软件平台 |
Windows phone | 30,000 | 应用平台 |
webOS | 7,000 | 应用平台 |