首页 > 基础设施 > 正文

分析和比较开放和封闭的移动平台

2014-05-29 15:53:12  来源:CIO时代网

摘要:随着Android 2.2 Froyo和iPhone 4版本的发布,开放式和封闭式的移动平台之间的战争愈演愈烈。作为双方代表,Froyo和iOS4在制度的框架,新功能,应用市场和一体化模式有很大的不同。
关键词: 开源 Android

    随着Android 2.2 Froyo和iPhone 4版本的发布,开放式和封闭式的移动平台之间的战争愈演愈烈。作为双方代表,Froyo和iOS4在制度的框架,新功能,应用市场和一体化模式有很大的不同。据谷歌和苹果的公司精神,我们做上述各点的一些分析和比较,说明Android的差异,从iPhone浅向更深,然后得出结论开放式和封闭式的移动平台的特点,目的是为移动平台的研究人员提供客观的参考,帮助他们对移动行业有更清晰的认识。当然,Froyo和iOS4都具有自己的优势和劣势,他们距离完美还有很大的距离,依然有进一步改善的空间。


    关键词:Android;iPhone;Froyo;OS 4;智能手机;移动平台


    1  介绍


    近年来,智能手机的普及率不断攀升。越来越多的智能手机被卖出和很多人都更加青睐于它们。智能手机给用户带来了极大方便,并为智能手机研究者创建了机会。这就是说,智能手机的广泛普及,对双方都有利双方。同时,智能手机操作系统发展成为最智能的行业之一。要成为一个智能手机操作系统,该系统应:1.提供服务PC式的服务。2.使用GPU得到更绚丽的视觉效果。 3.允许用户在互联网上自由地冲浪。显然,它们也有一些弱点:1,电池的限制。 2。较电脑CPU来说,手机CPU性能差。 3.存储空间小。 4.在手机电池耗尽时,RAM的使用可能会导致数据丢失。


    现在智能手机操作系统的两巨头是Android和iPhone OS。一方面,Android是基于Linux内核,Dalvik虚拟机,它是开源的。上层的Android是基于Java的,允许开发者使用谷歌SDK开发Android应用程序和在Android 市场销售他们的软件。另一方面,iPhone操作系统基于Unix内核和达尔文模型,但它是封源的,是从Mac OS X继承而来,是iPhone,iPod Touch和iPad默认的操作系统。基于C语言的软件可以在iPhone OS上运行,就像Android,你可以开发自己的iPhone应用程序,并上传到苹果的App Store进行销售。


    通过比较Android和iPhone OS的最新系统:Android 2.2 Froyo和iOS4,我们可以了解下开放式和封闭式的智能手机操作系统的主要特点。虽然两个操作系统的整体思路和功能设计有很大的不同,它初略分辨出哪一个更好一点。


    2  智能手机


    2.1  Android


    Android系统的体系结构由5层,从底部到顶部分别是Linux内核,Android运行库,应用框架和应用程序。Android提供的核心服务,如安全,内存管理,进程管理,网络堆栈和驱动器,是基于Linux2.6的。作为软件和硬件层之间的抽象层,Linux内核隐藏硬件执行的细节,并为上层提供综合服务。


    Dalvik虚拟机和Java核心库都包含在Android运行层,提供Java核心库的大多数功能。这些库包含了应用于Android组件的一系列C/C++库。这些库集成了应用框架层,然后提供给开发人员。


    应用程序框架层为程序的初始化提供了各种模块,以简化元件的使用,让开发商为所欲为,并提供其他服务软件,当然,在安全性上有所限制。


    主流应用程序位于应用层,包括电子邮件,短信,日历,谷歌地图,网页浏览器和接触。用户可以直接与此层交互。


    Android的最新版本的Android 2.2 Froyo,提出一些新的特点。它们是:1.支持10.1版本的Flash,使用户可以在手机上观看Flash。2.网页浏览器中的V8 JavaScript引擎使得互联网数据传输更加迅速。 3.在网络共享上有大的进步。你可以将手机作为3G网卡或将3G信号转换为Wi-Fi信号。 4.支持自动软件更新。5.软件可安装到SD卡以扩展储存空间。


    2.2  iPhone


    iPhone OS是由4个抽象层组成:核心OS,核心服务,媒体和Cocoa Touch。


    核心操作系统和核心服务层使用C语言设计,来处理核心系统服务,使开发人员能够执行文件访问,socket请求和数据处理。 CFNetwork和SQLite同样是这2层一部分。


    媒体层,根据其名称,是用来控制视频和音频,以及处理二维和三维图像。这一层中的Open GL-ES Quratz部分是用C语言编码,而音频核心和动画核心的一部分则是基于Objective C编写。


    Cocoa Touch层,在iPhone上为应用程序建立了一个基本框架。大多数程序运行在Cocoa Touch层,它也是基于Objective C编写。


    最新的iPhone操作系统是iOS4。它包括以下新的特点:1.软件分类。这功能可以使用户将不同分类的软件放入不同的文件中,使它更便于管理。 2。电子邮件整合。一个账户可以使用不同供应商的电子邮件服务。 3。 iBook,源于iPad的软件,将内置于iOS。 4。一个全新的苹果游戏中心,使iPhone成为一个巨大的娱乐平台。


    2.3  Android vs. iPhone


    作为智能手机操作系统中最顶尖的两个,我们相信,Android和iPhone都各有自己的优势和缺点。现在,让我们一起来看看这两个系统,看到它们有什么独特的功能。


    Android 2.2 Froyo完全支持多任务,这意味着你可以一边听音乐,写博客。而iOS 4,正式宣布其为“多任务运行”,而事实上,这只是一个概念手法的运用。只有少数被苹果授权的软件可以同时运行,多任务原则更是容易得多,当一个应用程序转出时,其当前状态被保存好,然后系统关闭它。当它又被转换进来时,我们又回到了其以前的快照。


    在Android 2.2 Froyo公布时,谷歌宣称其拥有最流畅的网络浏览器,因为使用的V8 JavaScript引擎。 V8是一个全新的引擎,为运行庞大的JavaScript应用程序而设计。在一些测试中,V8的速度要比Internet Explorer的JScript,火狐的SpiderMonkey和Safari的JavaScriptCore更加迅速。这一切都归功于 V8的3个关键部件,他们可以快速访问属性,动态生成代码,有效进行垃圾的清理。


    2.3.1  快速属性访问


    JavaScript是一种动态语言,这意味着属性可以在运行时进行添加或删除,并且它们会经常改变。大多数JavaScript引擎使用一种字典式结构来存储对象的属性,因此它需要全局搜索以在内存中找到的属性的位置。It相当低效的属性的位置。这是相当低效的且比Java和Smalltalk慢。


    为了解决这个问题,V8废弃了动态搜索,并以不同的方式实现:动态的创建对象的隐藏类。在JavaScript中,每次当我们为对象加入一个新的属性,我们会从隐藏类中创建带有新的属性的子类作为超类。这是一个递归过程,且上述过程只有当我们第一次做时出现。然后,当在相同的情况下,我们只是使用以前的隐藏的子类。因此,没有必要重复操作,并创建一个字典。这会保存时间和精力,以及更容易执行类的优化和内部缓存。


    2.3.2  动态代码生成


    当JavaScript每次首回运行时,V8将把它直接转换为本地机器代码,而不是解释为字节码。属性的访问是通过内部缓存,它通常在运行时被翻译成V8的指令。


    当它来访问某些对象的代码时,V8引擎试图找到当前的隐藏类。同时,V8假设在代码中的所有对象都是相同的隐藏类,所以V8将修改相应的内部缓存,使隐藏类更方便地直接使用。如果这假设是正确的,属性的访问可以使用1个指令就全部完成。即使预测失败,V8会再次修改内部缓存,这不会花费太多的时间和资源。


    当一个隐藏类是被很多的对象共享,存取速度可以接近最具活力的语言的访问速度。内部缓存和隐藏类,混合动态代码和类优化,在大规模地改善JavaScript效率。


    2.3.3  有效的垃圾清理机制


    V8引擎会对内存进行自动回收。为了保证对象的分配速度,以及削减垃圾清理和内存碎片清理的时间,在执行垃圾清理时,V8会中断正在运行的应用程序。大多数情况下只有一小部分对象的堆栈参与垃圾清洁周期,所以中断造成小。所有的对象和指针的位置都会被V8记录,这样系统将不会采取对象的指针和内存溢出将会避免。


    除了“最流畅的网络浏览器”,谷歌与Adobe进行了合作,Android 2.2 Froyo充分支持Flash。这就是说,不仅Flash播放器,但所有Flash网页都可以在Android系统上完美显示。与此相反,苹果拒绝Adobe和HTML5作为iPhone的网络协议,导致其无法显示一些基于Flash的动画。


    Android 2.2 Froyo在网络共享的方式上取得了领先。搭载Froyo系统的智能手机可以作为PC的3G网卡,还可以方便地将3G信号转换为WIFI信号。 iOS 4也可以做到第一点,但是不能进行3G和WIFI的转换。


    Froyo和iOS4都支持视频会议,但条件是不同的。只要你拥有一个摄像头,你就可以通过它看到使用摄像头的Froyo用户。然而,iOS 4的用户只能与另一个iOS 4的用户进行视频通话,这是一个很大的局限性。


    尽管Android在网络互动方面十分优越,苹果却在友好的用户体验和娱乐性上是独一无二的。“软件分类”功能使用户可以讲不同分类的软件放入不同的文件夹中,使它管理更加清晰。更重要的是,在App Store里有数十万的应用程序,这意味着iPhone可以有多达数十万功能。苹果公司宣称,这是一个相当了不起的功能。


    苹果最有说服力的一点是,“Android看起来与iPhone完全相似。”虽然它只是一个主观意识,但iPhone的诞生确实给手机行业带来了极大地革命,并命名为“苹果”这一个世界知名品牌。


    3  开放式和封闭式平台


    3.1  SDK


    SDK是每一个开发平台最重要的组成部分,使第三方开发人员在平台上开发软件。通常情况下,库,调试工具和模拟器都包含在SDK。不同平台发布的自己的软件开发工具包是不同的。一些SDK是完全自由和开放的,有些则是有严格限制的。


    开放平台的开发人员可以获取和修改一部分或全部源代码。谷歌和Linux开放平台的领导人,他们公布了Android和Linux的整个源代码。优点是,平台所有者可以节省大量的时间和精力开发和维护平台,因为第三方开发者会为做一些事情来帮助平台所有者。随着更少的钱用在开发和维护方面上,相对低廉的价格吸引了越来越多的手机用户。


    反之,封闭的平,为了安全封锁了他们的源代码,禁止第三方访问。苹果和微软是其中的代表,他们都封闭源,但也一些差异存在。第三方iPhone应用程序被限制在狭窄的范围内,苹果将检查每个被上传到“应用商店”的应用程序,且拒绝了很多的应用程序在手机上运行。微软不检查Windows应用程序,所有这一切都取决于用户自己。如果你安装了病毒软件,你自己承担遭受的损失。


    3.2  应用商店


    市场是开发者和用户之间的介质,因此它是非常重要的。在一些预测认为将会有越来越多的应用市场,而一些不这么认为。在当前的市场,这两种情况都存在。一些人只为他们的产品指定唯一的市场,而其他人则在很多市场销售他们的产品。


    诺基亚,微软和Linux的手机软件在每个市场上都有出售。这些平台开发商可以在任何市场发布他们自己的应用程序,使市场为了生存相互竞争。这是为用户好。然而,缺乏统一的管理可能导致市场的混乱,在不同的市场存在很多有相同的功能的软件,用户使用户混淆不清。相应的,唯一的市场声称,大多数应用程序应在其出售。这样的垄断导致没有竞争对手。 “应用程序商店”和“Android市场”是唯一的市场代理。


    通常情况下,iPhone应用程序只能在'应用商店'找到,苹果将检查他们每个程序。好消息是,每一个App Store的应用都经过官方测试,证实它是安全的。然而坏消息是,很多相当不错的软件因各种原因被拒绝了。于是一个很大的非官方机制由黑客建立起来,也就是“越狱”和“SIM卡解锁”。


    “越狱”是一个过程,允许iPad,iPhone和iPod Touch用户获得root访问权限和解锁,从而消除任何由苹果公司的操作系统强加于他们的限制。一旦越狱,iPhone用户可以通过诸如Cydia的安装下载许多以前无法在应用商店应用的扩展和主题。越狱的iPad,iPhone或iPod Touch仍然能够使用的应用程序商店和iTunes。


    “SIM卡锁”是GSM手机厂商制作的一种能力。网络供应商使用此功能来限制这些手机使用特定的国家和网络供应商。一般来说,手机可以接受基于国际移动用户的SIM卡被锁定身份。 “SIM卡解锁”使人们有可能不考虑国家和由手机厂商指定的网络情况下使用手机。


    然而在Android中,谷歌对每一个应用程序没有进行任何测试,因此虽然有官方Android应用市场,仍然可以在你想要的任何地方发布你的产品。考虑安全问题,谷歌禁止使用某些组件。就像iPhone的“越狱”和“SIM卡解锁”, 在Android中“Root”也为用户提供了100%对设备的控制,同样也伴随着一些安全隐患。


    'Root'是一个过程,在Android的Linux的子系统中,它允许运行Android操作系统的手机用户获得特权控制(称为“Root访问”),类似运行IOS操作系统苹果设备的“越狱”,克服运营商和手机制造商在手机上设置的限制。Root使得手机可以使用第三方Android版本系统,例如CyanogenMod,如支持许多原生ROM不能使用的功能。它也可以使用新的Android版本而不只是使用原始设备制造商的版本。相反到ios越狱,生根是不是需要运行官方Android市场的分布式应用程序。相反于ios越狱,Root不是需要运行没有在官方Android市场的发布应用程序。而是,当试图运行一些付费应用却不能在本国应用市场购买到的程序。


    3.3  继承


    一些企业只注重自己的核心产业,即开发一个操作系统,并提供一个第三方开发的环境。其他公司则不仅做这些,为宣传一个软件管理其开发过程。根据整合平台上,我们将他们分成4种:全集成平台,市场集成平台,设备集成平台,并无集成平台。


    全集成平台的宣传模式是非常严格的。从设备制造到应用程序的发布都是其管理范围,其代表是苹果。苹果公司的工厂生产iPhone,苹果公司的App Store销售其应用程序,苹果公司的iTunes是苹果的资源渠道。整个过程都在苹果公司的控制之下。


    市场集成平台,致力于开发和销售软件。谷歌就是其中一个。与苹果不同,谷歌没有一个工厂来生产自己的手机,它只开发Android系统和建立装载Android应用程序的“Android市场”。然而,像谷歌公司绝对有能力生产自己的设备。谷歌与HTC有良好的合作关系,而HTC则是是T-Mobile,O2和Orange等手机网络公司的手机提供商。


    设备集成平台生产自己的手机,但不成立应用市场。例如,RIM生产黑莓手机,但有没有黑莓官方应用市场。


    无集成平台几乎不做任何事情。微软既不生产手机,也部建立了一个市场。他们只做操作系统的开发:Windows Phone 7。


    4.总结


    作为开放式和封闭式平台的的代表,Android 2.2 Froyo和ios 4都有优缺点。强大的浏览器内置于手机中,他们的生产商引发了世界手机的变革。Android依靠互联网的经验,这归结其与谷歌的联系。但目前,市场上充斥着各种版本的Android,开放手机联盟中的大多数公司倾向于定制自己的Android系统。这些事实使Android的缺乏统一的品牌形象,所以人们可能感到困惑,并对Android说“NO”。 iPhone OS更侧重于娱乐,它非常友好。但苹果太酷了以至于不能吸引更多的顾客:史蒂夫·乔布斯的忠实粉丝买苹果每个产品,不喜欢苹果风格的人做的事情可能只是“闻闻”苹果罢了。


    此外,Android 2.2 Froyo成功之处在于平台开放的特点。这是一个'用户至上'平台,因为升级Froyo的用户几乎可以自定义他们想要的一切。开放手机和成员联盟往往为用户提供更多的选择。而ios 4,通常是封闭的平台成员,管理从OS开发到设备制造的一切过程。这是一个'考虑用户的平台。从某种程度上说,Android用户推崇'自由'和'开放',他们关心的是,如果可以100%管理自己的手机,他们才不关心手机操作系统是否被称为“安卓”或“安他”。苹果用户对苹果这个品牌十分忠诚忠诚,他们愿意授权苹果为他们作出的决定。因此,尽管一些iPhone用户更喜欢物理键盘,但他们还是选择iPhone。换句话说,Android用户更关心“开放的平台”,而不是Google的品牌;而大多数iPhone用户是苹果的追随者,他们爱史蒂夫·乔布斯创造的“封闭平台”。


    Android和iPhone都具有其独特的IDE,SDK等特点。不管你信不信,不完美总是存在与这个世界,所以今天的移动平台没有完全满足用户和开发者的要求。平台的选择归结于用户和开发者的需求,本文应使用户决策更加容易。当然这篇文章的内容会因时间而失效;平台将逐步满足消费者的需求,新技术将层出不穷。


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:董光帅

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。