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

VisionMobile:移动平台生态系统冲突报告(八)Chapter C:Android(下)

 
阅读更多

开发者的采纳

2011年10月,Android Market有30万应用,紧随Apple,是第二大的平台应用商店。

功能丰富和易于学习的应用架构,强大的SDK,结合不断增长的手机数量,使大量开发者从PC领域和移动领域(Symbian,J2ME,Windows Mobile,和PalmOS)进入Android。

在我们2011年开发者经济学研究中,Android名列开发者意向第一。根据研究,无论当前使用哪个平台,2/3(67%)的移动开发者最近曾在Android上开发。

平台分裂主要有五个方面:

1、 发布速度。在2010年第二季和2011年第二季之间,有三个主要版本发布,对OEM而言平台变化太快。

2、 OEM对更新无动力。Android手机OEM们缺乏商务激励机制来更新已销售手机的系统版本。

3、 OEM定制造成UI分裂。HTC的Sense UI和索尼爱立信的Rachel,摩托罗拉的MotoBLUR,三星的TouchWiz,LG S-Class的UI不同。所有的OEM增加对开发者都是分裂的迹象。

4、 屏幕分裂。Android V2和V3针对不同屏幕尺寸,并分别进行优化。屏幕类型可能包括(不同尺寸的)智能手机,平板、车载屏幕和TV。

5、 代码库的分叉。中国移动的oPhone,中国联通的WoPhone,Cyanogen和MiuiAndroid都是分枝版本,不再遵循主干Android代码库的更新。

对于绝大多数的开发者,AndroidMarket是主要的发布和货币化渠道。但有些独立的应用商店提供付费内容,不需要Google检查,包括有亚马逊 Appstore,SlideME和GetJar。此外,运营商,例如沃达丰,法国电信/Orange和AT&T,也推出各自的应用商店,应用需要预审,支持运营商计费。

Android Market在真正货币化潜力上有多方面考虑:

  • 大量免费应用。据2011年9月Xylogic报告,在美国,Android商店有66%的免费应用,而iPhone有42%。
  • 本地化应用非常少。据2011年9月Distimo报告,只有4.9%的Android应用在单一国家发布(表明专注本地内容)
  • 版权侵犯泛滥,对合法应用的成功造成障碍。
  • Google在应用货币化中对广告模式更感兴趣,也就是,在创建应用清单时,对直接寻求开发者货币化方式并不重视。

版权和管控

Google成功利用开源成为其商务优势。Android源代码允许公开和私有的源代码分枝。私有分枝维护操作系统更先进的版本,通常比公开分枝提早6-8个月。私有分枝只提供给很少的OEMs,用于 “Google体验”手机。

虽然基础平台是开源的,Google封闭应用(Android Market,Google地图和Gmail)都是Google私有的,并不开源。这些应用通过商业协议和平台兼容给予OEM许可。兼容性采用CTS(CompatibilityTest Suite)和CDD(ComplianceDefinition Document),确保设备使用系统API的一致性和设备的硬件规格。

Android开源开发的可视性和透明度受到严格控制。Google并不公开Android路标,只有被选定的OEMs和芯片合作伙伴可获取。新功能开发主要在私有的代码分枝,并非公开可视。

绝大部分开发由Google员工完成,而不是通过贡献、可视的贡献审核流程或者公开的开发优先级别讨论。

第三方贡献主要在公开分枝,落后于Google当前开发的版本。例如,在Froyo(2.2)公开树中,有来自40个公司大约1000的贡献。贡献者被要求签署贡献者许可协议,包含一个版权许可和一个专利许可(针对授权专利)。Google被允许对任何许可下的贡献代码进行重新许可,许可为他们认为合适的方式。Android维护者(全部是Google员工)决定哪些贡献集成至领先的私有分枝,从此成为平台的一部分。

对贡献和路线图的严格控制对快速演进的平台是必要的,否则将会被各方利益冲突所影响。

在开源项目控制点数目和多样性而言,Android是“榜样”,Android的控制点有:

  • 领先私有分枝,比公开分枝超前6-8月。私有分枝只对被选定的OEM和芯片厂商开放,他们将从OS最新版本中获得显著的竞争优势。
  • Android Market是唯一的商业许可,在那里Google提供超过30万的手机应用。
  • Google地图、Gmail和其他Google的私有应用,只有设备遵循Google规范,通过由Google维护的的CTS验证,才能安装在设备上(预装)。
  • Android商标由Google持有,在商务条款下进行授权。
  • 超出想象的快速版本释放,结合由Google完全控制的贡献。
  • 除了小部分被选定合作伙伴外,路标不可视。

