服务器端的JavaScript就像PHP一样

时间:2010-04-18 20:54:24

标签: javascript server-side serverside-javascript

我现在正在考虑在JavaScript中建立我的服务器端代码,并开始全力以赴,但我想知道它与PHP相比的安全性和灵活性。

我也想知道,如果它可以成功地用于开发像论坛板,完整的网站和类似的东西,就像PHP一样。

8 个答案:

答案 0 :(得分:9)

Javascript刚刚开始在服务器上出现,有ServerJSnodeJS之类的东西,但是现在,你可能最好使用PHP作为服务器端代码,并且javascript用于客户端美化。

答案 1 :(得分:6)

这个问题非常非常广泛。将其解释为“我可以在服务器上使用Javascript”:

从根本上说,肯定,Javascript是一种非常强大的语言,所以你可以在服务器端进行开发,就像你可以在客户端一样(如果你也做客户端脚本,你可以获得一些明确的重用利益)服务器上的Javascript。)

  • 对于Apache系统,有v8cgi project(一个带有连接器的FastCGI Javascript插件,使用Google的快速V8 engine)。
  • 在基于Microsoft的系统上,IIS支持开箱即用的服务器上的Javascript(JScript)(我一直使用它),它可以访问所有ActiveX内容(例如,用于交谈)数据库,处理文件系统等。)。
  • 如果您的服务器框架是基于JVM的,那么Rhino是Java平台的Javascript,可以访问所有(或几乎所有)可用于Java的库 - 例如,巨大的图书馆和插件的生态系统。
  • 除了v8cgi之外,还有其他几个基于Google V8引擎的项目。
  • 有一个地方为你做了一个完整的堆栈叫chromeserver(我不知道他们的后端是什么;我不打算从名字中推断出来。)
  • Paul mentioned ServerJSNodeJS
  • 整个CommonJS项目。

等。有很多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上运行。最受欢迎的在制作实现是:

  • Helma:几个活跃的项目正在使用它,在Jetty& amp; Rhino和开发人员可以利用JVM的强大功能,拥有自己的面向对象的MVC框架
  • Project Phobos:在Glassfish& amp; Rhino并允许开发人员利用JVM的强大功能,包括NetBeans插件并与jMaki Web UI框架集成
  • JSSP:一个非常简单的服务器端框架,很像经典的ASP,JSP和PHP

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)

是的,我的site是由node.js写的

使用websvr,它的Java风格有过滤器和处理程序,托管在debian OS上。

答案 6 :(得分:-1)

总之:不。 Javascript是一种客户端语言。为了完成您所描述的事情,您需要一种服务器端语言,例如PHP。

编辑:好的,从技术上讲,可以在浏览器以外的其他区域实现Javascript,但这不常见。

5年编辑:嗯,5年后,这个答案显然不准确,因为node.js之类的东西很受欢迎。让这成为事情变化的快速证明!

答案 7 :(得分:-3)

PHP和JavaScript是两种不同的语言,可以完成两种不同的操作。一个人无法取代另一个人。您很可能会使用两者的组合。用于客户端的JavaScript。用于服务器端的PHP。