首页 > 代码库 > 阳宇宸:Web开发语言的策略性选择

阳宇宸:Web开发语言的策略性选择

对于一些复杂型和功能型网站建设来说,可能开发语言的选择是非常重要的一步。这一步的好与坏直接影响到以后网站程序的升级以及功能的扩展。目前,在国内主流的开发语言主要有ASP/ASP.NET,PHP,JSP.那么对于对网络技术不懂的客户来说,到底该选择哪种语言,可能会是一片茫然,听别人说,更是一头雾水。下面我们来分别分析这些语言的优缺点。

PHP:钱字当头,PHP是免费,而ASP是付费的。APACHE+PHP+MYSQL+LIUNX完全免费。PHP升级快有目共睹,而ASP基本都不升级。PHP代码简练,直观,运行速度快,另外目前主流技术都支持,比如WebService、Ajax、XML等等。看起来好象的确是PHP比较好。对于有独立服务器的人来说PHP的确是个诱惑,但是分析一下情况可以得知,PHP的服务器维护起来就不是那种情况了。对于大量的小型网站来说PHP的数据库MYSQL的代价就不小。适合网站类型:论坛,购物网站,娱乐网站,信息类型网站。

JSP:情况很多的时候同于PHP。JSP也是免费的,速度也快,安全性高,但是JSP好象只适合于大型网站。对于小型网站特别是要将服务器放在WINDOWS系统之上就麻烦多多。另外在网上提供的虚拟空间JSP的也不多。价格比较昂贵。适合网站类型:大型综合门户网站。

ASP/ASP.NET:ASP最好的就是可以直接放在WINDOWS上,以大家都熟悉的模式来编程。同时ASP又是以简单著称,使用者多多。在网上的虚拟空间方面也以ASP居多,而且价格便宜。但是ASP的弱点就是速度相对较慢。毕竟技术是几年前的老技术。虽然现在有ASP.NET推出,但是其编程模式完全不同于ASP。虽然也提供ASP的编程模式,但是编辑器功能支持不好。ASP.NET既适用于小型网站也适用于大型网站,应该是以后建站的首要选择。

 

网站开发语言对比,选择合适语言

目前主流的几种网站动态编程语言介绍如下:

ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为自己的开发语言。

PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http: //www.php.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。

JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。

ASP.NET:ASP 最新的版本 ASP.NET 并不完全与 ASP 早期的版本后向兼容,因为该软件进行了完全重写。早期的 ASP 技术实际上与 PHP 的共同之处比与ASP.NET 与 PHP的共同之处多得多,ASP.NET 是用于构建 Web 应用程序的一个完整的框架。这个模型的主要特性之一是选择编程语言的灵活性。ASP.NET 可以使用脚本语言(如 JScript、VBScript、Perlscript 和 Python)以及编译语言(如 VB、C#、C、Cobol、Smalltalk 和 Lisp)。新框架使用通用的语言运行环境 (CLR);先将您语言的源代码编译成 Microsoft 中间语言代码,然后 CLR 执行这些代码。这个框架还提供真正的面向对象编程 (OOP),并支持真正的继承、多态和封装。.NET 类库根据特定的任务(例如,使用 XML 或图像处理)组织成可继承的类。除了编程语言和方法之外,当您用 ASP.NET 编程时,可以用 ODBC 来集成数据库;ODBC 提供了一组一致的调用函数来访问您的目标数据库。

 

优势和弱点

ASP.NET 的优势很明显在于它简洁的设计和实施。这是面向对象的编程人员的梦想:语言灵活,并支持复杂的面向对象特性。在这种意义下,它真正能够与编程人员现有的技能进行互操作。

ASP.NET 的另一个优势是其开发环境。例如,开发人员可以使用 WebMatrix(一个社区支持的工具)、Visual Studio .NET 或各种 Borland 工具(如 Delphi 和 C++ Builder)。例如,Visual Studio 允许设置断点、跟踪代码段和查看调用堆栈。总而言之,它是一个复杂的调试环境。许多其他第三方的 ASP.NET IDE 解决方案也将必然出现。

但是ASP.NET强健性,是以损失效率为代价的。ASP.NET 在内存使用和执行时间方面耗费非常大,这大部分归因于较长的代码路径。对基于 Web 的应用程序,这些局限可能是一个严重的问题,因为在 Web 上,您的应用程序可能扩展为每秒成千上万的用户。内存使用率还可能成为 Web 服务器上的一个问题。这几个都提供在 HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。在ASP 、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML页面只依赖于Web服务器,而ASP 、PHP、JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP 、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。

 

PHP是最好的网站开发语言(对于大多数中小型系统应用开发者而言)

作为一个全新的互联网项目,有时候会面临一个选择什么样的开发语言的问题。我说的这个有时候,其实是指现有的团队中,没有技术开发的成员的情况。如果已经有了一个或者多个技术开发人员,当然是选择现有成员最熟悉和最擅长的语言了。那么对于一个还没有技术成员的团队,应该选择什么样的开发语言呢?回答这个问题,首先应该搞清楚选择开发语言的时候应该从哪些方面考虑?我认为作为一个项目选择开发语言应该考虑几个方面:

1、成本

一个互联网的项目,开发往往是前期投入的大头,而大多数创业团队前期的资金都不是很充裕,如何控制开发成本,就成为一个需要考虑的问题。开发成本又包括开发人员成本以及开发资源成本(开发设备、服务器带宽资源等等);

2、效率

现在的互联网发展,时间是最大的成本,是否能够快速的开发出可上线的产品,往往成为项目是否能够获得成功的一个重要因素;

3、可扩展性

很多项目都是分阶段实施的,如果一个项目的开发语言的可扩展性不强,可能会对项目后期的实施带来巨大的麻烦。

4、可移植性

作为服务器平台,早期用WINDOWS是比较方便、快速、“省钱”(主要是维护成本)的,但是当一个项目上升到一定阶段的时候,是否会需要换到Linux、Unix等平台呢?

5、性能

项目要搞大,一定要上规模,对于一个项目未来可能达到的规模需要有一个“预估”。如果一个语言不能支撑你未来项目的规模,那么肯定选择的时候就需要很慎重了。

遇到一个项目的项目语言选择的评估,按照以上几条分别进行考虑:

项目需求:1、需要尽量节省成本;2、对效率需求很大;3、有扩展性需求;4、需要考虑可移植性;5、属于应用互联网的项目,性能方面不会要过高的要求。

太新、太偏的语言人力成本一般都较高,太新了,开发人员熟悉程度不高,影响效率。太偏了,可扩展性不高。所以,只选择主流语言:ASP、.Net、Java、PHP这类的语言。

ASP、.Net 属于微软的“个性”产品,可移植性不够,否掉。

Java语言,太“高端”,开发人员成本相对较高,而开发效率稍差一些,最终选择了PHP语言。

PHP语言,出现时间比较长,语言相对比较成熟。开发人员比JAVA成本略低一些,开发效率比JAVA快。PHP与平台无关,可移植性比较好,代码几乎可以不用修改的在WINDOWS、LINUX上通用。PHP的性能比JAVA略差,但是从这个项目对性能的需求来看,在可预期的时间内,还足够应付。

 

总之,ASP,PHP,JSP,.Net都有相当数量的支持者,由此也可以看出各有所长。正在学习或使用动态页面的朋友可根据他们的特点选择一种适合自己的语言。

阳宇宸:Web开发语言的策略性选择