|
frankincense 发表于 2013-7-26 08:16
你搞错了顺序。
是因为Intel主导互联总线的硬件标准(关键的还有这些标准都是免费开放的)、微软制定软件 ...
其实一句话就能概括windows跟osx竞争的关键了,windows看中了商用市场,osx看中了消费级市场,过去20年,商用市场是主导,所以windows赢了。
不知道你赞同吗,微软最强的技术其实就是COM,更根本,windows的核心就是一个工业标准,来自硬件和软件的双重工业标准。
COM主要有两个方面:
1,硬件标准。DirectX只是COM在娱乐部分的接口的独立名称而已,比如说DirectDraw,是基于COM的2D驱动接口。Direct3D是基于3D的接口,DirectShow是播放器的通用接口(这个接口包含了硬件和软件两部分,滤镜之类都属于DirectShow的一部分)。
Windows在95创造性提供了COM接口,从此,软件人员脱离了必须为自己软件开发众多种驱动程序的苦恼,94年我开始学习写代码的,当时很典型的就是,游戏必须自己写中文系统,自己写几十种视频驱动,几十种音频驱动,甚至wps这种软件要支持众多打印机驱动。
Windows95结束了这个,微软提供了固定的接口,从此软件无需关心硬件种类,只要通过一个固定的驱动级软件接口就可以编写程序了。
微软90年代的书籍很多都炫耀这个,很多微软的资料里面都提到过,COM是微软最伟大的发明。
Mac和Linux在商用领域失败,主要的因素,就是它们没有COM这种东西,也就是没有工业标准,所以在当时众多的商用硬件角度上,无能为力,所以windows即使比mac卖的贵3倍,也仍然有市场,它们有根本性区别。
2,软件标准,COM发展出来高等级的软件标准,典型的就是OLE和ActiveX。OLE可以让Office变成一个控件,你的程序可以随便嵌入一个word或者excel,这个使得office迅速成为一些办公软件的必备东西,也容易集成在自己的软件内。
ActiveX则更简单,你可以把视频播放器之类很容易嵌入到自己的程序内,这大大提高了低等级程序员能做的事情。
但是根本来说,COM都是基于商用领域的提升,消费级市场意义并不大。mac缺少这个东西,所以在当时的竞争中处于劣势,当时mac新系统无法运行老硬件,或者新系统无法运行老程序,这在商用领域完全无法接受,所以mac失掉了大部分市场。
你举得DirectX并不恰当,实际上DirectX是封闭后的结果,DirectX在8.0在获得跟opengl较为平级的市场,在Direct9时期才确认了领先,逐渐走向封闭。
初期在硬件高速发展的时候,每家显卡商都有独立扩展,所以早期的OpenGL是被扩展出超多种属性,DirectX在初期根本跟不上OpenGL,跟现在WP IOS追不上安卓硬件类似,当时类似安卓现在,游戏需要为不同显卡,下载不同版本的程序和资源(安卓数据包)。在显卡发展出较稳定的规则以后,也就是DirectX在8.0的时候,差不多兼容了主要的显卡的一些标准,然后大家都纷纷转用DirectX,减少分化版本的数量。到了9.0,DirectX开始获得优势,并且在a b c三个版本,逐渐走向封闭。
现在安卓类似,微软用rt强制了dx10 dx11,移动gpu厂商分别支持了dx,也就是以后很可能安卓也不会面临数据包的问题了,因为微软的dx的缘故,被强行标准化了。
COM的典型接口就是Query,可以询问COM的不同版本,比如说DirectX 7 8 9 之类,你能询问出不同版本api接口,DirectX10最大的不同,就是取消了这种结构,变成了,要么全支持,要么全不支持,其实已经很封闭了。
移动市场最大的不同,还是来自于,移动并不需要那么强大的工业标准,消费级领域不需要那么多的定制,这是苹果优势所在,这也是乔布斯提出后pc时代的根本,也就是windows并不适用于消费级市场,苹果专心做消费级,比windows有优势,这是ios的特点。
微软在wp和win8也是走向封闭了,更重视消费级市场了。
安卓在手机发展那么快,说白了就是一个简单因素,就是wp初期不提供c++,这样大量的软件无法移植到wp上,塞班因为内存等一些问题不适用于现在操作系统。所以大家选择安卓是一个无奈的事情,没有第二个选项而已。
wp直到现在软件丰富度还不如wm,c++加入的时间太迟了。
安卓的优势和劣势都是同样明显的,安卓比ios并没有pc,windows vs apple那种天然优势。 |
|