borland传奇-第31章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
■ 可视化开发环境,允许程序员使用组件和拖曳的功能来设计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的最终标准,希望两大浏览器municator和
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
C/C++ 3。0开始,华人在Borland的R&D以及QA部门中一直占有一定的比例,对于Borland
产品开发有着不小的贡献。
不过,事情的发展很快就出乎所有人的意料,在Borland Conference 1997年举行过
后不久,Borland突然放弃了IntraBuilder。这个消息传来,对于当时急切等待
IntraBuilder 2。0的我来说,实在是晴天霹雳。为什么Borland会突然放弃
IntraBuilder,这是当时我一直想要了解的问题。我曾经询问过台湾Borland的好友,
但是他们也不知道实际的原因。后来我曾经听到几种说法:其一是Delbert Yocam对于
IntraBuilder没有兴趣,因此不愿意再投入资源开发下去;另外的传言则是Borland
决定全力开发JBuilder,因此把IntraBuilder的资源移到JBuilder去;还有的说法
是IntraBuilder开发团队和Delbert处不来,因此集体离开Borland。不过事情的实际
答案仍然是一个谜,即使到了今日,我再次为Borland工作时,仍然无法获得确定的
答案,实在令人遗憾。
我认为IntraBuilder是最为可惜的产品之一,因为早在1996年,当其他软件公司尚未