Web页面开发战中的一次重量级复赛
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标记语言已被扩充来提供相关的Ar