Android之父 实际上在General Magic公司负责MagicCap开发的工程师中有一位叫作Andy Rubin的年轻人。 这名年轻人在General Magic公司解散一年之后创立了一家面向移动终端的OS开发的创业公司。和General Magic公司一样,硬件的开发交由外部公司,本公司集中精力于OS的开发。但是和General Magic公司只向自己的合作公司提供OS不同的是,Andy Rubin的公司免费向其它公司提供OS和APP开发环境。 由Andy Rubin创立的公司正是现在的“Android”。后来这家公司被美国的Google公司收购,而Android这一公司名也就只能作为OS的名称而保 留了下来。现在被称之为Android之父的Andy Rubin在公司被收购之后留在了Google公司并且负责Android业务(现在负责机器人的开发)。 iOS之父 如果说Android之父是MagicCap的开发者Andy Rubin,那么能称得上是“iOS之父”的又是谁呢? 实际上苹果公司在推出MagicCap终端的几年前就已经销售一款叫作“Newton”的小型终端。但是遗憾的不论是设备还是开发环境当时都非常昂贵最终没有普及开来。 现在的iPhone的OS“iOS”的先祖即不是来自苹果公司开发出来的Newton也不是来自苹果子公司开发出的MagicCap,而是另有来源。是苹果的创始人Steve Jobs。 General Magic公司正在开发MagicCap的时代,作为苹果公司创始人的Steve Jobs从苹果公司离开,并且创立了“NeXT Computer”这家公司,并且开发出了一款叫作“NeXT”的高性能电脑。与此同时开发了一款叫作“NeXTSTEP”的OS。 NeXTSTEP 是通过叫作“ObjectOriented”的新型方法开发出来的一款OS。NeXTSTEP的APP通过“ Objective-C”这种新的编程语言来开的。 Objective-C不仅可以使APP开发变得更加有乐趣而且性能非常高,是一种具有划时代意义的编程语言。 虽说从技术上来讲是绝佳的,但是结果却和MagicCap一样,NeXT电脑最终在商业上也没有获得成功。但是NeXT并没有消失,而是被苹果公司收购作为苹果公司的技术而被保留下来。 那个年代的OS 那个年代的电脑不论是Macintosh还是Windows都尚不稳定,使用过程中会突然出现重启,电脑突然出现问题,软盘或硬盘出现故障导致数据无法读写的情况并不少见。不论是微软还是苹果公司都因此伤透脑筋。 故障最大的原因在于OS上的应用的运行结构。当时电脑用的OS还处于比较原始的状态。在电脑运行的所有软件只能一个一个地按顺序利用CPU。CPU同时只能执行一个程序命令。 你可以想象一下只有一位收银员的超市的客户排队情形。把客人想象为APP和OS,收银员是CPU就可以很好地理解了。某个应用在运行的时候包括OS在内的其它软件都得停止,等待CPU空闲下来。 并且当时的OS已经停在收营员的前面了,但是那些不受控制的APP却停不下来。这些不受控制的APP一直占用着CPU,导致OS本身不能使用CPU,OS自然也就无法运行。 微软计划通过开发一款叫作Windows NT的新型OS来处理这种故障。具体来讲就是通过采用“preemptive multitasking”这一结构来使系统达到飞跃性稳定。 简单来说“preemptive multitasking”就是通过在短时间内让所有的APP都强制停止,而让其它的APP运行的一种结构。以刚刚超市的例子来讲,“在收银员前面停留的时间设定为1人10秒,短时间之内立即就可以切换到其它人。” 也就是说在收银员处需要花1分钟以上的人必须要在收银员处按顺序排6次以上的队。这样一来虽然对于花时间长的人而言变得麻烦了,但是却不再会因为一个人不遵守规定而出现死机现象了。Windows NT就是采用这样的一种结构。 另 一方面苹果公司希望通过采用NeXTSTEP的技术来强化Macintosh的OS。NeXTSTEP和Windows NT一样也采用了“preemptive multitasking”这一技术。而NeXTSTEP是以“UNIX”为基础开发出来的,而UNIX可以回应“preemptive multitasking”。NeXTSTEP和Windows NT一样可以稳定地运行正是苹果公司收购NeXT的原因。就这样Steve Jobs再次回归苹果公司。 以NeXTSTEP为基础开发出来的OS叫和“Mac OS X”(图3)。而APP的开发使用“ Objective-C”这一点也因此保留了下来。而“Mac OS X”也因此作为iPhone的OS的基础而被采用,这样一来才产生了“iOS”。 图3:iPhone搭载的“iOS”是以Mac OS X为基础产生出来的。而Mac OS X又是以Jobs创立的NeXT Computer的“NeXTSTEP”为基础产生的。 现在我们使用iPhone的时候,画面上能够看得到的部分,例如“设置”和Home画面等等都是在Mac OS X的基础上再次添加进去的,只不过是iPhone的表面的软件而已。 iOS的本质部分是jobs亲自开发的现在仍在延续着的NeXTSTEP和Objective-C。随着iPhone的普及Objective-C的知名度也变得很高。如果去书店查看关于编程类的书籍的话,一定可以看到很多很多的Objective-C的书籍呈现在那里。 苹果子公司的技术人员创造了Android,而离开苹果公司后的乔布斯的技术成了iOS的来源基础。这多少让人觉得有些讽刺。这也是苹果一直将安卓列为侵权 产品的缘由。苹果方面表示,Android系统创始人Andy Rubin有关Android系统的理念之一诞生于他供职苹果期间。另外当时时任谷歌CEO的施密特为苹果董事会成员,乔布斯认为安卓系统赤裸裸剽窃苹果 技术。HTC、三星等也都成为了苹果起诉的对象。 |