⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 borand传奇,有关borand公司的书籍
💻
📖 第 1 页 / 共 3 页
字号:

第六章  失去的王冠--Borland数据库工具的战役

在Borland的产品线中,有两个产品是较少受到瞩目的,那就是Borland从Ashton-Tate
并购来的dBase系列以及昙花一现的IntraBuilder。对于Borland来说,dBase和
IntraBuilder是非常可惜的牺牲品。dBase发展的黄金时机被Philippe Kahn白白浪费,
IntraBuilder带来的无限潜力硬生生地被Delbert Yocam糟蹋掉。Borland最有机会的两
个关键时刻分别被两任CEO蹉跎,不知到底是时也?命也?运也?

dBase和IntraBuilder这两个产品,到底是如何在Borland中发展的呢?为什么最后dBase
和IntraBuilder都会进入死胡同?让我们一起来探索其中的秘密。

IntraBuilder的诞生

谁说"洞悉先机"一定是好事?当初哥白尼在几个世纪之前大胆地提出了天体运行论,
同势力庞大的基督教对抗,因而被基督教视为邪说,一直到3个世纪之后才被罗马教
皇承认。而哥白尼的一生都在承受着巨大的压力,Borland的IntraBuilder几乎也面
临了同样的命运。

1995年,当浏览器的应用逐渐成为主宰力量之后,各种Web的应用也开始快速地发展
起来。一开始Web应用是以面向文件为主,许多Web应用都使用纯文本编辑器来开发HTML
网页。但是人们很快发现,这种方式非常不经济,因为Web应用虽然有很大一部分属
于美工的需求,但是当Web进入人们的生活后,许多Web应用便开始需要结合数据处理
而转向商业的应用。因此,很快Web的解决方案便开始从静态网页的应用进入到使用
程序来解决的阶段。但是,当时正值浏览器大战的阶段,Netscape正和Microsoft的
Internet Explorer拼斗得你死我活,而Java也开始兴起。此时浏览器并没有标准,
连带着对HTML、JavaScript的支持也混乱无比。因此,虽然许多程序员都感觉需要一
个Web开发工具帮助他们开发逐渐炙手可热的Web应用程序,信息业界也开始有强烈的
需求,但是混乱的Web标准却让许多程序员不知所措。

不过,Borland的Visual dBase小组却从中看到了极大的契机,因为在为Visual dBase
未来的版本加入支持Web的功能时,Visual dBase小组突然发现,既然Web的功能是许
多程序员想要的,那么,为什么不直接提供一个可视化的Web开发工具,让需要开发
Web应用程序的程序员能够拥有最好的工具,而不需要痛苦地使用纯文本编辑器来开
发Web应用程序呢?

时值1995年,这的确是一个令人相当震撼的想法,因为它体现了未来需求的趋势。当
Visual dBase小组提出这个想法之后,立刻在部门内获得了极大的回响。几经商议,
Visual dBase小组决定先开发一个可视化的Web开发工具来测试市场,而且他们决定
就使用Visual dBase来开发这个新的产品。这实在是个大胆又令人惊讶的决定,因为
当时不但没有类似的产品,而且决定使用Visual dBase而非C/C++来开发新产品,更
是不可思议,开发工具真的可以使用Visual dBase来开发吗?

当Visual dBase小组决定开发这个新的开发工具时,却面临了一些技术上的抉择,那
就是使用什么语言作为这个新开发工具的核心?另外,该产品既然是一个Web开发工
具,当然需要一个Web Server作为后端的驱动引擎。但是,当时的市场上只有Netscape
和O'Reilly等少数厂商拥有Web Server引擎。因此,Borland必须决定使用什么Web 
Server。不过,这些问题很快就有了答案。

由于Java快速地兴起,Applet也成为学习Java的入门知识,因此,JavaScript很快就
被众人视为开发Web应用程序的标准语言。于是Visual dBase小组决定使用JavaScript
作为这个开发工具的核心语言,并且强化当时的JavaScript语言,以支持这个新的开
发工具。另外,由于当时的Web Server大都不便宜,因此,Visual dBase小组决定自
行开发一个Web Server作为这个开发工具的内建Web Server。最后,Visual dBase小
组定义这个开发工具必须拥有下面的功能:

■  可视化开发环境,允许程序员使用组件和拖曳的功能来设计Web应用程序
■  使用JavaScript作为核心语言
■  提供内建的Web Server
■  结合BDE/IDAPI来连接各种数据库

这个开发工具便是IntraBuilder--后来震撼一时的数据库Web开发工具先驱。

