我现在正在考虑在JavaScript中建立我的服务器端代码,并开始全力以赴,但我想知道它与PHP相比的安全性和灵活性。
我也想知道,如果它可以成功地用于开发像论坛板,完整的网站和类似的东西,就像PHP一样。
答案 0 :(得分:9)
答案 1 :(得分:6)
这个问题非常非常广泛。将其解释为“我可以在服务器上使用Javascript”:
从根本上说,肯定,Javascript是一种非常强大的语言,所以你可以在服务器端进行开发,就像你可以在客户端一样(如果你也做客户端脚本,你可以获得一些明确的重用利益)服务器上的Javascript。)
等。有很多list on Wikipedia。
反对,有一个围绕PHP构建的非常丰富的生态系统。除非您使用Rhino作为Java平台或IIS上的JScript(因为它们利用了生态系统),否则您可能会发现在使用Javascript进行服务器开发时,您几乎没有可用的生态系统。我的意思是,如果你正在寻找预先构建的论坛或wiki软件(例如),我们只是说你不能找到一个基于PHP的死猫,并且在服务器上也不能说Javascript
答案 2 :(得分:5)
通常使用它们的方式,PHP和JavaScript在完全不同的世界中运行,并没有真正的可比性。 (是一个server-side version的JavaScript,但可以说它还不是特别普及,并且不能在标准的网络托管上运行。)
您将在JavaScript(浏览器)方面遇到的安全问题与您在PHP中需要注意的问题非常不同。
我也想知道,如果可以像PHP那样成功地开发像论坛板,完整的网站和类似的东西。
不,不是使用客户端Javascript。对于动态应用程序,您总是需要一些服务器端语言支持它,无论是PHP还是其他语言,如ASP,Python,Ruby,Perl ....
答案 3 :(得分:2)
要用Javascript替换PHP,你需要服务器端的Javascript,并且在这方面发生了很多事情。 Mozilla的Rhino在JVM上运行Javascript,似乎Google也在自己的server side Javascript framework上运行。最受欢迎的在制作实现是:
Aptana的Jaxer表现出了许多希望,特别是通过将DOM带到服务器端,但该项目现在似乎已经死了。据我所知,node.js不是与Helma和Phobos同样意义上的服务器端Javascript框架。相反,它可以用于在Javascript中编写事件驱动的服务器(例如:编写自己的Web服务器)。
答案 4 :(得分:0)
这有点偏离主题,但它可能实际上是你问题的核心:
如果您只想为Web应用程序使用一种语言,您可能需要查看Haxe。
它是一种跨平台语言,(在其他目标中)编译为JavaScript和PHP源以及NekoVM字节码。对于服务器端JavaScript,有NodeJS绑定。
这样您就不会受特定平台的约束。 neko和PHP API在很大程度上是兼容的,因此您可以在两个平台上进行部署,可以选择neko的速度和持久性,或者PHP易于部署。但是请注意,虽然常见的优化器作为eaccelerator,但PHP输出有一点开销。
Haxe对JavaScript和PHP的宽容度要低得多。这使得学习更难,但更安全,更健壮,最终更有效率。
答案 5 :(得分:0)
答案 6 :(得分:-1)
总之:不。 Javascript是一种客户端语言。为了完成您所描述的事情,您需要一种服务器端语言,例如PHP。
编辑:好的,从技术上讲,可以在浏览器以外的其他区域实现Javascript,但这不常见。5年编辑:嗯,5年后,这个答案显然不准确,因为node.js之类的东西很受欢迎。让这成为事情变化的快速证明!
答案 7 :(得分:-3)
PHP和JavaScript是两种不同的语言,可以完成两种不同的操作。一个人无法取代另一个人。您很可能会使用两者的组合。用于客户端的JavaScript。用于服务器端的PHP。