在开始之前,先了解背景是很有帮助的。在大约五十年前,电脑有冰箱那么大,而且价格相当于一辆跑车。后来,硬件逐渐变得更小、更便宜,功能也变得更强大。并在 1974 年,第一台个人计算机 Altair 8800 被制造了出来。不久后,微型计算机的销售量迅速的增长( 当然,微型是相比于冰箱而言 )。而商用计算机 ( 主要是大型且昂贵的主机 )的制造商 “IBM” 也决定进入这个市场。但在当时他们没有适合新硬件的操作系统。在 1980 年 11 月 6 日,IBM 和 Microsoft 签订了合同。当时的微软大概有 30 名员工,并且已经因为他们的 BASIC 产品而闻名。该产品销售了超过五十万份。
在 80 年代初期,最著名的操作系统是 CP / M,它看起来像这样:
CP / M 操作系统接口
在当时,去开发一个功能相似的新操作系统 MS-DOS 是非常明显的一步。但很快,在 1984 年苹果发布了第一台 Macintosh 计算机。它证实了,图形用户界面对没有经验的用户更具有吸引力。
Apple Macintosh System V 界面
我也不知道 Microsoft 是什么时候决定开启第一个 Windows 项目的。但在一年后,也就是 1985 年,第一个版本 —— Windows 1.0 就发布了。
模拟系统
我不认为,现在大多数用户都拥有一台能够运行 MA-DOS 的计算机,我们大概率用不到它。测试任何老系统最简单的办法就是在模拟器中运行它。而更好的办法是 “玩” 实际的磁盘映像并运行 “真实的” 软件。这会帮助你真正的理解它运行的方式。有两种方式可以做到这一点。
可以使用这个不错的网站: https://www.pcjs.org/software 。它可以在浏览器中直接运行各种各样的操作系统的图像。
第二个办法是在你的电脑上安装 DOSBox 模拟器,它可以运行任何系统。从 Windows1.0 到 Windows95 它都可以。
标准 DOSBox 只有命令行支持,并且它还有点烦人,尤其是从 img 文件安装外部驱动器时。我使用的是 DOSBox SUV Daum 版本,它有一个更友好的用户界面:
DOSBox[1] 模拟器
( [1]DOSBox 是一个软件。它是当前在 Windows、Linux,macOS、Android 系统运行 DOS 游戏的较为完美的解决方案,该软件不仅能支持相当多的游戏实现正常运行,而且能将声音完美表现出来。)
现在,我们准备就绪。开始吧!
Windows 1.01(1985)
版本 1.01 是 Windows 的第一个公开版本。让我们看看 Windows 的第一版安装程序是什么样子。
Windows 1.01 安装程序
开机标志:
Windows 1.01 启动标志
启动后的用户界面:
Windows 1.01 界面
Windows 1.01 显然已经有了一个非常基础的设计,大多数的 UI 组件 —— 窗口,滚动条,菜单都已经存在。“复制” 和 “粘贴” 功能也可以适用于应用程序之间。但此操作仅限于文本,还并不能复制和粘贴文件或文件夹。鼠标的功能也是有限的,就和 MAC 的一样,第一个鼠标只有一个按键。还有另一个有趣的功能 —— 窗口可以最大化或调整大小,但只能在一个垂直维度上操作。并且,很明显,应用程序之间还没有 Alt+Tab 切换,也没有桌面壁纸等等的功能。
当然,还可以进行某种可视化文本的编辑:
Windows 1.01 文本编辑器
其他的一些应用,如计算器 / 日历,都是可以使用的。但可以使用的应用是有限的。
Windows 1.01 日历
这是 Windows 中所有可执行文件的清单。如我们所见,它不是很长。
Windows 1.01 文件夹中的可执行文件
我经常会读到一些 “初代 Windows 只是一个基于 MS-DOS 的外壳” 的观点。但它其实只有 50% 是正确的。在 Windows 中运行 MS-DOS 的应用确实可行。而且我相信,很多人确实这样使用过它。但全新的 GUI API —— 图形用户界面被制造了出来。这个 API (应用程序接口)允许其他开发者去制作新软件,不仅可以在 Windows 本地运行,还可以使用很多新类型的控件 —— 按钮、滚动条、字体和其他元素。当然,这个新的 GUI(图形用户界面)和 MS-DOS 不兼容。开发者必须完全重写旧代码或从头开始制作新的应用程序。如果我们尝试在 MS-DOS 中去运行 Windows1.0 的应用程序,我们会看到一个错误反馈:
MS-DOS[2] 模式下的错误信息
( [2]MS-DOS(微软磁盘操作系统),是美国微软公司提供的磁盘操作系统。在美国微软公司推出 Windows1.0、Windows3.0、Windows 95 以前,磁盘操作系统是 IBM PC 及兼容机中的最基本配备,而 MS-DOS 则是个人电脑中最普遍使用的磁盘操作系统之一。)
因此,Windows 不仅是像 Norton Commander[ 3 ] 一样,是基于 MS-DOS 的一个外壳,它也拥有自己的 API 和 UI 库。这也算是一种 “鸡与蛋” 的问题:因为,当新的操作系统发布时,它是没有应用程序的。而且,我也不知道,第一个 Windows 1.0 API 是公开的,还是之后为第三方开发者发布的。
( [3]Norton Conmmander 4.0 是美国 Symantec 公司推出的一套 DOS 下的 SHELL 软件,它的功能极其强大,界面快捷友好,是用户必备的工具软件。)
与 Apple 的 Macintosh 相比,第一版 Windows 的功能很有限。但至少,它是 MS 开发者的一个开始。更重要的是,IBM PC 比 MAC 便宜将近 30%。并且,在 640*840 分辨率的 9-12 英寸显示器上,屏幕上有多个窗口并没有那么重要。对于许多应用程序,就算使用全屏文本模式的界面设计也足够了。
为了展示一下基于文本的 UI 的外观,让我们来看看 Lotus 1-2-3:
Lotus 1-2-3 的用户界面
这是用于 MS-DOS 的 Microsoft Word1.1,只是为了好玩:
用于 MS-DOS 的 Microsoft Word1.1
与此相比,即使是第一版 Windows UI,也是向前迈进了一步。我也能想象到在那样短的时间内,从头开始制作一个全新的系统,应用程序和实用程序,是多么的艰难。最后但很重要的一点是,Windows 1.0 支持开箱即用的彩色屏幕。
Windows 2.1(1988)
我不知道有多少开发人员在 Windows 团队中工作。但我们可以看到几年内,界面设计就有了改进:
Windows 2.1 界面
它仍然没有桌面,没有开始按钮,也没有任务栏。如果一定要,也只有最小化应用程序的图标可以在屏幕上移动。实话说,这些改变看起来没有我想象中的那么巨大。我猜主要的原因可能是因为当年微软的主要利润来源不是 Windows,大部分开发者忙于其他的项目。
很有趣的是,直到今天,我们仍然可以看到一些应用,如 Notepad,依旧没有改变太多。
Windows 2.1 Notepad[4]
( [4]notepad(记事本)是一种代码编辑器,也是 Windows 操作系统中的程序,用于文本编辑,在文字编辑方面与 Windows 写字板,Office 功能相当。)
连接功能非常有限,互联网还没有被发明。该终端的应用程序,被允许在使用调制解调器[5] 拨打电话。
( [5]调制解调器,是调制器和解调器的缩写 ,一种计算机硬件,它能把计算机的数字信号翻译成可沿普通电话线传送的模拟信号,而这些模拟信号又可被线路另一端的另一个调制解调器接收,并译成计算机可懂的语言。)
Windows 2.1 通讯终端
有趣的是,使用每秒 1200 位的连接速度,可能需要十分钟才能加载出这篇文章。但是,当时 HTML 还没有被发明。
Windows 3.0(1990)
Windows 3.0 比它的前辈还成功,第一年就卖出了 400 万份。
Windows 3.0 启动标志
有趣的是,界面设计的趋势 “回归” 到了扁平化和低饱和颜色,即使在今天,它的界面看起来依旧很不错。
Windows 3.0 界面
文件管理器和程序管理器变成了独立应用程序。最后,文件可以被缩放(顺便一提,MAC 在几年前就可以使用了)。但它仍然无法使用长文件名 —— 这种 DOS 遗留和所谓的 “8.3 文件名” 在 Windows95 之前一直存在着。
Microsoft Word 2.0C 安装程序
编辑器本身是有足够的文本处理功能
Microsoft Word 2.0C 界面
MS Word 安装程序只有 8MB 的大小。
Windows 3.1(1992)和 3.11(1993)
这是我们评论中的最后一个版本:
Windows 3.1 界面
从 UI 的角度看,仍是有许多不同的。最值得提的点有三个:
- 添加了 TrueType 字体支持。这些是使用贝塞尔曲线的矢量字体,并且可以在不损伤质量的情况下轻松的缩放。TTF 格式的文件直到今天也仍在使用。
- 就像我们在这张照片上看到的那样,该版本添加了媒体播放器和录音机应用。多媒体的新时代开始了。第三方开发者也开始制作音频处理程序。
Creative WaveStudio 编辑器
- 该版本还添加了 TCP / IP 支持。最后,电脑获得了连接互联网的能力。(尽管当时大多数人不知道这个词。)
Windows 3.11 TCP/IP 设置
另一个重要的里程碑:Photoshop 在 1992 年第一次发布适用于 Windows 的版本 —— Photoshop2.5。
当时还不支持使用图层,并且打开这张 8 万像素的图像大概需要 5 秒(这对当时来说是个巨大的尺寸)。令人惊讶的是,它的界面并没有太大改变。总的来说,这个版本可以进行基本的图像操作(裁剪、层次、曲线、添加文本、应用简单的过滤器:如模糊或锐度。)
Photoshop2.5 界面
编程
最后一件必须要提的事 —— 编程中的新概念。它于 1991 年,在微软的 Visual Basic 1.0 版本中发布,并成为了一个新兴的 IDE(我也不知这个词在 1991 年是否存在)。它可以使应用程序资源和事件处理程序进行可视化编辑,这种方法一直沿用至今。
Microsoft Visual Basic 1.0 界面
我们可以创建一个项目并编辑它(我不确定 Basic 是否真的是一个编译器)。之后就可以获得在 Windows 本地运行的 exe 文件。
使用 VB 制作的 Hello World 应用程序
我不知道 Windows 各版本之间的兼容性如何,但遗憾的是,我不能在 Windows10 中运行这个项目。
Windows 10 中的错误提示
Windows10 的文件属性中有一个 “兼容模式” 选项,但可选择的最低版本是 Windows95。并没有 Windows3.1 的程序使用支持。
对了,Visual Basic.NET 今天依旧存在。感兴趣的朋友可以试试看,看看是否可以打开 20 年前制作的 1.0 版本的项目。
结论
很开心可以了解 Windows 的演变。在不到十年间,Windows 从一个只有 1.5MB 大小的超简版演变成了一个成熟的系统。