在IntraBuilder开始开发之后,Visual dBase小组很快发现,虽然他们可以使用Visual 
dBase完成大部分的工作,但是,终究有一些功能是Visual dBase力所不逮的地方,
因此,在IntraBuilder开发的后期,为了让它能够支持当时Microsoft刚推出的、同
Applet相抗衡的ActiveX以及动态执行Applet,Visual dBase小组还是使用了部分的
C程序代码来完成这些功能。

IntraBuilder的震撼

1996年9月,经过1年多的开发,IntraBuilder终于推出在世人的面前。IntraBuilder
推出之后,全世界的专业媒体几乎都对IntraBuilder好评有加,而且都不能相信Borland
能够如此快速且先知地推出数据库的Web开发工具。

全世界的好评如潮,因此,在IntraBuilder准备正式出货之前,Borland也是信心满
满。我记得,当时在拿到IntraBuilder的Beta版后,虽然我对于Web的开发仍然没有
太多的经验,但是很快就了解了这个产品的潜力,因为IntraBuilder和当时其他的Web
开发工具以及编辑器比较起来,简直是领先了数个世代之久,而且还能够用来作为学
习JavaScript的工具和开发连接数据库的Web应用程序。这些功能在市面上几乎没有
任何的竞争对手可以比拟。即便以今日的标准来看,IntraBuilder提供的Web可视化
设计能力仍属一流。因此,当时我就觉得这会是一个大卖的产品。

IntraBuilder面对的困难

即便Borland非常有信心,专业媒体也一片看好,但是没有想到的是,在IntraBuilder
推出之后,只带来了第一波销售热潮,随后的销售却很快冷却下来,造成了IntraBuilder
叫好不叫座的情形。这实在是一件很奇怪的事情,因为IntraBuilder产品本身没有太
大的问题,产品的方向也是正确的。但是为什么IntraBuilder在市场上就是无法拥有
亮丽的表现呢?这个问题是Borland急于寻找答案的。记得当时在台湾发表IntraBuilder
时,似乎也是回响热烈,但实际出席的人却不多。台湾Borland的产品经理还在会场
询问我,为什么出席的反应这么不热烈,产品本身不是不错吗?

在IntraBuilder首次遭遇挫折之后,Borland很快便找出了其中的重要问题所在。有
些属于产品本身的小瑕疵,有些则是当时整个环境的问题。总结当时IntraBuilder 
1.0失败的原因有:

■  IntraBuilder太过于先进,许多程序员不知如何使用
■  IntraBuilder不支持中文
■  浏览器对于JavaScript语言的支持程度混乱
■  IntraBuilder在GUI方面的Render尚有瑕疵

由于当时Web的程序应用还属于萌芽期,Internet/Intranet程序应用仍然处于第一波
面向文件的阶段,大多数的Web应用是使用HTML和一般编辑器来制作的。这个时期距
离第二波程序员开始大量使用各种不同的Web语言来开发Web应用程序仍然有1、2年的
时间差。

可惜的是,IntraBuilder就是太早的察觉了这个趋势,因此当IntraBuilder推出之时,
仍然是领先第二波Web应用的发展。从下面的图形,我们也可以看到IntraBuilder
推出的时机的确是先于数年后其他Web开发工具的脚步。

正是由于IntraBuilder推出的时机太早,因此只能吸引站在前端的开发人员,大多数
的开发人员对于这样革命性的产品,浑然不知其重要性,造成IntraBuilder一开始只
能销售给Borland的少数客户以及其他领域顶尖者的结果。不过我认为这是一件好事,
因为IntraBuilder先期的销售数量虽然没有达到Borland的预望,不过IntraBuilder
一开始便攻入了最重要的客户群,占据了金字塔顶端客户的mind-share。只要
IntraBuilder能够再接再厉,等到1、2年后,当大多数的开发人员了解了Web开发工具
的重要性以及实用性之后,IntraBuilder将可快速收割成果。此外IntraBuilder的理
念与技术领先于其他竞争对手数年之久,即使其他Web开发工具推出,IntraBuilder也
能够以逸待劳,痛击竞争对手。

在Borland分析了IntraBuilder遭遇挫折的因素后,很快便展开了相应的行动,因为
Visual dBase小组对于IntraBuilder仍然非常有信心。在支持DBCS方面,由于
IntraBuilder 1.0不支持DBCS,因此造成了在许多亚洲国家和地区,包括中国台湾地
区、日本和韩国以及中东无法销售的问题。这个影响当然是很大的,因为光是一个日
本市场,几乎就可以销售数千万套。

