`
mmdev
  • 浏览: 12927007 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

VisionMobile:移动平台生态系统冲突报告(五)Chapter B:移动平台之战(中)

 
阅读更多

应用开发的孤岛

正如前面所讨论,应用是移动平台成功的关键。平台为开发者从代码编写到应用发布的各个开发阶段提供高效的工具是非常重要的。不同平台所达到的程度不同,这也将反映出它们应用生态系统的健康情况。另外,开发者更换到新平台需掌握新的开发工具。

没有通用的语言可适用于所有平台:

  • 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

应用平台


相关链接:我的产业生态链和杂谈文章

分享到:
评论

相关推荐

    visionmobile:2012年跨平台开发工具报告.docx

    visionmobile:2012年跨平台开发工具报告.docx

    VisionMobile-生态系统的碰撞-英文版

    本文来自Visionmobile,原作者为Michael Vakulenko。报告不仅对移动操作系统的历史和演化过程进行了回顾,并对新的移动平台生态系统进行了分析,严重推荐下载。

    全球移动开发者报告:Swift崛起,物联网大火!

    近日,著名移动生态系统分析公司VisionMobile发布了2015年度第一期DeveloperEconomics调查报告,历时半年,集结了来自全球143个国家的8000多位应用开发者,从平台和编程语言优先级、收入与盈利模式、工具采用分析等...

    基于matlab实现的数值计算及金融运用 ,金融时间序列数据分析 ,MATLAB和其他软件数据连接.rar

    基于matlab实现的数值计算及金融运用 ,金融时间序列数据分析 ,MATLAB和其他软件数据连接.rar

    使用SegNet进行语义分割-python源码.zip

    使用SegNet进行语义分割-python源码.zip

    JSP企业电子投票系统 2.zip

    JSP企业电子投票系统 2

    EmotionVGGnet情绪识别-python源码.zip

    EmotionVGGnet情绪识别-python源码.zip

    基于matlab实现的遗传算法、模拟退火算法、禁忌搜索算法求解VRP问题的matlab程序.rar

    基于matlab实现的遗传算法、模拟退火算法、禁忌搜索算法求解VRP问题的matlab程序.rar

    大数据Python科学计算库-Numpy实战:numpy代码

    大数据Python科学计算库-Numpy实战:numpy代码 练习题.ipynb 9-读写.ipynb 8-随机模块.ipynb 7-运算.ipynb 6-数组 生成.ipynb 5-数组形状.ipynb 4-排序.ipynb 3-数值计算. ipynb 2-array结构.ipynb 1-Numpy概述.ipynb 1- Numpy概述.ipynb 2-array结构.ipynb 3-数值计算.ipy nb 4-排序.ipynb 5-数组形状.ipynb 6-数组生成.ipynb 7-运算.ipynb 8-随机模块.ipynb 9-读写.ipynb 练习题.i pynb

    基于统计分析的地面搜索最短耗时的计算方案设计.doc

    本文档是课题研究的研究报告内含调研以及源码设计以及结果分析

    基于BlazePose+KNN实现人体姿态健身计数算法python源码+项目说明.zip

    基于BlazePose+KNN实现人体姿态健身计数算法python源码+项目说明.zip 项目描述: 实现基于mediapipe的人体姿态识别的AI健身自动计数功能 支持健身动作:1、俯卧撑 2、深蹲 3、引体向上 4、仰卧起坐 创建时间:2022.11.28 完成时间:2022.11.28 如何训练新的健身动作模型? 1、修改mian函数 2、首先在fitness_pose_images_in的文件夹下存储对应健身的初态动作与末态动作图像 3、修改videoprocess.py文件中的代码,flag模式选择部分,注意class_name必须与fitness_pose_images_in文件夹下的文件名字保持一致 4、修改videoprocess.py文件中的代码,flag模式选择部分,注意class_name必须与fitness_pose_images_in文件夹下的文件名字保持一致 5、修改trainingsetprocess.py文件中的代码,flag模式选择部分,注意 文件名 必须与fitness_pose_images_in文件夹下的文件名字保持一

    dijkstra 算法说明和基础应用介绍.docx

    Dijkstra 算法,又称为迪杰斯特拉算法,是一种用于解决单源最短 路径问题的经典算法。它的核心思想是通过逐步确定起点到其他顶 点的最短路径来求解。该算法被广泛应用于图论和网络路由等领域。 Dijkstra 算法的基本步骤如下: 1. 创建一个距离数组 dist[] ,用于存储起点到各个顶点的最短距离。 将起点的最短距离初始化为 0,其他顶点的最短距离初始化为无穷 大。 2. 创建一个集合 S ,用于存储已经找到最短路径的顶点。 3. 重复以下步骤,直到集合 S 包含所有顶点: a. 从距离数组 dist[]中选择最小值对应的顶点 v,将 v 加入集合 S。 b. 更新距离数组 dist[] : - 对于每个与 v 相邻的顶点 u,如果通过顶点 v 可以获得更短的 路径,则更新 dist[u]为更短的距离。 c. 重复步骤 a 和 b,直到集合 S 包含所有顶点。 4. 最终,距离数组 dist[]中存储的就是起点到各个顶点的最短路径。 下面通过一个简单的例子来说明 Dijkstra 算法的具体过程。假设有 一个带权有向图,其中的顶点和边分别如下所示:

    node-v12.6.0-linux-s390x.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    IEC 60695-11-3:2012.pdf

    IEC 60695-11-3:2012.pdf

    机械设计电话自动组装产线非常好的设计图纸100%好用.zip

    机械设计电话自动组装产线非常好的设计图纸100%好用.zip

    Editor下载非常好用的工具

    010editor是一款小巧专业的实用型编程工具,010editor官方版功能强悍,便捷好用,支持用户进行编辑十六进制和二进制,可选择自己需要的进制进行编辑,还可对任何的文件进行编辑。

    2007-2022各省份节能环保支出及占一般预算支出比例

    点上面 附件图标,上传附件后可设置现金定价 2007-2022年各省份节能环保 支出占一般预算支出面板数据 已经整理成省级面板数据 手动整理不易

    node-v10.17.0-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    保护大堡礁(pytorch + yolov5训练自定义数据集)-python源码.zip

    保护大堡礁(pytorch + yolov5训练自定义数据集)-python源码.zip

Global site tag (gtag.js) - Google Analytics