关于BS结构系统开发语⾔的选择(转)
现在主流的⽹站开发语⾔⽆外乎asp、php、asp、jsp四种。很多初学者或客户对于⽤于⽹站开发即B/S结构系统的程序语⾔选择⽐较迷茫,这⾥综合我们多年的开发经验进⾏⼀些分析:
⽹页从开始简单的html到复杂的服务语⾔,⾛过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,经常有客户⼀来就问是否A语⾔运⾏速度更快?是否B语⾔安全性更⾼?是否C语⾔是现在最先进的?然后凭⾃⼰的主观想象或者参考⼀些⾏业者⽚⾯的说法就指定必须⽤某种语⾔结合某种数据库来发开,盲⽬的认为这样的开发结果就是最先进的最好的。其实不管ASP、PHP、ASP、JSP哪种语⾔,它们能成为⽹站的开发主流语⾔,就直接说明着这四种语⾔本⾝并没有太⼤的优缺点,⽽关键在于开发它的⼈或公司是否擅长于使⽤它和⽤它做出来的东西是否符合该系统要达到的⽬的,所谓擅长的标准,应该就是使⽤该语⾔的⼈能在⾼效率、⾼质量的前提下实现其所有功能,⼤多数公司团队或个⼈都有⾃⼰擅长的程序语⾔,只要能通过各⾃擅长的语⾔达到系统建设的⽬的,我们⼜何必太在乎语⾔的本⾝是否优劣,如果说优劣也只能是指最终开发出的系统是否考虑完善。下⾯我们就对四种语⾔进⾏逐⼀分析和对⽐,看怎样的条件下选择⽤怎样的语⾔才能开发出适合⾃⾝情况需要的系统搭建。
HTML:当然这是⽹页最基本的语⾔,每⼀个服务器语⾔都需要它的⽀持,要学习,每个开发者都必须要掌握,这个肯定是开始,这⾥就不说了.
主流⽹站开发语⾔之ASP:ASP是微软(Microsoft)所开发的⼀种后台脚本语⾔(请注意ASP是种脚本,严格来说并不是种开发语⾔,这也是它和⼀些语⾔最⼤的本质区别,),它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页⾯中。ASP在执⾏的时候,是由IIS调⽤程序引擎,解释执⾏嵌在HTML中的ASP代码,最终将结果和原来的HTML⼀同送往客户端。ASP的简单易⽤是其最⼤的特点,特别是和ACCESS这种⼩型数据库结合后相当⽅便,说到这⾥不得不插说⼀下数据库:
Access:微软Office带的⼩型数据库系统,⼀般与Asp,Asp.Net配合使⽤。这个数据库极度适合⼩型企业的⽹站,对于数据量低于10万条的⽹站来说,完全没有问题.其实ACESS已经能满⾜相当多的⽹站数据量需求,不要去盲⽬的选择使⽤⼤型数据库,⼀⽅⾯增加不必要的⼯作量如环境搭建,⼀⽅⾯会增加费⽤。MYSQL:⼀种免费的中型数据库系统,⼀般与PHP配合使⽤.  对于PHP程序员来说,MYSQL是最好的选择.
MSSQL(SQL Server):微软公司的⼤型数据库系统,⼀般Asp,Asp.Net使⽤,⽬前⽐较流⾏的版本有2000,2005.  ⽹站数据量超过了⼗万\⼆⼗万,那就改⽤MSSQL数据库吧.
主流⽹站开发语⾔之PHP: Php和Asp⼀样也是,也是属于脚本语⾔,⼀般连接的数据库为MySql数据库,当然它也能和Access数据库和MsSql(SqlServer)数据库等其他数据库连接。PHP的源代码完全公
开,PHP属于免费软件,也就是说他的资源是free的。 Php从安全性上⽐Asp要好,当然这⾥说的是相对⽽⾔,⼀个好的程序员把安全性做好的话,都差不多,不过Php的安全性要⽐Asp要好,为什么这么说呢。这⾥主要原因是这样的,PHP的搭建服务器环境相对复杂(需要安
装Apache + MySql + PHP),⽽Asp的搭建环境⽐较简单(只需要安装IIS就可以了),所以学PHP的门槛⽐Asp的门槛要⾼,所以很多⼈就偏向Asp学习的⼈就多了,⾃然研究Asp漏洞的⼈就多了,⽽PHP会的⼈就少,所以研究漏洞的⼈就更少了,从这点来说PHP的安全性⽐ASP的安全性要⾼些。⽽且还有⼀点就
是 Apache 的环境最好是Unix,当然Windows下也是可以安装的。
平台⽆关性是PHP的最⼤优点,但是在优点的背后,还是有⼀些⼩⼩的缺点的。如果在PHP中不使⽤ODBC,⽽⽤其⾃带的数据库函数(这样的效率要⽐使
⽤ODBC⾼)来连接数据库的话,使⽤不同的数据库,PHP的函数名不能统⼀。这样,使得程序的移植变得有些⿇烦。不过,作为⽬前应⽤最为⼴泛的⼀种后台语⾔,PHP的优点还是异常明显的。
主流⽹站开发语⾔之ASP.NET:ASP是Microsoft的⼀部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下⼀个版本;它还提供了⼀个统⼀
的 Web 开发模型,其中包括开发⼈员⽣成企业级 Web 应⽤程序所需的各种服务。ASP.NET 的语法在很⼤程度上与 ASP 兼容,同时它还提供⼀种新的编程模型和结构,可⽣成伸缩性和稳定性更好的应⽤程序,并提供更好的安全保护。可以通过在现有 ASP 应⽤程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应⽤程序的功能。ASP.NET 是⼀个已编译的、基于 .NET 的环境,可以⽤任何与 .NET 兼容的语⾔(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应⽤程序。另外,任何 ASP.NET 应⽤程序都可以使⽤整个 .NET Framework。开发⼈员可以⽅便地获得这些技术的优点,其中包括托管的公共语⾔运⾏库环境、类型安全、继承等等。ASP.NET 可以⽆缝地与 WYSIWYG HTML 编辑器和其他编程⼯具(包括 Microsoft Visual Studio .NET)⼀起⼯作。这不仅使得 Web 开发更加⽅便,⽽且还能提供这些⼯具必须提供的所有优点,包括开发⼈员可以⽤来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试⽀持。微软为ASP设计了这样⼀些策略:易于写出结构清晰的代码、代码易于重⽤和共享、可⽤编译类语⾔编写等等,⽬的是让程序员更容易开发出Web应⽤,满⾜计算向Web转移的战略需要。ASP 的速度是 ASP不能⽐拟的。ASP 是编译语⾔,所以,当第⼀次加载的时候,它会把所有的程序进⾏编译(其中包括 worker进程,还有对语法进⾏编译,形成⼀个程序集),当程序编译后,执⾏速度⼏乎为0,⽽ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
主流⽹站开发语⾔之JSP:JSP和Servlet要放在⼀起讲,是因为它们都是Sun公司的J2EE(Java 2 platform Enterprise Edition)应⽤体系中的⼀部分。
Servlet的形式是HTML代码和后台程序分开的,是服务器接到客户端的请求后,进⾏应答,打开⼀个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过⽣成⾃⼰的⽗线程(Parent Thread)来实现资源共享,这样就减轻了服务器的负担,所以,Java Servlet可以⽤来做⼤规模的应⽤服务。
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执⾏⽅式和ASP或PHP完全不同。在JSP被执⾏的时候,JSP⽂件被JSP解释器(JSP Parser)转换成Servlet代码,然后Servlet代码被Java编译器编译成 .class 字节⽂件,这样就由⽣成的Servlet来对客户端应答。所
以,JSP可以看做是Servlet的脚本语⾔(Script Language)版。
由于JSP/Servlet都是基于Java的,所以它们也有Java语⾔的最⼤优点——平台⽆关性,也就是所谓的“⼀次编写,随处运⾏
(WORA – Write Once, Run Anywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊⼈的。因此,JSP/Servlet虽然在国内⽬前的应⽤并不⼴泛,但是其前途不可限量。
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显⽰。这时,由于JSP
是先被转换成Servlet后再运⾏的,所以,浏览器中所显⽰的代码出错的⾏数并不是JSP源代码的⾏数,⽽是指转换后的Servlet程序代码的⾏数。这给调试代码带来⼀定困难。所以,在排除错误时,可以采取分段排除的⽅法(在可能出错的代码前后输出⼀些字符串,⽤字符串是否被输出来确定代码段从哪⾥开始出错),逐步缩⼩出错代码段的范围,最终确定错误代码的位置。
如今主流的Web服务器软件主要由IIS或Apache组成。IIS⽀持ASP且只能运⾏在Windows平台下,Apache⽀持PHP,CGI,JSP且可运⾏于多种平台,虽
然Apache是世界使⽤排名第⼀的Web服务器平台,但是众所周知,Windows以易⽤⽽出名,也因此占据不少的服务器市场。
vb⼀般指vb6.0,是传统的win32编程。vb和asp是基于微软平台的语⾔。说java好主要是因为java的j2ee部分做企业级开发很强⼤,⽽且跨平
台。c#是平台上最好⽤的语⾔,现在只能运⾏在windows系统。 web开发⽅⾯和j2ee的竞争很激烈,难说以后⿅死谁⼿。现在做⽹站⼤部分都
是asp或jsp的,asp容易上⼿,⽐较普及,但是平台单⼀,jsp虽然上⼿难,但是跨平台,安全性⾼。
我们常⽤的开发组合:
IIS环境下
1.ASP+ACCESS
2.ASP+SQL SERVER
3.ASP.NET+ACCESS
4.ASP.NET+SQL SERVER
APACHE环境下
5. JSP +Oracale
6.JSP+MYSQL
7.PHP+MYSQL
总结对⽐:
asp      asp        php        jsp最有前途的编程语言
主要适⽤⽹站⽹站管理系统⽹站管理系统
⽹站规模⼩型⼤中⼩中⼩型⼤中
学习难度简单中简单难
开发速度快中快慢
国内流⾏程度较较较⼀般
可以说在ASP的推出并随着微软的强势⽀持下,同为微软产品的ASP在微软停⽌对其更新后,确实快过时了,在未来jsp和asp将会有巨⼤的潜⼒,
但PHP凭借其开源的特性也会占有⼀定份额。因此在国内来说,ASP和PHP在⼤多数的⽹站应⽤中现在已经是主流中的主流,JSP⼀般⽤于⼀些超⼤型的⽹站开发或者管理系统开发。
综上所述,我们评价其速度也好,安全性也好,开发难易度也好,成本投⼊也好等等都是相对⽽⾔,都是相对于⼀个B/S系统的发展需要和适合⾃⾝条件投⼊⽽⾔。如果要⽤ASP+MSSQL开发⼀个新浪
或者163这种巨型门户⽹站也不是不可以,但如果要这样做我们也可以使这种组合够速度、够安全,但这会增加开发者巨⼤的⼯作量去研究配合提⾼它的速度、安全性、和考虑负载的均衡。经常看到有些公司打出⽤JSP建站的⼝号,以此为卖点,客户不要盲⽬觉得JSP就是最先进的,也许ASP是⼀把⼩⼑,JSP是⼀把菜⼑,⽤来削个苹果不见得是更⼤的菜⼑适合吧,⼀些⽹络公司或软件公司⽤不成熟的JSP技术做出来的东西那不
叫JSP,不叫J2EE,不见得后缀名为JSP的就能真正发挥了JSP的所有特性,因此国内经常看到⼀些JSP⽹站速度其慢,甚⾄效果不如ASP。JSP本⾝的特性就决定了⽤这种语⾔来开发毕将是⾼成本的投⼊,那些花很少的成本做个JSP站点我们肯定要持怀疑的态度来认真审视,⽽花出⾼达⼏倍甚⾄数⼗倍的成本来硬撑个JSP⼩站点我想也不是⼀般⼈能够接受的,所以选择怎样的组合完成怎样的事以达到怎样的⽬的才是重点,也许这也不仅仅是这个⾏业的特点,也适⽤于其他⾏业。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。