Diferencias entre Javascript y PHP

Porque escribo sobre las diferencias entre Javascript y PHP

Un alumno me ha mandado el siguiente email. Mi alumno, pese ha lograr hacer con éxito tareas más o menos complejas con Javascript y PHP, me plantea unas cuestiones que me dan a entender que las diferencias entre Javascript y PHP no están tan claras como pensaba. A pesar de que ambas tecnologías son usadas intensamente en el desarrollo web, se ocupan de partes diferentes del ecosistema de una página web (si no tenemos en cuenta nodeJS).

Si quieres aprender lo cualquiera de estas dos tecnologías, puedes consultar del curso de Javascript o el curso de PHP que tienes en esta misma web.

Buenas! Estoy haciendo mi portfolio y me ha surgido una duda sobre el formulario de contacto.

Lo quiero hacer a mano pero no se si usar javascript o usar PHP. Usar PHP es más seguro que JS?

Saludos!!

¿Qué es Javascript?

Javascript es un lenguaje de programación que funciona en el lado del cliente. Esto quiere decir que al igual que pasa con HTML y CSS, en el momento en que estás ejecutando el código Javascript, dicho código está descargado en tu ordenador. Por tanto, tu vas a poder examinarlo, e incluso copiarlo y modificarlo (podrás modificar el código que te has descargado).

Este lenguaje se ejecuta en el navegador, así que depende del navegador (firefox, chrome, internet explorer, etc) que este código se ejecute correctamente (del navegador y del programador :D).

¿Qué es PHP?

Es un lenguaje de programación del lado del servidor. Por tanto, salvo que seamos los propietarios de la página y tengamos acceso al servidor, no vamos a poder ver el código PHP de la página. Nosotros como usuarios de una web, no tenemos acceso a su código PHP.

Ya que PHP es un lenguaje del lado del servidor, se ocupa de las funcionalidades que tienen que ver con él. Con PHP puedes mandar un mail, acceder a la base de datos, etc.

En el envío de un mail… ¿por qué debes usar PHP?

El envío del mail debes usar PHP. O con otro lenguaje de servidor, como Java, ASP…etc. pero no con un lenguaje del cliente.

La función de PHP que se encarga de mandar un mail es la siguiente:

mail($correo, $asunto, $mensaje);

La parte de validación del formulario, en la que podemos verificar si se han incluido todos los campos, que el mail tiene el formato correcto, etc., es la parte que programarías con Javascript. ummm… si me apuras, ni eso, ya que ahora con HTML5, es posible establecer la validación de un formulario sin utilizar Javascript, sólo con HTML. En este enlace te muestro un ejemplo. Puedes echarle un vistazo al código fuente para ver como lo he hecho.
Esta parte de validación de los campos del formulario, que típicamente se hace con Javascript, se puede también usar PHP, pero entonces los campos no se validan antes del envío en el navegador del cliente, sino después del envío, cuando ya han llegado al servidor.

Tanto si quieres aprender Javascript como si quieres aprender PHP, en esta página tienes cursos de ambas tecnlogías:

¿Así que… PHP se encarga del servidor y Javascript del cliente?

Esto es bastante cierto. Sin embargo, desde hace unos años puedes programar en el lado del servidor con Javascript, utilizando nodeJS. nodeJS es una solución tecnológica relativamente nueva (comparado con usar PHP) y potente, aunque no tan extendida como PHP y Javascript en el lado del cliente.

Así pues, sabiendo nodeJS puedes programar tanto en el lado del cliente como en el lado del servidor, esto a priori es muy positivo, pero no hay que perder de vista, que esto sólo te servirá para aplicaciones a medida; WordPress, Drupal, Joomla… están todos escritos en PHP, así que lo que aprendas de nodeJS no te servirá para estas aplicaciones, además de que no es posible instalar nodeJS en la inmensa mayoría de los servidores compartidos.

Si estás dando tus primeros pasos en el mundo de la programación, antes aprendería Javascript para el lado del cliente y PHP para el lado del servidor que sólo Javascript para ambos lados. Aunque son lenguajes de programación diferentes, el lenguaje de programación más difícil siempre es el primero, y aprender PHP sabiendo Javascript no es demasiado complicado.