另外一个扰人的问题,就是由IntraBuilder开发出来的Web应用程序在不同的浏览器
中会发生网页内容和位置与在IntraBuilder中设计时不一致的情形。这个问题形成的
原因很复杂,大都和当时不同的浏览器在render网页内容时的差异有关。当然,当时
尚未有一致的标准,使得不同的浏览器支持的HTML版本和JavaScript版本不同。不过,
虽然这些问题不全是Borland的错误,但是,就如同当时一个IntraBuilder使用者在
Forum中留下的一句话"It may not be Borland's error,but it definitely is a 
Borland's problem(不是Borland的错误,却是Borland的问题)"。

为了解决IntraBuilder面对的问题,Visual dBase小组很快便开始进行了IntraBuilder
第二个版本的开发工作,目的就是为了解决IntraBuilder客户所抱怨的问题,并且强
化IntraBuilder在扩展性和执行效率方面的功能,以期让更多的客户愿意使用
IntraBuilder。1997年6月,Visual dBase小组手脚很快地推出了IntraBuilder 1.5,
进行第二次的出击。

IntraBuilder 1.5几乎是一个成熟的Web开发工具,因为IntraBuilder 1.5可以支持
DBCS,并且大幅提高了IntraBuilder应用程序的执行效率。此外,Visual dBase小组
也特别使用C改写了IntraBuilder在render网页的功能,让IntraBuilder能够更精确
地呈现Web网页的内容,并且大幅提升了在不同浏览器中的兼容性。

经过了这么多的改善之后,IntraBuilder在全世界的销售果然有了起色,慢慢地向
Borland为IntraBuilder设定的目标接近。Visual dBase小组当然也是很高兴,因为
这证明了他们的眼光是正确的。因此,Visual dBase小组在IntraBuilder站稳了脚步
之后,便开始进行IntraBuilder 2.0大改版的工作,希望通过2.0版本让IntraBuilder
成为最成功的Web开发工具。

再接再厉,IntraBuilder 2.0的开发

1997年,Borland已经准备好了新版的IntraBuilder,并且在当年的Borland Conference
中公开宣示了IntraBuilder 2.0,也为未来的IntraBuilder 3.0提供了发展蓝图。新
版本的IntraBuilder一切看起来是非常的顺利,而且Visual dBase/IntraBuilder小
组也信心满满,准备为IntraBuilder再下一城。

当时的Borland正和最具影响力的Netscape以及Microsoft共同制定JavaScript的标准,
并且准备捉交到ECMA。其时IntraBuilder Architect Randy Solton正忙于和Netscape
以及Microsoft的人员定义JavaScript的最终标准,希望两大浏览器Communicator和
Explorer能够在未来支持这个新的标准,以便让IntraBuilder的应用程序能够正确无
误地执行在这两个浏览器中。不过,由于Netscape和Microsoft正处于最激烈的战火
中,彼此各怀鬼胎、谁也不服谁,因此标准制定的流程进行得非常缓慢、不顺利,这
也间接造成了开发IntraBuilder的难度。

在Borland Conference 1997中,当时IntraBuilder的Director Michael Gardner展
示了IntraBuilder 2.0的新功能。

在IntraBuilder 2.0中,Borland提供了一个内建的HTML可视化编辑器,以提供更为
精确的网页编写功能(类似今日Macromedia提供的工具)。IntraBuilder 2.0的ActiveX
具有同时在客户端和伺服端执行的能力。这个功能非常Cool,因为在当时,ActiveX
大都只能执行在客户端,而IntraBuilder 2.0却能够让ActiveX同时执行在客户端和
伺服端,这可就稀奇了。另外,IntraBuilder 2.0对于JavaBean的支持也将和ActiveX
一样完全,这代表两种不同的组件技术在IntraBuilder中将会是相同的First-Class
组件。这可是Macromedia在数年之后才能在UltraDev中实现的技术。

另外一个IntraBuilder 2.0最重要的功能就是提供了跨平台的能力。Borland准备同
时开发Windows和UNIX平台的IntraBuilder,计划支持的UNIX平台包含了Solaris、HP
-UX、AIX和IRIX。这在当时可算是非常大的手笔,因为当时市场上不但没有类似的产
品,更遑论是提供跨平台的Web开发工具。因此,我认为当时如果Borland能坚持下去,
就将拥有绝佳的市场契机。

在1997年的Borland Conference中,除了Michael Gardner的讲座之外,IntraBuilder
的Architect Randy Solton也在Borland Conference主讲了两个讲座,深入地讨论了
IntraBuilder 2。0的新功能和实现技术。

此外,当时IntraBuilder的产品经理Klaus Krull(K.K.)也在现场同台演出,并且声
明IntraBuilder 2.0的Beta版将提供给有兴趣的开发者测试。从所有的迹象来看,
IntraBuilder 2.0已经是蓄势待发了。

另外,当时IntraBuilder的QA工作,是由华人出身的Ken Chan所领军。其实从Borland 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -