Si sabes programar aplicaciones que se ejecuten en un servidor web (con un lenguaje como PHP
) y en el navegador del usuario (con JavaScript/jQuery
), tienes en tu mano las herramientas necesarias para construir aplicaciones web completas. Sin embargo, es necesario que antes de comenzar tengas claras las funcionalidades que soporta cada una de estas tecnologías de desarrollo, y cómo puedes hacer para utilizar ambas a la vez.
Llevándolo a los extremos, podrías hacer aplicaciones en PHP
que utilicen programación del cliente simplemente para tareas sencillas como verificar campos en los formularios antes de enviarlos. O, por el contrario, sería también posible programar aplicaciones completas que se ejecuten en el navegador del usuario, dejando el lenguaje del servidor para proporcionar ciertas funcionalidades como almacenamiento en bases de datos.
Una alternativa no es necesariamente mejor que la otra. Es necesario analizar de forma independiente la lógica de cada aplicación, de manera que no se malgasten los recursos del servidor realizando tareas que podrían trasladarse al cliente web. En ocasiones también es necesario comprobar los tiempos de carga de las páginas y el tamaño de las mismas. Puede ser preferible utilizar AJAX
para, por ejemplo, enviar nuevos registros al servidor, si el esfuerzo que invertimos redunda en un interfaz de usuario más ágil y usable. En cualquier caso, la consistencia y robustez de la aplicación no debe verse afectada.
Si decides unir en una aplicación programación del cliente web con programación del servidor web, habrá ocasiones en que necesites comunicar ambos lenguajes. En el ejemplo anterior ya has comprobado cómo puedes hacer para pasar un valor o una variable JavaScript
desde el navegador web a un guión en PHP
: enviándolo como parámetro POST
o GET
en una petición de nueva página, bien sea al cargarla en el navegador o utilizando AJAX
en una comunicación asíncrona:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Desarrollo Web</title>
</head>
<body>
<script type="text/javascript">
<?php
// Creamos en la página un código JavaScript que
// utiliza la variable PHP "$email"
$email = "alumno@educacion.es";
echo 'window.open("email.php?email='.urlencode($email).'");';
?>
</script>
</body>
</html>