2010-04-18 28 views
5

Ahora estoy pensando en establecer mi código del lado del servidor en JavaScript, y comenzar a hacer todo en él, pero quiero saber sobre su seguridad y flexibilidad en comparación con PHP.JavaScript en el lado del servidor como PHP

También quiero saber si se puede usar con éxito para desarrollar cosas como foros, sitios web completos y cosas como esta, como lo hace PHP.

+0

Pero no son realmente comparables. JS tiene sus usos, pero todos son del lado del cliente, y PHP tiene sus usos, pero en su mayoría son del lado del servidor. ¿Es solo una pregunta de curiosidad o tienes algo concreto en mente? – MJB

+0

¿Quiere decir, además del hecho de que JavaScript se puede desactivar en el navegador y, si cree que varias fuentes, hasta el 10% de sus visitantes no podrán utilizar su sitio web porque lo han hecho? –

+0

No está claro para mí lo que estás preguntando. Al hacer "todo en" Javascript, ¿te refieres a cosas como la validación de foros, o te refieres a una pila web del lado del servidor con Javascript en su núcleo? – Matchu

Respuesta

9

Javascript recién ahora está empezando a conseguir un poco de presencia en el servidor, con cosas como ServerJS y nodeJS, pero en este momento, probablemente sería mejor fuera usando PHP para su código del lado del servidor, y javascript para el embellecimiento del lado del cliente.

+2

+1. especialmente NodeJS está volviendo loco rápido debido a V8. – back2dos

+1

Aww, ¿nadie recuerda a Netscape Enterprise Server y su versión en JavaScript del lado del servidor? ¡Estaba adelantado a su tiempo! Y bastante horrible, por supuesto. – bobince

+0

@bobince: Ah, recuerdo (ver mi respuesta a Sarfraz en mi respuesta). –

-1

En una palabra: no. Javascript es un lenguaje del lado del cliente. Para hacer las cosas que describes, necesitas un lenguaje del lado del servidor como PHP.

EDITAR: OK, técnicamente es posible implementar Javascript en otras áreas además del navegador, pero esto no es muy común.

5 AÑOS EDIT: Bueno, 5 años después, esta respuesta obviamente no es precisa, con la popularidad de cosas como node.js. ¡Que sea un testimonio de lo rápido que las cosas pueden cambiar!

+2

Javascript no es un lenguaje del lado del cliente. Es un lenguaje que se despliega principalmente en el lado del cliente. ** Wow ** esa es una gran distinción. Uso Javascript en el servidor todo el tiempo. –

+0

@ T.J. Crowder: podría haber dado una sugerencia, el javascript se despliega, el lado del cliente se reduce a lo mismo, no hay un voto negativo al menos, pero hay personas demasiado rápidas que están demasiado furiosas y siguen bajando la votación y también cierran las preguntas legítimas. – Sarfraz

+0

Downvote cambió a voto favorable debido a cambios. Gracias por tomarse el tiempo para examinar los comentarios y modificar su respuesta en consecuencia :) – Matchu

5

Por la forma en que se usan habitualmente, PHP y JavaScript se ejecutan en mundos completamente diferentes y no son realmente comparables. (Hay es un server-side version de JavaScript pero es justo decir que aún no está especialmente extendida, y no se ejecuta en alojamiento web estándar.)

Los problemas de seguridad que se van a encontrar en JavaScript (en el navegador) lado son muy diferentes de lo que hay que buscar en PHP.

Quiero saber también, si se puede utilizar con éxito para desarrollar cosas como foros, sitios web completos y cosas como esta, como lo hace PHP.

No, no con Javascript del lado del cliente. Para aplicaciones dinámicas, siempre necesitará algún lenguaje del lado del servidor que lo respalde, ya sea PHP o algún otro lenguaje como ASP, Python, Ruby, Perl ...

+0

Re * "Hay una versión de JavaScript del lado del servidor, pero es justo decir que aún no está especialmente extendida y no se ejecuta en un alojamiento web estándar." * IIS es una plataforma de alojamiento web ** increíblemente estándar y extendida ** , y ha soportado Javascript por, oh, una década más o menos. Otra plataforma muy extendida es cualquier solución de alojamiento JVM, para la cual puede escribir Javascript con Java. Todavía no está * tan * extendido como PHP, pero funcionar con IIS y cualquier solución JVM lo hace ampliamente disponible y compatible. –

+0

@ T.J. Crowder: Pero el punto es, ¿cuántos hosts conoces que soportan el JavaScript del lado del servidor de inmediato? Además, no existe un estándar para el JavaScript del lado del servidor, por lo que cada implementación usa sus propias bibliotecas y API, lo cual es molesto. –

+0

@musicfreak: Mi punto es que mucha gente tiene paquetes de alojamiento * ahora * que admiten Javascript y ni siquiera lo saben. ¿Tiene un paquete de alojamiento basado en IIS? Es compatible con Javascript en el servidor, desde el principio. ¿Tiene un paquete de alojamiento en Tomcat, Resin o cualquier otra cosa con una JVM? Es compatible con Javascript, de inmediato. Entre esos dos, diría que estamos viendo más de la mitad de los proveedores de hosting (porque aunque Apache ** domina ** el mercado, si se mira, la gran mayoría de las compañías que ofrecen hosting Apache * también * proporcionan IIS o alojamiento de JVM). –

-3