Skyhook对Google的法律诉讼,指控其非竞争行为,揭露了Google控制OEM生态系统的细节。其中一显著证据是一封2010年8月6日来自Dan Morril的电邮,说,“我们使用兼容性来让他们(手机制造商)去做我们想做的事情”。在2011年7月Vision Mobile提供对Android管控模式的深入分析报告,即VisionMobile的开发管控指数。

基础技术

Android建立在Linux kernel上,利用行之有效的Linux进程模型、驱动架构和安全框架。虽然Android是基于Linux Kernel,不应将它和Linux操作系统本身混淆。由于不同的C库,UI框架和应用生命周期模型,Android不能直接运行为Linux 编写的应用。

平台在Linux Kernel上引入Android特有的扩展层作为中间件。中间件提供了音频和视频多媒体、2D和3D图形、无线网络、定位服务、传感器、蓝牙和其他的支持。

多媒体中间件最初基于PacketVideo的开源OpenCore架构。平台的最新版本,由新的,降低复杂度的Google的Stagefright开源项目的多媒体架构替代。图形采用工业标准OpenGL ES 1.x和3D硬件加速的2.0 APIs。

操作系统高层由非标Java语言来实现。Java软件通过由Google从头重新设计的Dalvik Java虚拟器来运行。Dalvik虚拟机针对移动环境进行大量优化,包括处理器负荷、运行环境内存使用和电池消耗。Android v2.2引入JIT(justin time)编译器,更好地改善了Java应用在移动平台上的性能。

平台内置各类应用,包括拨号器、消息、联系人、日历、电邮、媒体播放器等等。这些应用由Java语言编写,有时需访问受到严格控制的,不向第三方应用开放的,平台API。

Android提供相对简朴UI,支持多点触摸、手势和动画。它常被OEM的用户体验层所加强(例如HTC Sense,LG S-Class,三星Touch Wiz,索尼爱立信的Rachael)。Android用户界面已经在版本3(Honeycomb)和版本4(Ice Cream Sandwich)中得到显著改善。变化集中在支持更大屏幕显示和各类平板的人体工程学。V3(Honeycomb)只支持平板,没有作为开源项目释放。这个版本的改变将合并到Android4.x的主干上。

Andriod的web浏览器基于开源的Webkit引擎,可对标准web页面进行渲染。Google持续改善浏览器的JaveScript性能和对HTML5的支持。应用可唤起HTML/CSS/JavaScript组件,它们的渲染使用WebKit浏览器引擎。

通过下载由Adobe提供的扩展,Android v2.2加入了对Adobe Falsh的支持。

Android应用安全建立在Linux的多用户基础架构上。它强制将第三方应用和操作系统,以及其他应用分隔。

和iOS一样,在OS层面,每个安装的应用作为一个单独“用户”运行。应用的访问权限是有该user ID的权限所决定。第三方应用在一个沙盒环境中运行,那里每个应用在一个特定的Linux进程空间中运行,并访问一个专用文件系统空间。当应用需要访问敏感API(例如联系人列表、定位、短信),开发者在应用包清单(manifest)中进行声明。当安装时,系统询问用户是否授权所安装应用使用这些权限。如果获得用户授权,应用将安装在设备上,并可访问这些API。

系统通常预装Google云服务。包括Google语音搜索、Google地图、Gmail,Google帐号、Picasa等。应用唤起这些Google服务作为应用流程的部分。

应用开发

AndroidSDK基于常用的Eclipse IDE,扩展个设备模拟器和Android专用插件。插件提供了移动应用设计、调测、优化和发布所有的所需工具。

Android使用一个基于Java的应用架构来运行第三方应用。应用架构采用非标的Java语言,采用独特的应用生命周期模型和系统API,使得Android和由JavaSE和 ME编写的标准的Java应用不兼容。

Android允许开发者在Java应用中嵌入由C/C++开发的控件。C/C++开发使用原生开发套件(NDK),NDK允许开发者编译、构建和封装由C/C++编写的应用控件。

Android应用框架由多个API组构成,包括基于webKit引擎的web服务,2D和3D图形、结构数据存储的SQLite,移动电话通信、蓝牙、Wi-Fi、摄像头、定位和传感器、通用音频、视频和静态图像格式的支持。

Android采用新式应用框架,允许应用和服务的松耦合。基于Intent的概念,用于执行特定Action的通信需求(例如显示地图)。Intent由OS转发给最合适组件来提供服务。服务组件可容易被替换或者重用。

