Capítulo IV.

Anuncio
Microsoft Virtual Academy
Cursos técnicos gratuitos en línea
Tome un curso gratuito en línea.
http://www.microsoftvirtualacademy.com
Aprendiendo a Programar
Capítulo IV
Qué es Javascript?
• Es un lenguaje de programación que los browser
directamente leen e interpretan en el momento en que
cargamos nuestra página web.
• Se usa principalmente del lado del cliente, o sea, en nuestra
computadora, implementado como parte de un navegador
web y nos permite hacer mejoras en la interfaz de usuario y
páginas web dinámicas.
• Todos los navegadores modernos interpretan el código
JavaScript integrado en las páginas web, como Internet
Explorer, Firefox o Chrome.
Librerías en Javascript
• Qué significa que la gente haga programas abiertos para reutilizar? Grupos
de programadores en todo el mundo han ido desarrollando lo que se
llaman librerías, que no son mas que un conjunto de funcionalidades en
un lenguaje determinado, en este caso javascript, para hacer
determinadas tareas.
• Qué tareas? Con algunas librerías podemos por ejemplo corroborar que
los campos en un formulario se hayan cargado correctamente o que no
estén vacíos. O podemos crear animaciones con imágenes, o simplemente
mostrar un calendario para que un usuario elija una fecha. Son cosas que
parecieran sencillas, y realmente lo son si utilizamos las librerías que
tenemos a disposición.
Eventos
• Para usar las librerías vamos a tener que entender algunas cosas. Y
siempre que trabajemos con Javascript del lado del cliente tendremos que
manejar lo que son Eventos.
• Los eventos son todas las acciones que el usuario inicia: dar clic sobre un
botón, presionar las teclas del teclado, etc. Cada vez que se produce un
evento, se crea un objeto.
• Cada lenguaje de programación tiene su propio modelo de eventos.
• Javascript registra las fuentes de eventos (teclado, ratón, etc). La
aplicación se queda escuchando y en el caso de que ocurra un evento
utilizamos la información recibida para realizar las acciones adecuadas.
Programación del lado del cliente
• Comencemos por el principio. En desarrollo web, existen una
categorización que define dos tipos de tecnologías: del lado del cliente y
del lado del servidor.
• Las tecnologías del lado del servidor guardan información y modelos de
datos en el server y luego envían el código de la página web al navegador
del usuario cuando este lo requiere. Las tecnologías del lado del cliente
directamente se interpretan y ejecutan directamente en el navegador del
usuario.
• En general, ambas tecnologías interactúan para crear un sitio web
completo.
Programación del lado del cliente
• Javascript es una tecnología del lado del cliente que puede ser utilizada
para una variedad de cosas, como ser:
–
–
–
–
–
Validación de formularios
Crear efectos
Cambiar estilos dinámicamente
Hacer cálculos complejos
Etc.
• Javascript se ha convertido en una tecnología sumamente importante
porque el procesamiento del lado del cliente es mas eficiente que del lado
del servidor y es orientado a eventos (que veremos luego), que son las
interacciones del usuario con la interfaz.
Un primer ejemplo en JS
•
•
Para realizar nuestro primer programa en Javascript, tomemos el HTML que hicimos en el capítulo
anterior, nuestro Hola Mundo
Y saquemos lo que hay en el tag h1 y cambiemos nuestro title a Mi primer programa en Javascript y
agregamos en el body una función para escribir información
<!DOCTYPE html>
<html>
<head>
<title>Mi primer programa en Javascript</title>
</head>
<body>
<script language=”javascript” type=”text/javascript”>
document.write(“<h1>Hola Mundo desde Javascript</h1>”);
document.write(“<br/>Este es mi primer programa en Javascript!”);
</script>
</body>
</html>
Corriendo nuestro ejemplo
•
Clickeen en el archivo HTML para abrirlo y verán el resultado. Lo que hace el tag
script es decir que allí en el HTML se insertará un programa, y defino el lenguaje
en el que estará el mismo, en este caso Javascript. Luego dentro de mi código JS
estoy escribiendo el documento HTML lo que se encuentra entre comillas, que no
es mas ni menos que código HTML para que el navegador lo interprete y muestre
lo correspondiente.
•
Pero la potencia de Javascript, viene de lo que llamamos Eventos, que veremos en
la sección 3, pero que de manera simple, son todas las interacciones que hace un
usuario con la interfaz. De esa manera cada vez que ocurre un evento podemos
activar lo que se llaman “funciones de JS” que realizarán algún tipo de
procesamiento y acción.
Funciones
•
En general, el tag de Javascript para funciones se suele poner en el tag Head, y luego
definimos una función utilizando la palabra function:
<script language=”javascript” type=”text/javascript”>
function decirHola()
{
document.write(“Hola Mundo”);
}
</script>
• Y luego lo que haremos, en el body, será llamar a la función:
<script language=”javascript” type=”text/javascript”>
decirHola();
</script>
Librerías
•
La otra manera de incluir funcionalidades en JS en nuestros programas,
reutilizando código ya escrito, es llamando a librerías externas. Esto lo podemos
hacer poniendo una línea como la siguiente:
<script language=”javascript” type=”text/javascript” src=”attached.js”></script>
•
De esta manera, es que podremos utilizar librerías como jQuery, que veremos en
la próxima sección, solamente incluyendo el llamado a la misma insertando la
siguiente línea en el head:
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.0.min.js"></script>
•
•
Lo que haremos entonces será simplemente, esperar la ocurrencia de un evento y
cuando ello ocurra, llamar alguna función de Javascript para que realice algún tipo
de acción
Para mas información: http://www.w3schools.com/js/default.asp
jQuery
• jQuery es una librería de JavaScript que funciona de manera
rápida, es liviana y rica en funcionalidad. jQuery permite
manipular el HTML para modificarlo dinámicamente, nos
permite un mejor manejo de eventos, animación y Ajax (que
veremos luego), de manera mucho más simple que funciona
en prácticamente todos los navegadores.
• JQuery se puede descargar e incluirlo en nuestro proyecto
directamente, o se puede utilizar desde un servidor remoto,
como vimos anteriormente.
Instrucciones de jQuery
• La manera de escribir código para jQuery es muy sencilla, y tiene cierta
forma similar con CSS y con Javascript. La sintaxis está hecha a medida
para la selección de los elementos HTML y realizar alguna acción sobre el
elemento.
$(selector).acción()
• Por ejemplo:
–
–
–
–
$(this).hide() – oculta el elemento donde se está haciendo foco
$("p").hide() – oculta todos los elementos <p>.
$(".test").hide() – oculta todos los elementos con class="test".
$("#test").hide() – oculta el elemento id="test".
Instrucciones de jQuery
•
Entre las animaciones y efectos que podemos agregar a nuestra página utilizando jQuery, se
encuentran:
–
–
–
–
–
–
–
•
Y para manipular el HTML de nuestra página podremos utilizar funcionalidades como:
–
–
–
–
•
Hide/Show
Fade
Slide
Animate
Stop
Callback
Chaining
Get
Set
Add
Remove
Para mas información ingresar en: http://jquery.com/
Eventos en profundidad
•
•
Nada de lo que vimos tiene sentido si no entendemos en profundidad lo que
significa un evento. Mucha de la programación de hoy día se maneja mediante
eventos, ya sea en una web o un dispositivo móvil.
La definición corta es que un evento es una acción o acontecimiento detectado
por el programa que puede ser manejado por el mismo. Típicamente, el programa
tiene uno o más lugares dedicados a manejar los eventos. La fuente mas usual de
eventos es el usuario (que pulsa una tecla en el teclado, mediante el click de un
mouse, el tap en una pantalla táctil, etc). Otra fuente podría ser un dispositivo de
hardware, como un temporizador o reloj. Cualquier programa también puede
generar su propio conjunto de eventos, por ejemplo, para comunicar la finalización
de una tarea.
Programación orientada a eventos
• Los programas se basan en los eventos para modificar su comportamiento
en respuesta a los mismos, a menudo con el objetivo de ser interactivo. De
esta manera es que se programan sistemas que son orientados a eventos.
• En la programación web y en la programación de aplicaciones para
dispositivos móviles, los eventos existentes son muchos y variados.
Simplemente para activarlos debemos agregar programación que realice
algo cuando ese evento ocurre. Si no existe ese código no significa que el
evento no esté ocurriendo sino simplemente que no haremos nada con el
mismo
Algunos eventos comunes
• Algunos de los eventos mas comunes que se utilizan en programación web
y móvil son:
–
–
–
–
–
–
–
–
–
onLoad: se dispara cuando se carga la página, antes de cualquier acción
onFocus: cuando ponemos el foco en un campo de ingreso de datos
onKeyPress: cuando se presiona una tecla
onKeyUp: cuando se suelta una tecla presionada
onKeyDown: cuando se se esta presionando una tecla
onClick: cuando se presiona el botón del mouse
onDblClick: doble click del mouse
onMouseMove: cuando se mueve el mouse
onMouseOver: cuando el mouse pasa sobre un elemento
Recursos
•
•
•
•
•
http://www.w3schools.com/js/default.asp
http://jquery.com/
http://www.w3schools.com/jquery/default.asp
http://www.w3schools.com/jsref/dom_obj_event.asp
http://jqueryui.com/
Descargar