当前位置: 六合联盟宝典大全 > 数据库 > 正文

乔布斯传,一些概念

时间:2019-08-26 08:53来源:数据库
败亦伟大 说NeXT是乔布斯的滑铁卢,一点儿都不为过。如果不是被苹果收购,乔布斯在NeXT将败得血本无归。但失败和失败也不完全相同。有的失败轻于鸿毛,有的失败则重于泰山。 Ne

败亦伟大

说NeXT是乔布斯的滑铁卢,一点儿都不为过。如果不是被苹果收购,乔布斯在NeXT将败得血本无归。但失败和失败也不完全相同。有的失败轻于鸿毛,有的失败则重于泰山。

NeXT虽然失败了,但NeXT留给苹果和电脑产业的遗产,其价值无法估量。

NeXT留给这个世界的第一份重要遗产,是NeXT的操作系统。这当然要归功于操作系统研发大师阿维·特凡尼安。

虽然销售业绩不佳,但NeXTSTEP仍足以在操作系统发展史上,占据一个里程碑式的地位。强大的Mach内核让NeXTSTEP拥有了超凡的性能和近似UNIX系统的稳定性。设计优雅的OpenStep接口标准,让操作系统和应用程序之间的交互更加清晰、简洁。更重要的是,NeXTSTEP操作系统创造性地将面向对象的开发方法与操作系统的应用开发接口完美结合,大幅降低了软件开发和维护的难度。

面向对象的特性是乔布斯大为推崇的亮点,他说:「当我1979年到施乐访问,看到图形用户界面的时候,在短短10分钟里,我就清楚地知道,世界上每一台电脑都应该像这样工作。你可以质疑,这个变革究竟需要花多长时间。你也可以质疑,在这个过程里,到底谁会胜出,谁会失败。但没人可以否认,世界上所有电脑最终都将在图形用户界面下工作。面向对象技术也是一样。一旦你理解了面向对象技术,你就会知道,世界上所有软件最终都将使用面向对象技术开发。你可以质疑这个过程需要花多少年,可以质疑谁会胜出谁会失败,但这个转变必然发生。」

乔布斯返回苹果后,一直在推动NeXT操作系统与Mac OS的整合工作,但因为技术上的困难,这项工作花了好几年的时间。其间,Copland项目研发的不少新技术被融入到了Mac OS 7的升级版Mac OS 8中,后续的Mac OS 9则是这个系列的最后版本。

1999年,基于NeXT技术研发的全新操作系统Mac OS X(最后这个X是罗马数字10的意思,表示Mac OS 9的后继,但事实上已经是全新的操作系统了)的服务器版。2001年3月24日,桌面版的Mac OS X正式发布。直到今天,所有苹果笔记本、台式机上运行的操作系统,都是NeXT当年打下的基础,就连iPhone手机和iPad平板电脑上使用的iOS操作系统,也是NeXT一脉传承的结果。

Mac OS X和iOS操作系统在设计上将NeXT操作系统内核的稳定性,面向对象开发的便捷性和苹果Mac OS天生就具有的超凡用户界面结合得天衣无缝。乔布斯回归后,苹果之所以能起死回生,又能在2007年后凭借iPhone和iPad等「神器」在消费电子领域横扫千军如卷席,NeXT操作系统留下的遗产可谓居功至伟。

顺便提一下,Mac OS X的每个版本都有一个公开的代号,而且都是猫科动物的名字。即便是不懂软件原理的人,看到这些有趣的名字,也会一下子喜欢上苹果的操作系统。

Mac OS X版本 发布时间 猫科动物代号

10.0 2001年3月 猎豹(Cheetah)

10.1 2001年9月 美洲狮(Puma)

10.2 2002年8月 美洲豹(Jaguar)

10.3 2003年10月 黑豹(Panther)

10.4 2005年4月 虎(Tiger)

10.5 2007年10月 豹(Leopard)

10.6 2009年8月 雪豹(Snow Leopard)

10.7 2011年6月 狮(Lion)

NeXT留给这个世界的第二份重要遗产,是经过重重磨难后回归苹果的乔布斯乔帮主。

