探讨Linux与微软在桌面的较量
Linux是一个年轻的操作系统,它最初是一些玩家为了自己使用而开发的。由于微软的垄断与霸权不得人心,Linux作为一个主角被推上了与微软的Windows相对抗的竞技场,赢得了广泛关注。无论在世界什么地方,只要人们向往自由,他们都会欢迎Linux。Linux有廉价、自由与开放的特性,这是它与微软竞争的主要优势。在服务端、嵌入式系统Linux已成为了主流。而在桌面上,Linux还未占据重要地位。一些Linux公司破产倒闭,部分上市Linux公司股值大幅滑坡,不少评论者开始质疑Linux走向桌面的可行性。但是,市场对Linux桌面有巨大的潜在需求:其一,Windows的垄断性高价对许多用户来说是一种负担,人们盼望有廉价替代品;其二,微软企图控制用户的倾向让人反感;其三,众多软件厂商在Windows平台下没有与微软公平竞争的机会,发展严重受限;其四,Windows的安全性让一些用户难以放心;其五,各个国家有发展自己独立信息产业的意愿。潜在需求并没有转化为实际的市占率,Linux向桌面扩展的努力还没有多少成果,Linux桌面真的失败了吗?不!笔者经过研究后认为:继成功在服务端、嵌入式系统站稳脚跟后,Linux将开始加速向桌面进军!----------------------
(一)Linux桌面迅速成熟
Linux在桌面暂时的失败我想至少有以下技术原因:
1. 没有好用的浏览器。现在上网对许多人来说已是生活的一部分,但以前在Linux上广泛使用的Netscape4.x本身浏览效果很差,在许多网站为IE优化的互联网上可谓是处处碰壁,使得一些Linux用户不得已又回到了Windows。
2. 没有做好与Windows共存的准备。当前桌面是Windows的天下,用户对Windows的依赖很深,只有极少数用户有可能将自己的系统全部转向Linux,Linux桌面要想发展首先要能够在与Windows的共存中找到自己的价值。
3. 桌面环境不是很完善。
4. 高质量的桌面应用软件、工具软件缺乏,比如开发环境和办公环境可用性不太高。
5. 易用性需要提高。
【Mozilla,通向自由世界的桥梁】
Mozilla的起源要追溯到1998年,Netscape在那场著名的浏览器大战中失败了。为了继续战斗,Netscape开放了自己的源码,创建了Mozilla计划。
Mozilla不是Netscape的简单改进,它的目标是要发动一场浏览器领域以外的“编程易做图”。这是一个在Netscape基础上彻底重新构架的产品。经过三年多的长跑,Mozilla很快就要成功了:预计在2002年4月发表具有里程碑意义的正式版本:Mozilla 1.0。
Mozilla最激动人心之处在于创造了XUL语言:一种以XML文档来描述图形用户界面的语言。XUL配合JavaScript,能够实现非常复杂的用户界面。此外还可以通过更换Skin和Locale轻松地改变界面外观和语言,通过RDF实现表现和数据相分离。
XUL使得开发高质量用户界面变得前所未有地容易,Mozilla本身的界面就是用XUL写的。
为了实现用脚本语言实现不了的功能,Mozilla引入了XPCOM:跨平台组件对象模型,开发者可以开发本地XPCOM组件,供脚本调用。Mozilla本身带有丰富的XPCOM组件,可以实现如文件操作、网络、剪贴板、拖放等常用功能。
Mozilla还引入了跨平台安装技术,用户可以把基于Mozilla的应用安装到本地,避免每次下载。
此外,就对W3C WEB标准支持的广度和深度而言,Mozilla都胜过IE。
从上可以看出,Mozilla不只是一个功能完善的浏览器,更是一个功能强大的桌面应用平台,在这个平台上开发的应用能够跨操作系统运行(并且在不同操作系统下有着一致的界面)。微软几年前全力打击Netscape时最担心的事发生了!
Mozilla为我们的应用开发提供了全新的思路。笔者有丰富的Java平台、Windows平台、以及WEB应用开发经验,对.NET也有了解。在对Mozilla进行一番研究后,发现在Mozilla平台上开发应用有以下优势:
1. 当前管理软件有向B/S结构转换的趋势。由于多数用户不能完全摆脱Windows,可以把Mozilla作为统一的应用前端,用户可以根据需要灵活选择计算机配置,打造Windows和Linux共存的协同办公环境。
2. 现在Windows桌面还占据统治地位,从市场考虑多数软件厂商不可能专门为Linux开发桌面应用。Java、QT库虽然也可以实现跨平台,但它们的技术难度比较大,另外也缺乏B/S结构的优点。Mozilla可以打消一些软件厂商的顾虑,吸引他们开发跨平台应用。
3. 由于XUL以结构良好的XML文档描述用户界面,可以很容易地用转换程序把XUL程序转换为其它语言的代码,保护研发投资。
4. 既使把应用锁定在单一的微软平台上,Mozilla也有其优势。比如和.NET比较,首先,.NET的技术难度比Mozilla大得多,其次,.NET框架不支持Win95、Win98、WinME、WinNT,而Mozilla支持从Win95开始的全线Windows产品。和IE比较,Mozilla可以用更少的努力实现比IE更好的用户界面。虽然Mozilla没有IE的易做图优势,但Mozilla经过精心设计,其安装程序当前还不到10M,并且是不依赖于注册表、环境变量的“绿色软件”,安装、卸载都极少出错,而IE由于和Windows结合太紧密,卸载、安装IE常会引发系统的不稳定。
5. 培训XUL开发者相对容易,可以减少软件厂商的人力资源成本。
Mozilla能极大地提升Linux的桌面竞争力,个人认为Mozilla也是迄今为止最具创新的开放源码项目。
有了好的产品还需要宣传与支持才能成功,Mozilla背后最坚定的支持者是AOL,AOL拥有强大的传媒力量及庞大数量的互联网用户。如果AOL发动一场新的浏览器大战,微软必然会尝到一点失败的滋味:首先,将导致IE用户的减少(由于和微软的协议,AOL当前用的还是IE),微软“污染WEB规格”战术会受到牵制;其次,基于Mozilla平台的应用将迅速增长,为用户向Linux迁移打开方便之门。
我想再用个比喻来说明Mozilla的重要意义:
现在软件界存在一条鸿沟,鸿沟的一面是微软控制着的封闭世界,另一面是以Linux为代表的自由世界。封闭世界中的许多人想到自由世界去却跨不过鸿沟。Linux在努力把鸿沟变窄,而微软却想方设法加宽鸿沟,因此鸿沟合拢的过程是缓慢的。但只要我们善加利用,Mozilla能够在鸿沟上架起从封闭世界通向自由世界的桥梁!
【GNOME和KDE继续完善】
GNOME、KDE是Linux下两大桌面环境,在2002年它们也有重大进步,将推出它们的重要版本:GNOME 2.0、KDE 3.0。它们都引入了不少新特性,并改善了易用性和可用性,进一步缩小和WindowsXP的差距,为用户带来更好的使用体验。
【桌面应用软件与工具软件加速发展】
著名的办公套件StarOffice将在2002年推出6.0版(从StarOffice衍生出的还有OpenOffice、RedOffice等),不论从本身的功能还是对微软Office的兼容来看都做得相当不错了。它们采用XML作为文档格式,相对于微软Office封闭的二进制文档格式来说有显著好处:A.更能长久地保护用户的数据;B.用户可以用非常简陋的工具编辑、查看文挡,而不一定非得装庞大的Office套件。
其它Office产品如永中Office、WPS、HancomOffice、KOffice、AbiWord等也将在2002年成长并提高可用性,成为微软Office的可选替代品。
Linux下的软件开发环境在2002年也将有显著改善,能吸引更多开发者为Linux开发应用。
Eclipse是一个激动人心的开发工具平台,由IBM发起并贡献源码,有Borland、Rational、Together等著名工具厂商参加。它是一个开发工具的运行平台,也是一个开发工具的开发平台。由于其开放性和通用性,可以包含各种插件,集成不同厂商和个人提供的工具和产品。这些工具插件将可以涵盖整个应用开发周期,可以处理各种内容:程序文件、Web内容、图形、视频…几乎你所能想象的任何东西。IBM自己的开发工具也在Eclipse平台上搭建。Eclipse在2002年中将推出2.0版。
开发工具巨人Borland已宣布了C++ for Linux战略,并有望在2002年度推出正式产品。
可以让很多Windows应用程序在Linux下运行的Wine 1.0和LindowsOS 1.0也将在2002年推出,对于一些想节约资金的用户是一个可以值得考虑的选择。
【辩证地看易用性问题】
易用性是一个系统能否被普通用户接受的重要因素,当前Linux的易用性比Windows有一点差距,但这点差距往往被人为地夸大了。
举个例子:我曾看到一些初接触Linux的用户抱怨Linux的文件目录系统比Windows的难用,事实真的如此吗?
恰恰相反,从本质上来说Windows的文件目录系统才是更难用的:
1. Windows是多根文件目录系统,把文件系统分为A:驱、B:驱、C:驱、D:驱...,没有Linux的单根目录系统直观方便,比如在图形界面方式下选择目录时要多一个选择驱动器的步骤,在命令行方式下的一些操作(如切换当前目录)也没有Linux容易;
2. Windows以"\"作为文件路径的分隔符,由于C/C++语言中把"\"看作转义符,使得许多程序员在处理Windows文件路径时都有过犯错的经历。微软新推出的C#语言也没敢改变这一规则。
从这个例子我们可以看出:不少对Linux易用性的指责是不公平的,由于使用习惯和对微软的盲从使得许多人把微软的产品当成了易用性的参照。
另外有一些对Linux易用性的怀疑来自于早期的一些使用感受,而没有看到Linux的不断进步。
还有一些人诟病Linux的shell操作方式,但是对熟练用户来说,shell是能够提高工作效率的强大工具,对他们来说,没有shell的系统才是难用的。
随着Linux的发展,Linux在易用性上将会持续提高。
综上可以认为:2002年将是L