PHP y JavaScript son dos idiomas diferentes que hacen dos diferentes cosas. Uno no puede reemplazar al otro. Lo más probable es que vayas a usar una combinación de los dos. JavaScript para cosas del lado del cliente. PHP para cosas del lado del servidor.

6

La pregunta es muy, muy amplia. Interpretándolo como "puedo usar Javascript en el servidor":

Fundamentalmente, claro, Javascript es un lenguaje muy poderoso y usted puede hacer desarrollo en el lado del servidor como puede hacerlo en el lado del cliente (y si lo hace las secuencias de comandos del lado del cliente también, usted obtiene algunos beneficios de reutilización definitiva utilizando Javascript en el servidor).

  • Para los sistemas de Apache, está el v8cgi project (un FastCGI Javascript plug-in con conectores, a través de Google de freaky-rápido V8 engine).
  • En sistemas basados ​​en Microsoft, IIS admite Javascript (JScript) en el servidor de fábrica (lo uso todo el tiempo), que tiene acceso a todas las cosas de ActiveX (por ejemplo, para hablar con bases de datos, tratar con el sistema de archivos, etc.).
  • Si se basa JVM su infraestructura de servidor, hay Rhino, que es Javascript para la plataforma Java y tiene acceso a todas (o casi todas) las bibliotecas disponibles para Java   — por ejemplo, un enorme ecosistema de las bibliotecas y complementos
  • Aparte de v8cgi, hay otros proyectos en el motor V8 de Google.
  • Hay un lugar que hace una pila completa llamada chromeserver (no sé cuál es su backend, no voy a inferir del nombre).
  • Paul mentionedServerJS y NodeJS.
  • Existe el proyecto completo CommonJS.

Etc. etc. etc. Hay bastante list on Wikipedia.

Discutiendo en contra, hay un muy rico ecosistema construido alrededor de PHP. A menos que esté utilizando algo como Rhino para la plataforma Java o JScript en IIS (debido a los ecosistemas que aprovechan), puede descubrir que no tiene casi ese ecosistema disponible para desarrollar Javascript en el servidor. Quiero decir, si estás buscando un foro preconstruido o un software wiki (por ejemplo), digamos que no puedes cambiar un gato muerto sin encontrar uno basado en PHP, y no se puede decir lo mismo de Javascript en el servidor .

+0

@ T.J. Crowder: Debería ver Client-side-javascript: http://en.wikipedia.org/wiki/Client-side_JavaScript – Sarfraz

+1

@Sarfraz: Oh, absolutamente, Javascript tuvo la mayor parte de su éxito en el lado del cliente, no hay dudas al respecto. Pero llamarlo un "lenguaje del lado del cliente" es pensar muy estrechamente (y desconocer la historia del lenguaje; se ha utilizado en servidores * desde que se creó *). –

2

Para reemplazar PHP con Javascript, necesita Javascript en el lado del servidor y hay muchas cosas sucediendo en ese frente. El Rhino de Mozilla ejecuta Javascript sobre la JVM y parece que Google también está trabajando en su propia server side Javascript framework. Los más populares implementaciones en producción son:

  • Helma: Varios proyectos activos están usando, se ejecuta en el embarcadero & Rhino y permite a los desarrolladores aprovechar el poder de JVM, tiene su propio marco MVC orientado a objetos
  • Project Phobos : se ejecuta en GlassFish & Rhino y permite a los desarrolladores aprovechar el poder de JVM, incluye plug-ins para NetBeans y se integra con jMaki marco de interfaz de usuario web
  • JSSP: un marco del lado del servidor muy simple, muy parecido a ASP clásico, JSP y PHP

Jaxer de Aptana mostró una gran promesa, especialmente al llevar el DOM al lado del servidor, pero el proyecto parece muerto ahora. Por lo que entiendo, node.js no es un framework de Javascript del lado del servidor en el mismo sentido que Helma y Phobos. En su lugar, se puede usar para escribir servidores basados ​​en eventos en Javascript (por ejemplo: escribir su propio servidor web).

+0

@Abbas: +1 para obtener más detalles y esos enlaces :) – Sarfraz

+0

Creo que el desarrollo en el marco de JavaScript de Google se detuvo, porque esa publicación tiene 3 años y no ha habido noticias nuevas sobre ella. O lo mantienen en secreto o ya no están trabajando en eso. –

0

Esto es un poco fuera de tema, pero en realidad puede llegar a la esencia de su pregunta:
si desea utilizar un solo idioma para las aplicaciones web, es posible que quiera echar un vistazo a haXe.

Es un lenguaje multiplataforma, que (entre otros objetivos) se compila en código fuente de JavaScript y PHP, así como en el código de byte de NekoVM. Para JavaScript del lado del servidor, hay enlaces NodeJS.

De esta forma no está limitado a una plataforma específica. Las API de neko y PHP son en gran medida compatibles, por lo que puede implementar en ambas plataformas, teniendo la opción de elegir la velocidad y la persistencia de neko o la facilidad de implementación de PHP.Sin embargo, tenga en cuenta que la salida de PHP tiene un poco de sobrecarga, aunque los optimizadores comunes como eaccelerator lo harán apenas perceptible.

haXe es significativamente menos permisivo que JavaScript y PHP. Esto hace que sea más difícil de aprender, pero una herramienta mucho más segura, robusta y, al final, más productiva.

0

Sí, mi site está escrito por Node.js

Uso websvr, es el estilo de Java tiene filtro y manipuladores, alojamiento en OS debian.

Cuestiones relacionadas