Android应用可从Android Market安装。另外,如果用户明确允许“未知来源”,应用可从其他来源安装,例如从邮件附件或者下载文件。缺省地,从未知来源”下载选项被关闭,必须由用户打开。

AndroidMarket客户端是主要的应用发现途径。客户端还管理应用更新。当安装应用有新版本时,显示通知,也允许用户设置某些应用自动更新。

AndroidMarket web商店可通过任何web浏览器访问,提供诸如设备兼容性检测和网页触发下载应用(用户点击web浏览器上的安装button,应用将自动下载到用户注册的Android手机上)的功能。

2011年7月,Google宣布AndroidMarket客户端的重要改进,包括更好的应用发现,以及购买电子书和视频(仅限美国)的功能。

观点

Google开发Android,确保大众可从移动设备访问Google服务而不受限制,也就是说,将Android平台作为连接消费者眼球和Google广告的桥梁。

Google从Android间接货币化。智能手机的广泛增加,通过增加在线流量和挖掘新移动特性广告使用场景,使Google广告增加营业额。对于Google,Android同样意味着中介市场商品化,中介市场建立在吸引眼球和广告上,即手机、网络和浏览器。

Android生态系统面临来多个专利威胁,来自试图减缓Android发展势头的公司。Apple挑战最大的Android OEM三星,而微软向多个Android OEM征收专利税。Google越来越积极地保护生态系统,通过从待收购的摩托罗拉移动中获得的广泛的专利组合。

除非Google保护生态系统,防范专利攻击失败,Android平台将继续快速演进,改善用户体验,扩展至平板,发展对连网TV的支持。此外,越来越多的基于Android的智能手机和平板将有助Google在很大部分的移动生态系统中锁定Google云服务。

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

分享到:
评论

相关推荐

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

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

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

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

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

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

    课设毕设基于SSM的毕业生就业信息管理系统-LW+PPT+源码可运行

    课设毕设基于SSM的毕业生就业信息管理系统--LW+PPT+源码可运行

    STM32设置闹钟中断-博文程序源码

    发了《STM32设置闹钟中断》一文后,大家都要问我要源码,其实我也找不到,当初也只是做设计时的一部分,根本没留单独的源代码,今天按博文特意重新整理了一下,有需要的自己下载吧。

    node-v0.8.26-sunos-x86.tar.gz

    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提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    python非常炫酷的跳动爱心代码

    python爱心代码高级 python非常炫酷的跳动爱心代码 python非常炫酷的跳动爱心代码 python非常炫酷的跳动爱心代码 python非常炫酷的跳动爱心代码 python非常炫酷的跳动爱心代码

    123pan_2.0.5.exe

    123pan_2.0.5

    NOSQL-课程复习资料

    NOSQL-课程复习资料

    node-v0.10.20-x86.msi

    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提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    python爱心代码高级.zip

    python爱心代码高级

    springboot270基于JAVA的社团管理系统的设计与实现.rar

    开发语言:java 框架:springboot,vue JDK版本:JDK1.8 数据库:mysql5.7+(推荐5.7,8.0也可以) 数据库工具:Navicat11+ 开发软件:idea/eclipse(推荐idea)

    ClaudiaIDE.vsix

    ClaudiaIDE

    node-v0.8.20-sunos-x64.tar.gz

    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提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v0.8.23-sunos-x86.tar.gz

    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提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于JavaScript+html+css开发的泊车系统+源码(毕业设计&课程设计&项目开发)

    基于JavaScript+html+css开发的泊车系统+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于JavaScript+html+css开发的泊车系统+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于JavaScript+html+css开发的泊车系统+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于JavaScript+html+css开发的泊车系统+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~

    node-v0.8.17-x64.msi

    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提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    OpenHarmony下的minicom工具

    1. 发送文件到OpenHarmony: hdc file send minicom /data hdc shell chmod +x /data/minicom hdc shell mkdir -p /data/terminfo/v/ hdc file send vt100 /data/terminfo/v/ 2. 进入串口之后,执行以下命令运行minicom setenforce 0 export TERMINFO=/data/terminfo export TERM=vt100 /data/minicom -D /dev/ttyS9 3. minicom的操作方式,跟在linux系统下一模一样。 备注:这个工具在hdc shell连接终端下使用不友好,只能看到进入的界面,其他的操作都看不到。

    Optimizer-16.4.exe

    Optimizer-16.4

Global site tag (gtag.js) - Google Analytics