发布网友 发布时间:2022-04-22 09:24
共1个回答
热心网友 时间:2023-10-25 09:26
做网页有三大网页脚本语言, 这三个东西根本不是同一个分类维度上的:
1) PHP:语言(PHP Script)+ Web 运行时(PHP Engine)
2) JSP:JSP
和 Java Servlet 的关系可以看成是 CoffeeScript 和 JavaScript 的关系,本质上 JSP
不是的技术,而是一种模仿 ASP/PHP 形式写法,编译成 Servlet 运行的关系。以前曾流行于作为 Java EE
的模版引擎(视图层),现在似乎有更多更好的选择,正在逐渐被边缘化。
.
3) NET:.NET + C#
才是同一个分类维度上的吧?不知道你是不是想说 ASP .NET,ASP .NET 是基于 .NET Framework 的 Web 运行时,和
PHP Engine 地位类似。目前比较流行的有“控件党” ASP .NET WebForm 和微软新推的 ASP .NET MVC
两种上层框架。
ASP
.NET :微软支持的,没错,不过在Java等语言的冲击下,已经逐渐走向开源了。微软支持的,后台强大,所以系内产品可以无缝搭配,支持也很到位,这点和 Python 的 Django
很像。
如果要评论优势劣势,我的观点是:
PHP:优点:草根,所以有广泛群众基础,极度适合做
CMS,入门门槛极低(补充一个鸟哥说的:部署方便,确实像 PHP 这样部署方便的不多见)。另外一个优点就是有大量成熟的 CMS
可以做二次开发(WordPress、Drupal、Joomla 等)。缺点:不适合做逻辑复杂的 Web 2.0 应用(不要谈
*,* 已经把 PHP hack 到不是 PHP
了),因为生命期单一(一个请求为一个生命期,请求间完全隔离),所以从 PHP Script 的角度扩展显得鸡肋(目前大多 PHP
框架的共同问题)。
JSP:已经边缘化的东西了。如果说 Java Web,那还有的一谈(Spring MVC 就很不错),JSP 真的没什么好谈的了。
我觉得当代 Web 应用,新兴技术才是真正值得选择的:
Ruby、Python 等 Web 框架和相关技术
JVM 扩展的其他动态语言框架
这些新兴技术的共同特点是开发效率极高,因为新兴语言的灵活性,适合做 DSL,所以在框架方面往往能实现近乎声明式的开发;同时因为社区活跃,需要造轮子的地方很少,很多可以复用的第三方社区扩展。