Windows上面为什么没有Gnome、KDE、Xface这些比较成熟的第三方桌面环境?
在Linux上面,有很多桌面环境。
但在我看来,其实都是对其它操作系统桌面的“模仿”。
Gnome,模仿MacOS,简约大方,一打开Settings,更是慢慢的Mac的“启动台”味道。
图片
如果不是图标透着浓浓的“塑料”气息,布局跟Mac非常像。
KDE,Windows Style,标志性的开始按钮,开始菜单。当然KDE也提供了更多的配置选项。
图片
那么Xface呢?
它模仿了谁?
虽然它很快,但也太简陋了,模仿谁都不像。
图片
那为什么Linux上面要出现这么的桌面环境,而Windows却只有官方一家独大呢?
原因很简单,Windows的UI是跟Windows系统紧密结合的,是Windows的一部分。
我们从正式的Windows版本开始,也就是不算Windows 3.1、3.2这种运行在DOS之上的系统,从Win95开始。
Win95的发布日期是1995年8月24日,从那时起Windows就是图形界面。
一直到Win2008 Server以后,也就是2008-1995=13年之后,Windows才推出了名为“server core”的版本,不带GUI界面,能让用户只安装Linux那样的一个黑色小窗口。
一个跟GUI界面如此血肉相连的系统,其它的公司根本没有办法微软公司官方的GUI界面相竞争,一方面是微软确实是最强大的软件公司之一,有顶尖的程序员和设计师帮忙设计Windows界面,各种经典。
WinXP桌面壁纸
Win7的玻璃界面
Win10的“方块”设计
每一个,无疑都是界面设计领域的巅峰。
另外一个方面,桌面是系统组件,在没有源代码的情况下,开发这种核心组件需要的难度很高,几乎是不可能完成的任务。
就算能够在某个版本,达到了比肩Windows默认界面的程度,Windows的持续更新,也让这种比肩慢慢落后,更何况还有很强的稳定性要求。
如果设计了一个界面,如何解决右键菜单显示项的问题呢?
如果保证每一个文件类型,都能完美对应原来的Windows选项呢?
如果解决像WinRar等稀奇古怪的ShellAPI挂接呢?
这都是新桌面需要解决的问题。
而Linux则开始并不是一个有GUI界面的系统,都是黑漆漆的窗口。
后来,MIT的2位工程师编写了X Windows,后来被移植到各种平台,成为Unix/Linux上面的GUI标准。
X的设计之处,是服务器/客户端模式,没错,需要一个服务器来绘制,和移动窗口,处理键盘和鼠标的输入。另外还需要一个客户端把服务器绘制的内容显示出来。
但是GUI的显示样式并没有做出规定,包括按钮的样式,菜单的样式、窗体按钮放在左边还是右边。
负责样式的是窗口管理器(Windows Manager),这就是Gnome、KDE、Xface,他们负责细节问题。
从这里可以看出,其实Linux上面这些桌面环境,都是慢慢“生长”出来的,而不是和Windows一开头就是桌面环境。
Gnome、KDE、Xface分别属于不同的团体、不同的公司,但是都是基于X Windows的“实现跟机制分离“,而能够统一在Linux上面工作。
同Window不同,他们是跟Linux系统本身是分离的。
随着时间的发展,这些桌面环境也不断的完善,才有现在相对比较好的表现,但跟Windows、Mac相比,他们依然在内存占用、稳定性方面有比较大的差距。
从上面的发展过程,我们可以看出,是土壤让树木结出了不同的果实。