Allaire公司的ColdFusion和Microsoft公司的ActiveServerPages(ASP)是两个在专业Web应用开发领域争夺市场份额的高端产品。去年12月,我们将冠军授予了ASP的集成开发环境(IDE)--VisualInterDev1.0,因为它具有优秀的数据库工具,而且学习起来较快。去年夏天,Microsoft推出了6.0版的VisualInterDev。而现在由Allaire发行的ColdFusion4.0为这一重量级争夺战中的一次复赛做好了准备。
在使用过这两种开发环境之后,我们发现VisualInterDev在站点开发进程管理和编写脚本文件方面较为突出。而ColdFusionStudio--Allaire为ColdFusion设计的集成开发环境(IDE)--在HTML编码和基本数据库集成方面要胜出一筹。这一次,ColdFusion的经过改进的编码工具和数据库连接特征使其成为最后的优胜者。
ColdFusion和ASP均由两个主要部分组成--一个IDE和一个应用服务器,它们一起合作生成由服务器解析的HTML。IDE创建的网页由HTML和专有标记或脚本代码混合组成。当用户请求得到一个网页时,一个专用的应用服务器对代码进行评估并将产生的HTML页发送给用户。
这两种产品都能让你使用正文HTML标记或直观地采用一个图形用户界面来手工创建网页。不管采取哪种方式,你都可以使用第三方的工具取代厂商捆绑的IDE来建立Web应用程序。例如,ElementalSoftware公司的Drumbeat提供一种简单的创建ASP的方式,而NetObject公司的Fusion则为ColdFusion与ASP的集成提供了一些选择。
开发环境
ColdFusionStudio和VisualInterDev的核心部分是它们的HTML编辑能力。这两种编辑器都提供一种合格的基于Microsoft的DHTMLEdit部件的WYSIWYG模式,它要求你安装InternetExplorer4.01。
我们建议你避免使用可视开发模式。在这两种产品的可视模式中生成的代码也许完全符合HTML规范。不过更糟糕的是,当你按加粗按钮时,VisualInterdev常常输出像STRONG这样的逻辑标记。逻辑标记并不能保证在不同的浏览器下面拥有一个像加粗这样的特定的效果。
所幸的是,如果你为一个网页手工编码,然后用可视模式进行编辑,这两种产品均可保存大部分格式化和式样。这使你可以使用可视工具进行快速编辑。不过,许多开发人员也许坚持采用代码编辑来生成网页。在涉及编码时,这两种产品表面上看起 来是相似的。它们均支持原始文本输入、网页的HTML标记树和标记检查框的导航,使你可以修改一些属性。
ColdFusionStudio是基于Allaire的普及的HomeSite编辑器,并且是最好的HTML代码编辑器之一。ColdFusion4.0支持与输入同步的验证并包括一个提供文件类型定义一致性和基本语法检验的验证工具。遗憾的是,ColdFusion的同步验证器远远不够完善,只能发现一些基本的错误。比如,虽然H1BOGUS="FALSE"是在同步验证期间验证的,但它是被验证工具发现的。
另一方面,VisualInterDev的代码编辑器缺乏任何代码验证能力。它也缺少专业Web开发人员要求的许多其它基本的HTML编辑特征,如迫使标记采用大写体而非小写体输入的这种简单能力。
两种产品均能显示一个让你检查标记属性和事件的标记树,但ColdFusionStudio 做得更为出色一些。在ColdFusionStudio中,你可以根据字母的上升或下降顺序,按照类型或版本将标记属性进行分类。你甚至可以增加一些定制标记和属性。Visual InterDev只采取一些基本的方式对标记属性进行分类,并将重点放在Microsoft浏览器所特有的HTML视图上。
ColdFusionStudio除了支持HTML和它自己的ColdFusion标记语言之外,还支持许多其它语言,包括手持设备标记语言(HandheldDeviceMarkupLanguage)和同步多媒体集成语言(SynchronizedMultimediaIntegrationLanguage),后者在RealMedia的G2产品上使用。VisualInterDev缺乏对其它语言的直接支持。虽然它可以扩充,但要增加对其它标记的支持并不容易。
即使对一般用户而言,通过可视工具标记语言(VTML)给ColdFusion增加标记和属性也是极其容易的,因为VTML提供一些包括标记编辑框在内的设施。这种新增加的语言能力使得ColdFusionStudio增加可扩充标记语言(XML)比较容易。VisualInterDev并不轻易支持增加新的标记集或XML词汇,但可以使用一套相关的软件开发工具来得到扩充。
两种产品现在都支持级联页面格式(CSS--CascadingStyleSheets),不过都不是特别好。ColdFusionStudio的CCS编辑器是一个单独的程序,在它和Studio之间移动很笨拙。VisualInterDev集成得稍好一些,并直接在其标记检查器(inspector)内提供许多页面格式属性。
和ColdFusionStudio不一样,VisualInterDev提供主题和版式,利用CSS和HTML来使许多网页保持一致的格式。虽然这一特征设计得不错,但它似乎更适合于像FrontPage这样的畅销的Web设计应用程序。那些可能使用VisualInterDev的高端站点设计员也许对这样的特征不屑一顾。
由于ColdFusionStudio在标记编辑上具有灵活性,并且注重编码细节和跨浏览器的HTML支持,因此它更适合于原始HTML页面编辑,但VisualInterDev在站点开发和编程方面较为突出。VisualInterDev提供强大的站点图形表示和链路管理工具。我们发现利用VisualInterDev直观地查出链路问题和建立站点结构比较容易。ColdFusion的链路管理实用程序只能一页一页地工作,而且它缺少站点图形表示特征。
两种产品均使用Microsoft的VisualSourceSafe为站点开发提供对基于小组的源码控制的支持。这两种产品也使用项目的概念来控制文件组,并允许轻松地部署到分级和生产服务器上。VisualInterDev的一项特别有用的特征是它对所有站点的本地及远程开发提供支持。虽然你能够用ColdFusionStudio来完成类似的任务,但它需要通过手工下载站点并使用源代码控制以使文件同步。VisualInterDev也包括一个任务表管理器,以储存在建立一个复杂的站点时也许会有用的信息。
脚本与标记的关系
虽然ColdFusionServer和ActiveServerPages都能被用来从HTML与专用标记或脚本代码的混合物中创建动态网页,但它们很明智地采取一些不同的方式来创建动态内容。
ColdFusion使用一套专用标记如 来创建动态网页。过去,开发人员曾批评ColdFusion采取的标记方式对某些任务来说比较笨拙,因为在这种方式中,编程结构被包裹在HTML形式的标记之中。
ActiveServerPages不是使用专用标记,而是使用Web页中的脚本--一般是VBScript或者Microsoft的JavaScript变体,即Jscript。这使得ActiveServerPages具有成熟的脚本语言所固有的灵活性。不足之处是,脚本语言代码与HTML标记混在一起,维护起来可能比较麻烦。通常,ColdFusion提供了一套简单专用标记来执行任务,而VisualInterDev则需要许多VBScript才能执行这些任务。
ColdFusion4.0使用标记提供新的编写脚本的能力。此外,ColdFusion标记语言已被扩充来提供相关的Array、Case和Switch语句以及错误处理,这使得编码应用程序不像以前那么笨拙。总之,Allaire利用ColdFusion4.0提供了两方面都是最好的选择--为简单的任务提供简易的面向标记的动态网页,而在需要更复杂的编码时可使用脚本。
VisualInterDev试图通过完全放弃专用标记和增加一些简单的拖放部件(即设计时间控制)来消除复杂性。这样,将数据项与数据库连接结合起来以及建立站点导航和增加逻辑以形成控件都相当简单,不过潜在的复杂性很大,尤其是当你试图将数据库与Web站点集成的时候。
例如,要在ColdFusion上开发一个简单的电话号码簿,我们只需要两个定制标记和一个SQL语句。而利用VisualInterDev,我们生成了将近100行的ASP代码,这还不包括所有包含在内的引用文件。也许这点似乎并不重要,因为两种程序均生成自己的代码,除非你考虑有人必须扩充或维护所生成的代码。
VisualInterDev在许多方面要比ColdFusionStudio更像一个传统程序员的工具。它为建立基于JavaScript和VBScript的网页提供大量支持,并拥有一项叫做IntelliSense的功能,能够完成脚本语句并提供语法信息。该产品也提供一项脚本概要特征,使得修改客户端和服务器端的对象比较容易。在这个意义上讲,VisualInterDev要比ColdFusionStudio包含更多的DHTML文件目标模型格式。
VisualInterDev和ColdFusionStudio现在均支持复杂的调试和强大的SQL查询建立工具,以减轻数据库集成工作。对那些努力调试一半逻辑在服务器上运行、一半逻辑在浏览器上运行的应用程序的Web开发人员来说,这是一项颇受欢迎的改进。
为应用程序服务
至于应用服务器本身,ColdFusionServer现在超过了ASP,这主要归功于其性能的提高以及它拥有像群集这样的可靠性特征。Allaire新版本的应用服务器几乎解决了每个层面上的性能和可伸缩性问题。为了提高数据库访问的速度,企业版的ColdFusion服务器现在不仅支持OpenDatabaseConnectivity数据库连接,也支持OLE数据库和Oracle与Sybase的本机驱动程序,以及存储过程。
为了解决可伸缩性问题,ColdFusion的企业版使用BrightTigerTechnologies公司的ClusterCATS软件来支持服务器负载均衡,它是作为该产品的一部分交付的。建立一个ColdFusion群集比较简单。该应用服务器的一个升级版计划于今年一月发行,它应当还提供故障恢复支持。
小结
你不必在ASP和ColdFusion之间作出选择。你可以在同一站点上使用这两种产品,不过你不能在同一网页上运行它们。ASP是一个以NT为中心的环境(虽然ChiliSoft在其它服务器上提供对ASP的支持),而ColdFusion在NT和Solaris上运行,不久也将在Linux上运行。
最好的办法也许是利用每个产品的优点。VisualInterDev提供ColdFusion所缺乏的许多站点管理特征。ColdFusion在数据库连接方面突出一些,而ColdFusionStudio无疑是更好的标记编辑器。所幸的是,你可以利用ColdFusionStudio作为VisualInterDev环境内的一个缺省编辑器。
对许多人来说,选择一种技术或另一个技术归根结底是熟悉或喜欢与否的问题。来自HTML标记环境的面向因特网的开发人员将会发现ColdFusionStudio比VisualInterDev更加让人感到舒服。建立Microsoft所特有的intranet应用程序的VisualBasic程序员将会发现VisualInterDev和ASP更加让人觉得熟悉。虽然Allaire的产品过去一直位居第二,但这次的ColdFusionServer和ColdFusionStudio几乎在所有方面均超过了ASP和VisualInterDev。
得分卡
编码工具 数据库连接 应用程序服务器伸 可视页编辑 合作开发特性 站点管理工具 总分
(25%) (25%) 缩性和扩展性(20%) (10%) (10%) (10%)
ColdFusion 10×0.25=0.25 9×0.25=2.25 9×0.20=1.80 7×0.10=0.70 6×0.10=0.60 7×0.10=0.70 8.55
VisualInterDev 6×0.25=1.50 7×0.25=1.75 7×0.20=1.40 7×0.10=0.70 8×0.10=0.80 8×0.10=0.80 6.95
各个评测项目以十分制记分,百分比为决定每项得分的加权数。
测试结果
优点缺点
ColdFusionServer4.0
ColdFusionStudio4.0
Allaire公司
www.allaire.com
ColdFusionServer4.0(企业版)每个3495美元;(专业版)每个1295美元;
ColdFusionStudio4.0395美元;
优秀的HTML编辑能力
容易使用面向对象的开发环境
可伸缩的和可扩充的应用服务器
没有站点管理工具
对客户端脚本的支持需要改进
ActiveServerPages2.0
VisualInterDev6.0
Microsoft公司
www.microsoft.com/vinterdev
与InternetInformationServer4.0(包括与WindowsNTServer4.0)捆绑的ActiveServerPages2.0;
<br>VisualInterDev6.0549美元。
强大的站点管理工具
可视化设计时间控制提供基本的快速应用开发
基于文本的HTML编辑能力较弱
需增加第三方产品或微软的其它产品才能使服务器扩充或伸缩