建网站使用哪种语言好 |
常用的网站建设语言有asp、php、jsp、asp.net下面我们分别来讨论一下他们各自的优势和劣势,以供大家参考。 (1)、asp—动态服务页面 微软将ASP引入Windows NT Server 4并将其作为IIS Web服务器下的动态Web应用程序的默认使用平台。由于它使用VBScript,ASP立即被熟悉Visual Studio编程的开发人员所追捧,伴随着脚本语言不断发展。由于ASP并没有引入太多功能,因此在PHP中可以看到的诸如图像操作等功能没有集成到ASP中。但是开发人员仍然可以通过DLL文件的形式编写第三方COM对象来实现同样的功能。在服务器自身允许的情况下,通过这种方式可以编写代码来完成任何动作。当然这将导致为了配置这些服务开发人员不得不与桌面系统进行交互这对于Web开发人员来说这项功能并不是必须的。 ASP的优势是在企业环境中微软服务器几乎无处不在。MicroSoft SQL Server同样具有广泛的市场,并且能很好的支持ASP。尽管事实上通过ODBC可以兼容任何数据来源,但实现SQL Server以及文件DSN访问(file DSN access文件数据库)可以通过代码来实现就像世盈通,和黑猫卫士等网站一样。 (2)、PHP(超文本预处理器、Hypertext Pre-processor) PHP是开放源代码服务器端的脚本语言,语法同C语言类似。最初php网页设计是基于Linux的Apache Web服务器系统的,现在的PHP已经被移植到了任何操作系统比如windows等,并兼容任何标准Web服务器软件。由此可以看出PHP的主要优势。第一它是跨平台的技术,因此PHP应用程序可以很方便的移植——当然这还要取决于厂商特定数据库等需要集成的额外组件。同时可移植性使的绝大部分的Web主机提供商都会支持PHP,这样根据需要更改主机将会变得非常方便。 其二,由于PHP同C编程语言有相似之处,所以对于熟悉相关语法的开发人员来说,PHP非常容易上手。而且这种语法同样在Java、JavaScript以及Perl中得到应用。最后、由于php是开放源代码的产品,PHP将继续快速发展,更为重要的是相关漏洞补丁将免费的定期植入到核心库中。 此外,PHP在不安装第三方自定义组建的情况下有内建库支持对于图片及PDF文档的直接创建和相关操作,而且php处理连接mySOL或者Postgres数据库一类的问题时表现良好。尽管对于mySOL或者Postgres数据库的访问可以通过ASP技术借助ODBC连接来实现,但这常常需要系统管理员进行额外的配置。 (3)、jsp JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。 (4)、ASP.NET 随着.NET的崛起是选择ASP还是PHP的争论而越来越显得多余。ASP以及ASP.NET的唯一联系是二者都使用VBScript。而单独就.NET而言,它可以使用VBScript以及其他大约20种语言。对于ASP以及PHP来说,将ASP.NET看作是另外一种语言的原因是它运行在完全不同的构架之上。前者是翻译脚本语言,而.NET则是经过编译的framework。这就意味着首先Web页面的运行速度将会有极大提高。同时,源代码更加安全且更为健壮。此外,ASP.NET给Web编程带来了新的理念——即“code-behind页面”的思想。按照code-behind思想,每一个HTML页面都是由自身经过编译的程序化指令进行驱动。因此,HTML——或称之为表现层——很大程度上脱离了应用程序的商业逻辑。尽管这样的分离也可以通过PHP和ASP来实现,但这并非同ASP.NET一样属于自身技术的主要部分。ASP.NET的另一好处是它完整的集成了对XML以及Web服务的各种支持。对.NET而言可以使用非常广泛的安全以及密码系统库,这对于金融机构和企业数据应用程序尤为有用。就缺陷而言,即使是具备丰富经验的开发人员也会发现使用.NET可能把自己搞糊涂。不考虑开发者对于所使用的编程语言的熟悉程度,对于Web开发人员来说,在程序范例方面难度的大幅提升可能会成为他们融入ASP.NET的主要障碍。对ASP.NET应用程序来说主机同样是个问题,ASP.NET并未同ASP或者PHP一样获得了主机提供商的广泛支持,无法在同一级别上展开竞争。 总结:选择何种语言作为取决于公司的要求编程人员的熟练程度以及服务器的支持情况。 |