12年前,乔帮主愤然离开苹果时,还是一个在管理上极不成熟的小伙子。12年间,像奥德赛一样漂泊在外的乔帮主经历了太多的挫折和失败。在这12年里,虽然事业不顺,乔布斯的个人生活却有了着落。他终于放弃了嬉皮士一样放荡不羁的生活方式,娶妻生子,有了美满的家庭。

无论遭遇过多少磨难,无论生活状态如何变化,乔布斯用技术改变世界的梦想始终都没有变。12年后,回到苹果的乔帮主是不是已经足够成熟,可以在他钟爱的苹果一展身手?他能不能再次创造奇迹,让苹果再次震撼世界呢?

这一次,乔帮主不是一个人在战斗。从NeXT跟随乔布斯来到苹果的,还有他身边的左膀右臂──软件研发大师阿维·特凡尼安和硬件研发大师乔恩·鲁宾斯坦,这些人都是NeXT留给乔布斯和苹果的无价之宝。

NeXT成长过,失败过。乔布斯迷茫过,沮丧过。但NeXT远没有完结。NeXT留下的人和技术正在苹果悄悄积淀和凝聚,等待着一飞冲天的时刻。

iOS

2007 年 1 月 9 日苹果公司在 Macworld 展览会上公布,随后于同年的 6 月发布第一版 iOS 操作系统,最初的名称为 “iPhone Runs OS X”。

2007 年 10 月 17 日,苹果公司发布了第一个本地化 iPhone 应用程序开发包(SDK),并且计划在 2 月发送到每个开发者以及开发商手中。

2008 年 3 月 6 日,苹果发布了第一个测试版开发包,并且将 “iPhone runs OS X” 改名为 “iPhone OS”。

iOS 是由苹果公司开发的移动操作系统 。苹果公司最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。原本这个系统名为 iPhone OS,因为 iPad,iPhone,iPod touch 都使用 iPhone OS,所以 2010WWDC 大会上宣布改名为 iOS。

UNIX

UNIX,一种电脑操作系统,具有多任务、多用户的特征。于 1969 年,在美国 AT&T 公司的贝尔实验室开发出来,参与开发的人有肯 · 汤普逊、丹尼斯 · 里奇等。

Linux

Linux 是一种自由和开放源代码的类 UNIX 操作系统。该操作系统的内核由林纳斯 · 托瓦兹在 1991 年 10 月 5 日首次发布。在加上用户空间的应用程序之后,成为 Linux 操作系统。Linux 也是自由软件和开放源代码软件发展中最著名的例子。只要遵循 GNU 通用公共许可证,任何个人和机构都可以自由地使用 Linux 的所有底层源代码,也可以自由地修改和再发布。

APP

应用程序(外语缩写:App;外语全称:Application) 。是指设计给智能手机、平板电脑和其他移动设备上运行的应用程序。

OOP

面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。

Objective-C

Objective-C 是一种通用、高级、面向对象的编程语言。它扩展了标准的 ANSI C 编程语言,将 Smalltalk 式的消息传递机制加入到 ANSI C 中。

现在 Objective-C 是 OS X 和 iOS 操作系统、及与其相关的 API、Cocoa 和 Cocoa Touch 的主要编程语言。

Swift

Swift,一种支持多编程范式,编译式编程语言,由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序。2014 年,在 AppleWWDC 所发布,设计 Swift 时,苹果公司有意让 Swift 与 Objective-C 共存在苹果公司的操作系统上。

MVC 模式

