服务器端的JavaScript就像PHP一样

问题描述 投票:5回答:8

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

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

javascript server-side serverside-javascript
8个回答
9
投票

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


6
投票

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

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

  • 对于Apache系统,有v8cgi project(一个带有连接器的FastCGI Javascript插件,使用谷歌的怪异的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 。


5
投票

它们通常使用的方式,PHP和JavaScript在完全不同的世界中运行,并没有真正的可比性。 (有一个server-side version的JavaScript,但公平地说,它还没有特别普及,并且不能在标准的网络托管上运行。)

您将在JavaScript(浏览器)方面遇到的安全问题与您在PHP中需要注意的问题非常不同。

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

不,不是客户端Javascript。对于动态应用程序,您总是需要一些服务器端语言支持它,无论是PHP还是其他语言,如ASP,Python,Ruby,Perl ....


2
投票

要用Javascript替换PHP,你需要服务器端的Javascript,并且在这方面发生了很多事情。 Mozilla的Rhino在JVM上运行Javascript,似乎Google也在开发自己的server side Javascript framework。最流行的在线实施是:

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

Aptana的Jaxer展示了许多承诺,特别是将DOM带到服务器端,但该项目现在似乎已经死了。据我所知,node.js不是与Helma和Phobos同样意义上的服务器端Javascript框架。相反,它可以用于在Javascript中编写事件驱动的服务器(例如:编写自己的Web服务器)。


0
投票

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

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


0
投票

这有点偏离主题,但它实际上可能是你问题的核心: 如果你只想使用一种语言的web应用程序,你可能想看看Haxe

它是一种跨平台语言,(在其他目标中)编译为JavaScript和PHP源以及NekoVM字节码。对于服务器端JavaScript,有NodeJS绑定。

这样您就不会受特定平台的约束。 neko和PHP API在很大程度上是兼容的,因此您可以在两个平台上进行部署,可以选择neko的速度和持久性,或者PHP易于部署。但是请注意,PHP输出有一点开销,尽管作为eaccelerator的常见优化器会使这几乎不明显。

Haxe比JavaScript和PHP的宽容度要低得多。这使得学习更难,但更安全,更强大,最终更高效的工具。


-1
投票

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

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

5年编辑:嗯,5年后,这个答案显然不准确,因为像node.js这样的流行。让这成为事情变化的快速证明!


-3
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.