都说苹果系统很封闭,封闭在哪?
【冯东的回答(11票)】:
所谓「开放」,经历了几次含义的变迁。
第一次流行的「开放」是 UNIX 的发明。那时候,UNIX 的源代码是公开的,但是运行 UNIX 的机器都不是个人能负担得起的。UNIX 能被称为开放,是因为这些机器的机时是相对自由的。不用精确到小时分配给使用者。
接下来,UNIX 的代码被封闭。这时候 UNIX 仍然被称为「开放」,是因为各个 UNIX 的 API 保持大致近似。程序在不同 UNIX 之间可以相对容易的移植。
第三次流行「开放」,是 IBM-PC 建立了软件平台和硬件供应商分离的生态系统。
第四次流行「开放」,是 open source 。但是,open source 的开放恰恰是建立在硬件统一的基础上。而 IBM-PC 建立的所谓开放硬件体系,其实已经异化为高度同质化的 multi-vendor 封闭体系。随后的所有开放,其实都建立在 x86 这个被两大巨头(其中一个还是侏儒)垄断的封闭平台上。
每次「开放」的含义都不同,何谈封闭?
Android 没有同质化的统一硬件,从软件来说最封闭。OS X 不提供 multi-vendor 硬件体系就是封闭么?那第一次和第二次「开放」的含义算不算开放?LLVM、WebKit 等等体系算不算开放?
【陈翼虎的回答(8票)】:
1. 设备绑定,只允许自己的设备安装
2. 排外,以iOS为例,不允许第三方VM框架,直接给JAVA和FLASH判了死刑
3. 开发者需要购买IDP用以开发苹果的相关应用,并且只能使用有限的API进行沙盒模式的开发
这也给第三方合法的开发输入法等系统级应用制造了障碍
4. 仔细阅读IDP协议,会有很多保密和其他封闭的条款。
【姚旭的回答(10票)】:
拿ios举几个例子
1. 封闭的软件: 正常的方式下, 只有唯一的
苹果自己的软件发布渠道, 软件功能受苹果的审核, 部分功能苹果自己不做或者做的不好, 只要苹果觉得和自己的产品有功能重叠或者利益冲突, 甚至未来的战略部署, 那么别人也不能做.
比如: google voice就被苹果拿下过, 原因是和苹果自身的功能重叠; 中文输入法, 虽然苹果自己做的很烂, 但第三方的输入法也不能上架(是否还有部分API权限不开放, 我是外行, 这个不清楚) 这种例子还有很多.
2. 封闭的文件系统: 所有的用户和软件都看不到真正的文件系统, 每个软件有一个独立的文件存储区域, 结果就是在每个软件下都需要有一个文件副本. 同时, 在最新的iOS之前, 如果软件自身不提供文件读写功能的话, 就必须通过物理连线可怕的iTunes进行文件传输. 每搞一次想死的心都有. 一个视频文件, 如果某个播放器无法解码, 一定要期盼软件自身提供了文件传输功能, 否则就只能连上iTunes重传一遍. 这给软件开发者, 也带来很大的负担, 每个开发者都要同时兼顾到文件的传输功能, 本来这个功能操作系统自身就能提供. 这种重复造轮子的活, 是对开发者效率的浪费.
补充一下, 封闭是个中性词, 这是一种商业和产品的方式, 封闭也带来很多的好处, 比如软件权限控制, 防止作弊软件和病毒软件, 防止软件给操作系统带来损害, 减少操作系统因软件安装带来的不可控和不可逆转的系统损伤(需要定期重装, 或者越来越慢等等).
但是, 和当初与IBM兼容机大战时一样, 苹果依然还是一个完全封闭的大帝国, 上一次大战苹果输了, 这次对话从目前看这个封闭帝国运转良好, 开放兼容平台反而露出劣势.
【林长青的回答(3票)】:
封闭与开放,对于普通用户而言最主要的区别在于设备系统是否具有多样性 及能否自由安装各种Apps。
苹果的封闭,主要是具有统一的iOS,以及唯一的Apps 商店。
Android的开放,应该是可以给android设备安装各种定制的系统,apps也可以随意下载安装,不必局限于google market,给使用者极大的自由度。
最近给我的android手机刷了各种Rom,体会到开放所带来的弊端。
网上下载的Rom很多及其不稳地,经常出现卡死状态,一些配置很高的手机也会出现卡死的情况;
另外apps中被人内置的广告很烦人,iOS中的apps大多能秉承苹果系统的优雅。
Android的开放是善于折腾者的天堂的入口;
Apple的封闭,让你即使静止不动,也可以领略世界的美妙。
【fifth的回答(2票)】:
苹果的封闭是指Jobs一手打造的封闭产品生态链(系统),从软硬件的设计,生产到销售,全部是他一家说了算,没有任何人任何公司可以介入。其实就是独裁,你看独裁者管理的国家不都封闭么。
而微软,他虽然封闭了Windows,Office,但是他不管硬件,世界上所有的x86兼容机都可以运行他的系统和软件,开发其他应用软件。在这点上,微软算是开放的,他在一定程度上允许大家能分点羹,除非触及了他的核心利益(如浏览器)。
而Android就更加相对开放了,大家随便用。这次gg收购moto,一再提到的一个词就是ecosystem,Larry Page一再强调要打造一个开放的生态系统,就是说让大家都有饭吃,至于效果如何就要看gg接下来怎么做了
【历博文的回答(3票)】:
封閉這個說法對於普通用戶來說是毫無意義的- -
對於設備綁定來說,只要是個平台他都有設備綁定。Android也要Google ID啊,樓上第一條不算作原因。
其實換個說法就很簡單了,蘋果的兩大系統:iOS,Mac OS,官方是不允許也不授權他家廠商安裝使用。這就是他的閉源。
還有一點,開源不等於開放。Android是開源,可是它的開放程度很低,系統的定製程度跟Linux完全不在一個等級上。
iFanr有篇文是介紹各開源平台的開放程度的,地址:http://www.ifanr.com/48011
【张书豪的回答(0票)】:
封闭和开放都是相对的。 只能说,苹果的准入制度更高。 Android这几年为了不断的刷新自己App数量,有点本末倒置了。 到底是为用户提供更多的软件好,还是为用户提供更多的优秀软件好,这点很值得思考。
【久雨的回答(1票)】:
从用户层面来说,大家嘴上说的苹果封闭,就是因为他自己制定规则,然后让所有人都被迫接受他。
举例:iphone这样的产品,只能去itunes store去下载软件,想去别的地方根本没办法下载。同步歌曲,只能用itunes,其他软件做不到。这就是封闭,大家都认可的随便安装程序、随便放入音乐的规则,被苹果否定了,而你想用它的东西,就必须遵守这个无奈的规则。
【YANG的回答(0票)】:
看系统授权,开放源码,应用开发框架,用户的选择权等等。
很明显的对比。
【赵颖的回答(1票)】:
苹果搞封闭的另一个原因是,降低成本。它给代工厂的订单所需的原材料都是自己采购的,所以,代工厂的利润都在它眼里,成本也就非常好控制了。对了,还有对外封闭的产能-一体成型技术
【杨森的回答(0票)】:
从程序开发的角度来讲
苹果的封闭表现在应用程序沙盒上,简单的说就是一个程序只能拥有自己的数据,不能访问其他程序的数据,这样导致了每一个应用都是独立存在,很难交互
【陈斌的回答(0票)】:
OSX封闭,不允许其他PC装,为什么不学学Windows呢
【孟邻的回答(0票)】:
谢邀。这几天没上知乎,一上来已经这么多回答了,前几位的回答都很详细,我就说一点点自己的见解(当然,我只是开发者,写点小程序而已,对这些问题的思考并不多)。封闭一般指的是源码的开发与否,苹果最初就不开放源码,据说90年代末乔布斯和斯卡利相继离职后有过开发源码的尝试结果造成了一些问题,具体的问题和原因我就不清楚了。不过现在源码没开放是肯定的,说明苹果对自己的封闭策略还是很有信心的。苹果还有一些封闭性是它的一些规定,比如应用商店的排名规则、应用的搜索方法等。
【大圣的回答(0票)】:
封闭是相对的,mac和ios用了大量的开源技术,可以参考http://www.opensource.apple.com/,比windows开放多了,但是比不上linux和android开放。
【陈曦的回答(0票)】:
我看回答的封闭,大约就是软件、硬件一体,以及App Stores的问题吧。说微软开放,在什么样的电脑上都能安装,那微软又不做硬件,装在哪儿?而App Store的问题,这个我了解不多,不过不是所有的软件都必须在App Store上吧,像Adobe、Autodesk的官方网站不是都可以提供下载么?当然,没有Win下边软件那种遍地都是,可是,那么多的所谓可以随意提供软件的地方,有多少是正儿八经的提供正版软件的呢?
苹果的设备只能装自己的东西?哦,貌似开放性很好的安卓也不能装塞班的软件吧?
再说微软的开放性。我记得上课的时候老师提到一句话,说微软已经严重阻碍了计算机的发展。如果有企业做得好,微软就砸钱把它收购了,掐死他。这是所谓的开放吗?而且iWork兼容Office,可Office。。。。而比尔盖茨最成功的,就是把操作系统商业化了。
估计所有人在学Java和Linux的时候都会学到它们的开放性。当时对我这个穷学生最大的诱惑的就是,这玩意儿是免费的。而且对于开发者来说,这真的很好。而对于计算机/软件的发展,我个人理解没有商业化的东西是不行的。
我理解的Apple的封闭,是对开发者而言的。或者我的理解太肤浅,做java和安卓的东西的时候都能从官方得到很多帮助文档等,但是Apple是收费的。虽然,在其他途径也能得到,但是不交那99美元就没办法进入他们的官方论坛。可是软件只能从App Store获得,这块我不是十分的明白。如果自己制作了免费的小软件,发布在论坛上供大家使用,那样违法吗?
另外我硬件、操作系统学得不好,MAC是在LINUX架构上的,那么在一个开放的平台上构造一个封闭的系统,是哪种意义上的独立呢?不能获取这个系统的所有源代码吗?那么,Win下边可以吗?
【大树的回答(1票)】:
苹果对开发者确实太差了。对比ios 和 android的开发。不论是在IDE、语言、平台。全面落后android。
android有强大易用的eclipse,ios只有xcode这个恶心的工具。对于能力稍低的开发者来说EXC_BAD_ACCESS简直就是噩梦,抛出这类异常xcode可以说几乎帮不上什么忙,全靠自己一行一行的找re release的代码。多线程的调试也是相当之难用。
android开发可以java语言,os的现在的地位隔java还是有一定差距。
平台就不说了,ios的应用只能在mac的系统上跑,打包,发布等也不能用第三方的系统。曾经我想在mac系统之间把4.4g的xcode进行共享,ntfs格式的移动硬盘只能是废物,大于4g的文件直接干掉fat文件系统,最后只能用糟糕的无线慢如蜗牛的速度,而且断了之后还不能续传。
不好意思,都是抱怨。可能是我对mac的理解,对apple的理解还不够深入吧。
原文地址:知乎
联系客服