MVC 模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

  • (模型 Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计 (可以实现具体的功能)。

  • (视图 View) - 界面设计人员进行图形界面设计。

  • (控制器 Controller)- 负责转发请求,对请求进行处理。

框架 Framework

Framework 是一些类的集合,通常是一些可能一起使用的类集合。换句话说,这些类被一起编译成可复用的代码库(library of code)。所有相关的资源和代码库一起放入一个带扩展名 “.framework” 的目录。框架的功能类似于动态库,即可以在运行时动态的载入应用程序的地址空间,但框架作为一个捆绑 (计算机)而非独立文件,其中除了可执行代码外,也包含了资源,头文件和文档。

库(英语:library)是用于开发软件的子程序集合。库和可执行文件的区别是,库不是独立程序,他们是向其他程序提供服务的代码。

库链接是指把一个或多个库包括到程序中,有两种链接形式:静态链接和动态链接,相应的,前者链接的库叫做静态库后者的叫做动态库。

类库

类库(Class library)是指一个类的集合。

一组在多个工程中可能会被重复使用的类,可以作为一个类库共享给其他相关的开发者。

类库不等于框架(Framework),Framework 是比类库更高一级的概念。

封装

在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式界面的实作细节部分包装、隐藏起来的方法。同时,它也是一种防止外界呼叫端,去存取物件内部实作细节的手段,这个手段是由编程语言本身来提供的。这两个概念有一些不同,但通常被混合使用。封装被视为是面向对象的四项原则之一。(继承?多态?)

适当的封装,可以将物件使用界面的程式实作部分隐藏起来,不让使用者看到,同时确保使用者无法任意更改物件内部的重要资料。它可以让程式码更容易理解与维护,也加强了程式码的安全性。

SDK

软件开发工具包(Software Development Kit,缩写:SDK)一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。

它或许只是简单的为某个程序设计语言提供应用程序接口的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。

JDK

Java Development Kit(JDK)是太阳微系统针对 Java 开发人员发布的免费软件开发工具包(SDK,Software development kit)。

自从 Java 推出以来,JDK 已经成为使用最广泛的 Java SDK。由于 JDK 的一部分特性采用商业许可证,而非开源。因此,2006 年太阳微系统宣布将发布基于 GPL 协议的开源 JDK,使 JDK 成为自由软件。在去掉了少量闭源特性之后,太阳微系统最终促成了 GPL 协议的 OpenJDK 的发布。

IDE

集成开发环境(Integrated Development Environment,缩写:IDE)。IDE 集成开发环境软件是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。

XCode

Xcode 是苹果公司向开发人员提供的集成开发环境(IDE),用于开发 Mac OS X 和 iOS 的应用程序。

API

应用程序接口(Application Programming Interface,缩写:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。

UI

用户界面(User Interface,缩写:UI)。UI 设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。

GUI

图形用户界面(Graphical User Interface,缩写:GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。

Cocoa

Cocoa 是苹果公司为 Mac OS X 所创建的原生面向对象的编程环境,是 Mac OS X 上五大 API 之一(其它四个是 Carbon、POSIX、X11 和 Java)。

对最终用户来说,使用 Cocoa 编程环境开发的应用程序即为 Cocoa 应用程序。这类应用有独特的外观,因为 Cocoa 编程环境让程序在多方面自动遵循苹果公司的人机界面守则。

Cocoa 是从 1980 年代由 NeXT 开发的编程环境 NeXTSTEP 和 OPENSTEP 演变而来,这点可由其类之名皆以 NS 前缀(代表 NeXTSTEP)看出端倪。苹果电脑公司在 1996 年 12 月收购了 NeXT。开发 NeXTSTEP 和 OPENSTEP 的大量工作都转化到了 Mac OS X 中,最显而易见的部分当属 Cocoa。但差异也存在。

Cocoa 包含两个主要的 Objective-C 对象库,称为 “框架”。框架的功能类似于动态库,即可以在运行时动态的载入应用程序的地址空间,但框架作为一个捆绑 (计算机) 而非独立文件,其中除了可执行代码外,也包含了资源,头文件和文档。

  • Foundation:“Foundation 工具包” 的简称,首先出现在 OpenStep 中。在 Mac OS X 中,它是基于 Core Foundation 的。作为通用的面向对象的函数库,Foundation 提供了字符串,数值的管理,容器及其枚举,分布式计算,事件循环,以及一些其它的与图形用户界面没有直接关系的功能。其中用于类和常数的 “NS” 前缀来自于 Cocoa 的来源,NeXTSTEP。它可以在 Mac OS X 和 iOS 中使用。

  • AppKit:(Application Kit)“应用程序工具包” 的简称。AppKit 是直接派生自 NeXTSTEP 的 AppKit 的。它包含了程序与图形用户界面交互所需的代码。它是基于 Foundation 创建的,也使用 “NS” 前缀。它只能在 Mac OS X 中使用。

NeXTSTEP

NeXTSTEP(又写作 NeXTstep、NeXTStep、NEXTSTEP[1]) 是由 NeXT.Inc 所开发的操作系统。这套系统是以 Mach 和 BSD 为基础,以 Objective-C 作为原生语言,具有很先进的 GUI 接口。

OpenStep

OpenStep 是一组面向对象的 API,大部分是由 NeXT 与 Sun Microsystems 开发。作为一种面向对象的操作系统的规范,有一些现代操作系统用它作为核心。对于 OpenStep 一个重要的认识是,它只是一组 API 规范,而 OPENSTEP(一定要大写)是由 NeXT 开发的一个 OpenStep 的特殊实现。尽管它构建于 Mach-即基于 Unix(也是 NEXTSTEP 的核心),OPENSTEP 的同样有在 Solaris 和 Windows NT 上的版本。此外,OPENSTEP 库(由 OPENSTEP 操作系统提供的库)实际上已经成为了原始 OpenStep 规范的超集。

Cocoa Touch

Cocoa Touch 是苹果电脑公司的用户界面软件框架,用于在 iOS 操作系统上开发应用软件来运行在 iPhone, iPad 和 iPod Touch 上。

Cocoa Touch 主要提供以下两个 “框架”,用于开发运行在 iOS 上的应用系统:

  • Foundation:“Foundation 工具包” 的简称。

  • UIKit:(User Interface Kit)“用户界面工具包” 的简称,是用于 iOS 的图形用户界面工具包。与 AppKit 不同,它使用 “UI” 的前缀。

Interface Builder

Interface Builder(缩写:IB),是用于苹果公司 Mac OS X 操作系统的软件开发程序,是 Xcode 套件的一部分。

Cocoa 和 Carbon 开发者可以使用 Interface Builder 来创建和修改应用程序的图形用户界面。其数据以 XML 的形式被储存在. xib 文件中,xib 是 “eXtensible Interface Builder” 的缩写。在过去,其数据则是储存在. nib 文件中的,nib 是 “NeXT Interface Builder” 的缩写。

Interface Builder 是继承自 NeXTSTEP 的开发套件的。OpenStep 的开发也使用了 IB 的一个版本,而 GNUStep 则使用一个非常类似的,称为 Gorm 的工具。

2008 年 3 月 27 日,随着 iPhone SDK Beta 2 的发布,IB 开始提供对 iPhone 程序开发的支持,允许开发者使用 IB 设计 iOS 应用程序的界面。

XML

可扩展标记语言(英语:extensible Markup Language,简称: XML),是一种标记语言。

标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。

如何定义这些标记,既可以选择国际通用的标记语言,比如 HTML,也可以使用像 XML 这样由相关人士自由决定的标记语言,这就是语言的可扩展性。

XML 是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL 和 XPath 等。

DLL

动态链接库(英语:Dynamic-link library,缩写为 DLL)是微软公司在微软视窗操作系统中实现共享函数库概念的一种实作方式。这些库函数的扩展名是. DLL、.OCX(包含 ActiveX 控制的库)或者. DRV(旧式的系统驱动程序)。

所谓动态链接,就是把一些经常会共用的代码(静态链接的 OBJ 程序库)制作成 DLL 文件,当可执行文件调用到 DLL 文件内的函数时,Windows 操作系统才会把 DLL 文件加载存储器内,DLL 文件本身的结构就是可执行文件,当程序需求函数才进行链接。通过动态链接方式,存储器浪费的情形将可大幅降低。静态链接库则是直接链接到可执行文件。

DLL 的文档格式与视窗 EXE 文档一样——也就是说,等同于 32 位视窗的可移植执行文档(PE)和 16 位视窗的 New Executable(NE)。作为 EXE 格式,DLL 可以包括源代码、数据和资源的多种组合。

在更广泛的意义上说,任何同样文档格式的电脑文件都可以称作资源 DLL。这样的 DLL 的例子有扩展名为 ICL 的图标库、扩展名为 FON 和 FOT 的字体文档。
<br /> <br />
补充资料:http://blog.163.com/lyzaily@126/blog/static/42438837200932565132635/

编辑:数据库 本文来源:乔布斯传,一些概念

关键词: 六合在线网