Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
MODULO DE APRENDIZAJE
LENGUAJE DE PROGRAMACION IV
PRESENTACION
Un mdulo de enseanza aprendizaje, es una propuesta metodolgica bien
organizada que establece la ruta que tiene que seguir el estudiante para lograr
las competencias del curso.
Este mdulo de aprendizaje est diseado para los alumnos del VIII ciclo de la
Carrera de Computacin e Informtica del I.S.P.P. Fray Florencio Pascual
Alegre Gonzlez, que describe con rigor y profundidad los elementos
necesarios, ilustrndolos con ejemplos sencillos, pero realistas. Todo ello con
un enfoque multi-disciplinar que cubre la programacin en JavaScript y el
diseo de grfico. Se ilustra tambin el uso de libreras tales como jQuery o
jQuery UI, Bootstrap (diseos adaptable), gmaps (integracin de GoogleMaps)
o phonegap (creacin de apps ).
PRIMERA UNIDAD
INTRODUCCIN AL DESARROLLO EN HTML5, CSS3
LECCIN N 1
INTRODUCCIN A INTERNET Y A LA WEB
1.1. CLIENTES, SERVIDORES Y LA NUBE
Puerto
Direccin de 16 bits dentro de la mquina servidora
o Es donde se instala el programa servidor
El programa servidor es lo que normalmente denominamos servidor
o Cliente y servidor se comunican a travs de un protocolo: HTTP, SMTP,
o Utilizando el interfaz de sockets TCP/IP para comunicar entre ambos
Los servicios tienen un protocolo y un puerto por defecto
Web:
Protocolo HTTP (puerto 80), HTTPS (443)
Email:
Protocolo SMTP (puerto 25), POP3 (110), IMAP143)
Shell segura: protocolo SSH (puerto 22)
4
HTML
Lenguaje de marcado
CSS
Estilo la visualizacin
JavaScript
Lenguaje de programacin
QUE ES HTML
Es un lenguaje de marcas para formatear y estructurar un documento, que puede leerse
en cualquier navegador.
<html> </html>
Estandarizado en la norma ISO de SGML (Standard Generalized Markup Lenguage).
El W3C desarrolla especificaciones tcnicas y directrices, de forma que se pueda
asegurar una alta calidad tcnica y editorial.
2.1.2.
ESTRUCTURA HTML
Un documento HTML tiene tres etiquetas que describen la estructura general de un
documento y dan una informacin sencilla sobre l. <html>, <head> y <body>
Las etiquetas pueden escribirse tanto en maysculas como en minsculas, pero se
recomienda el uso de minsculas: <html> o<HTML>, <body> o <BODY>
Editor
2.1.3.
Visualizacin en el navegador
LENGUAJE HTML
Las marcas de texto en html, se emplean para el estructurado semntico del contenido
.
Los textos habitualmente estn formados bsicamente por titulares <h1></h1> prrafos
<p></p> , resaltando en ellos agunas palabras en negrita <strong></strong> o en cursiva
<em></em> .
Las imgenes se vinculan en una pgina HTML con la etiqueta img
<img src="ingress.jpg" width="400" height="492" alt="Louis-Francois Bertin - Ingres"/>
con los atributos: src = URL, width = ancho, height = alto, alt = texto alternativo de la
imagen.
7
2.1.4.
URL
URL (Uniform Resource Locator) es el localizador de un archivo en internet.
Una direccin absoluta en internet, que combina el nombre del servidor que proporciona
la informacin, el directorio donde se encuentra, el nombre del fichero:
esquema://www.miDominio.com/ruta/miArchivo.html
Un esquema define el tipo de servicio de internet:
http, es el protocolo usado para la transacin en la Web
<a href="http://www.nytimes.com/"> The New York Times</a>
https es la versin segura de http
<a href=" https://www.google.es/"> Google Espaa</a>
mailto, es el esquema que se emplea para enlazar a una direccin de correo.
<a href="mailto:nombre@miDominio.com"> Contacto</a>
ftp, es el esquema para la transferencia archivos.
<a href="ftp://ftp.miDominio.com/ruta/miArchivo.zip">Descarga por FTP</a>
Una URL local nos lleva a otra pgina o archivo del mismo sitio de Internet.
Ejemplo de un sitio web, de la raz parten todas las subcarpetas.
css, img, pag
Cuando el archivos a enlazar est en la misma carpeta: la ruta es directamente el nombre
del archivo de destino. <a href="pag2.html">Ver siguiente</a>
El archivo de destino est en una carpeta de nivel inferior a su origen, en este caso
deberemos escribir la ruta a partir de la carpeta donde est el archivo de origen:
<link href=css/estilo.css" rel="stylesheet" type="text/css"/>
<a href="pag/pag5.html">Ver ejemplo 5</a>
CSS
En HTML, controla el aspecto grfico del documento mediante hojas de estilo CSS
(cascading style sheets), el CSS, indica al navegador como se deben visualizar los
elementos de un documento HTML.
As se consigue separar el aspecto del contenido.
El estilo CSS, se puede aadir mediante un bloque marcado como <style> en la cabecera
(<head>) y aplica el estilo a los elementos de la pgina.
Para aplicar un estilo de presentacin, el selector de elementopuede ser una etiqueta
HTML: p, h1, ul, li
El estilo afecta a todo el contenido incluido dentro de esa etiqueta
<p> </p>, <h1></h1>, <ul></ul>, <li></li>.
El estilo se define entre llaves "{" y "}"
Cada etiqueta HTML tiene unos valores de CSS por defecto, que pueden variar segn el navegador,
que tendremos que modificar con nuestros estilos personales.
NAVEGACION HTML
La etiqueta <a> se emplea para definir un enlace a otra pgina. Un men es una lista de
enlaces. Se recomienda usar las marcas de lista <ul> <li> y el enlace <a>.
10
EDITORES HMTL
Antes de comenzar a trabajar con un editor especfico, es recomendable conocer el cdigo.
Podemos usar programas que trabajen con texto plano, sin aadir sus propias marcas de
edicin. Los documentos HTML deben tener la extensin html o htm.
Usar un editor wysiwyg como el Adobe Dreamweaver o el BlueGriffon
(http://www.bluegriffon.org/) o un editor con ayudas visuales como el sublime
(http://www.sublimetext.com/) o el Brackets (http://brackets.io/ )nos facilitar las cosas.
Ver comparativa: http://en.wikipedia.org/wiki/Comparison_of_HTML_editors
2.1.8.
RECURSOS CSS
MDN Usando las cajas flexibles CSS
https://developer.mozilla.org/es/docs/Web/Guide/CSS/Cajas_flexibles
CSS-TRICKS A Complete Guide to Flexbox
http://css-tricks.com/snippets/css/a-guide-to-flexbox/
ESTRUCTURA HTML
Los elementos html pueden visualizarse por defecto como bloque o como en lnea.
Los elementos bloques block ocupan todo el ancho de la pgina y fuerzan a una nueva lnea
antes y despus.
<article> <aside> <canvas> <div> <footer> <h1>, <h2>, <h3>, <h4>, <h5>, <h6> <header>
<p> <pre> <section><ul>
Los elementos en lnea inline slo ocupan el ancho necesario y no fue rzan nuevas lneas.
<em> <a> <br> <img> <span> <button> <input> <select><textarea>
11
ESTRUTURA HTML5
En HTML5, los bloques div son sustituidos por bloques semnticos que muestran
significado por si mismos.
En HTML 5 se ha querido mejorar esa situacin introduciendo varias etiquetas para
definir
diferentes
tipos
de
secciones: <article>, <section>, <nav>,<aside>, <header> y <footer> .
Al utilizar etiquetas especficas para tipos de contenido especfico, se mejora la
legibilidad y facilidad de reutilizacin tanto del cdigo HTML como de las hojas de estilo.
Secciones y esquemas del documento con HTML5
Encabezamiento: <header>
La etiqueta <header> est pensada para agrupar el contenido inicial de una pgina
web. El elemento <header> puede estar incluido en <body> y entonces se entiende
que es el encabezado de la pgina en su conjunto, pero tambin se puede incluir
en <article>, <section>, <nav> y <aside> y entonces se entiende que es el encabezado
del elemento que lo contiene.
Navegacin: <nav>
La etiqueta <nav> est pensada para agrupar los enlaces a otras pginas o los
enlaces a los apartados de la propia pgina. La imagen siguiente muestra una pgina
con tres elementos <nav>:
o
o
o
12
13
2.2.3.
ESTRUCTURA CSS
El estilo CSS se puede aadir escribiendo directamente las propiedades CSS en la lnea, es el
mtodo ms sencillo, se aade un atributo style en el elemento concreto dentro de la
pgina. No se pueden reutilizar en otros elementos que comparten las mismas propiedades.
Se escriben las propiedades del estilo en las marcas del HTML como "nombre: valor"
separadas por punto y coma.
<body style="color: red; ">
<p style="font-size: 16px; color: blue; font-family: Arial, Helvetica, sans-serif;">Mi primera
pgina</p>
Lo ms aconsejable para mantener la separacin entre contenido y presentacin, en una
hoja de estilo CSS separada del HTML, que se importa con un elemento <link> en la
cabecera.
14
Border-top-right-raduis:50px 30 px
Border-radius: 0 20px 20 px 0
Border-bottom-right-raduis:50px
30px
Border-radius:2px 0 0 20px
box-shadow:
inset -5px -5px 5px #888
box-shadow:
inset -5px -5px 5px #888
Border-radius:50% ;
Border-radius:50% 50% 0 0
Border-top-right-raduis:50% 20%
15
div
2.2.4.
Actividad: Cuestionario
A. Cul de las siguientes etiquetas de estructura no es semntica HTML5:
<header>
<section>
<div>
<aside>
B. Cul de las siguientes etiquetas NO es de bloque block:
<h1>
<hr>
<span>
<p>
C. Hay caracteres que deben aparecer en los contenidos como escapes, de manera que no
interacten con la sintaxis del etiquetado. El carcter ">" en el HTML se escribe:
<
>
&
D. Dados los valores de sombra para una caja:
box-shadow: inset 5px 5px 20px 5px #CCCCCC;
La sombra es:
De color rojo
Interior
De 30px de desplazamiento horizontal
Exterior
17
18
2.3.1.
Siblings son los elementos que comparten un mismo padre en la estructura del
documento
SELECTORES CSS
El selector aplica a todos los elementos HTML de la pgina con esa etiqueta (p).
El selector mltiple de CSS, incluye varios selectores separados por coma (,), para aplicar
propiedades comunes: h1, h2, h3.
El selector descendente puede incluir etiquetas separadas solo por espacios. Se aplicar
solo a elementos que estn dentro de otros anteriores, ancestros, en el ejemplo, .caja
deber ser ancestro de nav y nav deber ser ancestro de ul.
Selector
universal * afecta a todos los elementos.
* { margin: 0; padding: 0; }
19
PRIORIDAD CSS
Reglas adicionales de prioridad de las declaraciones CSS ordenadas de menor a mayor:
CSS por defecto del Navegador (navegador)
CSS en preferencias de usuario del navegador (usuario)
CSS en pgina HTML o script CSS (diseador)
CSS en pgina HTML o script CSS con !important (diseador)
Ejemplo: body {color:blue !important;}
CSS en preferencias de usuario del navegador con !important
(usuario), p. e. body {color:blue !important;}
2.3.3.
RECURSOS CSS
Kseso CSS: CSS bsico: Cascada, especificidad y herencia
http://ksesocss.blogspot.com/2012/05/css-basico-cascada-especificidad-y.html
Dev.Opera: Recorriendo el rbol DOM
http://dev.opera.com/articles/view/traversing-the-dom-es/
LIBROS WEB: rbol de nodo
http://librosweb.es/javascript/capitulo_5/arbol_de_nodos.html
UOC: Herencia y cascada
http://mosaic.uoc.edu/ac/le/es/m6/ud2/
2.3.4.
ACTIVIDAD CUESTIONARIO.
A.
B.
LECCIN N 3
ESTRUCTURA HTML5/CSS3 PARA MULTIPANTALLA Y OBJETOS MULTIMEDIA
3.1. ESTRUCTURA CSS3: Permite posicionar los div en la pgina, float
<style type="text/css">
div {
float: left;
padding: 5px;
margin-right: 5px;
margin-bottom: 5px;
border: 1px solid
#666;
}
</style>
CSS3 permite posicionar los div en la pgina, float y clear. Con float el div flota a una
posicin relativa.
CSS3 permite posicionar los div en la pgina, float y clear. Con clear rompe el
esquema del float.
21
22
Con posicin fija el div no cambia de posicin en el escalado del navegador o el scroll en la
pgina.
23
scaling
factor
XHTML
headings
xx-small
x-small
small
medium
large
x-large
xx-large
3/5
3/4
8/9
6/5
3/2
2/1
h5
h4
h3
h2
h1
h6
3/1
Font Format
Common extensions
"woff"
.woff
24
"truetype"
TrueType
.ttf
"opentype"
OpenType
.ttf, .otf
"embeddedopentype"
Embedded OpenType
.eot
"svg"
SVG Font
.svg, .svgz
3.1.3. @font-face
Permite vincular fuentes sin necesidad de que el cliente las tenga instaladas en su
ordenador.
font-family
Valor: <family-name>
Src
[<uri> [format(<string> [, <string>]*)] | <font-face-name> ] [, <uri> [format(<string>
[,<string>]*)] | <font-face-name> ]*
@font-face {
font-family: FiraMono;
src: url(FiraMono-Regular.woff) format("woff"),
url(FiraMono-Regular.eot) format("embedded-opentype");
}
p{
font-family: FiraMono, serif;
}
@font-face embedding
Es posible el uso de fuentes alojadas en servidores externo.
Google Fonts
En la cabecera
<link href='http://fonts.googleapis.com/css?family=Caesar+Dressing'
rel='stylesheet' type='text/css'>
En el estilo
p{
font-family: 'Caesar Dressing', cursive;
}
3.1.4. Actividad Cuestionario
A. Cul de los siguientes formatos no es un formato de fuente:
o .WOFF
o .SVG
o .SWF
o .OTF
25
26
3.2.2. VIDEO.
HTML5 permite insertar contenido multimedia, audio y vdeo.
<video src="video.mp4"> Tu navegador no soporta el elemento vdeo </video>
Atributos
poster: permite insertar una imagen de sustitucin cuando el vdeo no est disponible.
controls: se incluyen controles de play, pause
width y height: ancho y alto, se ajusta al valor y el otro se calcula automticamente
manteniendo la proporcin.
loop: reproduce el vdeo continuamente .
autoplay: reproduce el vdeo automticamente.
preload: carga el vdeo <video src="video.mp4" poster="videojpg" autoplay loop
controls></video>
27
28
29
Qu marca usar?
<object>: Es la mas general de todas. Puede integrar una imagen, un marco de
navegacin anidado o un recurso procesado por un plugin. Permite paso de parmetros
e interaccin con el objeto integrado. Tipo mime identifica tipo de objeto: <object
type="image/svg+xml" .. >
<iframe>: Es la mas segura. Crea una caja de arena (sandbox) y restringe accesos al
mismo origen. Protege de acciones hostiles del objeto importado
<embed>: Marca no estndar heredada de tiempos del Flash. Aunque ha sido incluida
en HTML5, su uso no es muy popular.
<object>, <iframe> y <embed> pueden usarse con imgenes, video,..
El ejemplo siguiente muestra su equivalencia, incluyendo
2 marcos de navegacin anidados, uno con <object> y otro con <iframe>,
2 videos, uno con <video> y otro con <iframe>,
2 imagenes, un SVG animado con <object> y un PNG de baja resolucin con <img>.
30
31
32
FICHA DE AUTOEVALUACIN
I.
DATOS INFORMTICOS:
rea
______________________________________________________________________
Forma dora
______________________________________________________________________
Grupo
______________________________________________________________________
Tema
______________________________________________________________________
Semestre
_____________________ Secci n _____________
Fecha ______/______/ 2016
II.
ALUMNO(A)
III.
CRITERIO DE DESEMPEO
1.1.3. T oma decisiones y resuelve problemas con autonoma, asertividad, empata y responsabilidad.
1.1.4. Demuestra tica, compromiso y autodisciplina en las tareas que asume.
2.3.4. Utiliza las TIC existentes en su medio, en sus procesos pedaggicos asumiendo respeto por las ideas vertidas en las T IC.
3.1.4. Acta bajo principios de convivencia democrtica, buscando el bienestar colectivo.
3.
CRITERIOS DE EVALUACIN
INDICADORES
ESCALA
3 4
Total
LEYENDA:
INSUFICIENTE (1)
SUFICIENTE (2)
REGULAR (3)
BUENO (4)
OBSERVACIONES
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
________________
Alumno(a)
33
SEGUNDA UNIDAD
JAVASCRIPT
LECCION 04
INTRODUCCIN A JAVASCRIPT: EXPRESIONES, VARIABLE, FUNCION, OBJETO Y DOM.
4.1. JAVASCRIPT: EXPRESIONES.
Lenguaje de programacin diseado en 1995 por Brendan Eich. Para animar pginas Web en el
Navegador Netscape. Hoy se ha convertido en el lenguaje del Web y de Internet.
Gua: https://developer.mozilla.org/es/docs/Web/JavaScript/Guide .
JavaScript: sigue la norma ECMA-262 (European Computer Manufacturers Assoc.). La que es
Seguida por todos los navegadores: Chrome, Explorer, Firefox, Safari, ..
Link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript.
Expresin sintcticamente
incorrecta da
ERROR
4.1.2.
TEXTO: STRINGS.
El texto escrito se representa en JavaScript con strings. Un string delimita el texto con
comillas o apstrofes, por ej.
Frases: "hola, que tal" o 'hola, que tal'
String vaco: "" o ''
Ejemplo de "texto 'entrecomillado' ", comillas y apstrofes se pueden anidar,
'entrecomillado' forma parte del texto.
Operador + concatena strings, por ejemplo
"Hola" + " " + "Pepe" => "Hola Pepe
35
4.1.3.
SOBRECARGA DE OPERADORES
Los operadores sobrecargados tienen varias semnticas, dependiendo del contexto
en que se usan en una expresin
Por ejemplo, el operador + tiene 3 semnticas diferentes
Suma de enteros (operador binario)
Signo de un nmero (operador unitario)
Concatenacin de strings (operador binario)
13 + 7
=> 20
// Suma de nmeros
+13
=> 13
// Signo de un nmero
"Hola " + "Pepe" => "Hola Pepe" // Concatenacin de strings
4.1.4.
. []
Acceso a propiedad o invocar mtodo; ndice a array
new
Crear objeto con constructor de clase
()
Invocacin de funcin/mtodo o evaluar expresin
++ -Pre o post auto-incremento; pre o post auto-decremento
! ~
Negacin lgica (NOT); complemento de bits
+ Operador unitario, nmeros. signo positivo; signo negativo
delete
Borrar propiedad de un objeto typeof void
Devolver tipo;
valor indefinido
* / %
Nmeros. Multiplicacin; divisin; modulo (o resto)
++ Concatenacin de strings; Nmeros. Suma; resta
<< >> >>>
Desplazamientos de bit
< <= > >=
Menor; menor o igual; mayor; mayor o igual
instanceof in objeto pertenece a clase?; propiedad pertenece a objeto?
== != === !==
Igualdad; desigualdad; identidad; no identidad
&
Operacin y (AND) de bits
^
Operacin exclusivo (XOR) de bits
|
Operacin (OR) de bits
&&
Operacin lgica y (AND)
8*2 - 4 => 12
||
Operacin lgica o (OR)
* tiene ms prioridad que -, pero (..) obliga a evaluar
?:
=
OP=
,
4.1.5.
antes - en:
Asignacin condicional
8*(2 - 4) => -16
Asignacin de valor
Asig. con operacin: += -= *= /= %= <<= >>= >>>= &= ^= |=
Evaluacin mltiple
CUESTIONARIO OBLIGATORIO.
A. Indicar el resultado de evaluar la siguientes expresin JavaScript: "2"+"3"
B.
2
4
5
23
"23"
ErrorDeEjecucin
5
23
"23"
ErrorDeEjecucin
37
C.
2
5
23
33
"23"
ErrorDeEjecucin
5
23
33
"23"
"1023"
ErrorDeEjecucin
Un programa es una secuencia de sentencias, que se ejecutan en el orden en que han sido
definidas (con excepciones)
Las sentencias realizan tareas al ejecutarse en un ordenador. Cada sentencia debe
acabarse con punto y coma: ";.
Los comentarios solo tienen valor informativo, para ayudar a entender cmo funciona el
programa.
Comentario multilnea:
delimitado con
/* . */
/* Ejemplo de
programa JavaScript */
Comentario de una
Sentencia 1: define la
lnea: empieza con
variable x con valor 7.
var x = 7; // Definicin de variable
// y acaba al final de la
// visualizar x en el navegador
lnea
Sentencia 2: visualiza
document.write(x);
x en el navegador
4.2.1.
Define la variable
euro con valor 10
Visualizan en el
navegador el
resultado de
evaluar las
expresiones
Separacin de
lnea HTML
4.2.2.
4.2.3.
4.2.4.
4.2.5.
JavaScript permite omitir ; si la sentencia acaba con nueva lnea. Esto puede dar
problemas y no debe hacerse nunca.
Cada sentencia debe ocupar una lnea por legibilidad, salvo algunas excepciones
Las sentencias con bloques de cdigo: if/else, while, for, definicin de funciones,
sentencias que contienen expresiones muy largas
40
4.3.1.
4.3.2.
OPERADORES DE ASIGNACIN
Es muy comn modificar el valor de una variable, sumando, restando, .... algn valor
Por ejemplo, x = x +7; y = y - 3; z = z * 8; .
JavaScript tiene operadores de asignacin especiales para estos casos
n +=, -=, *=, /=, %=, (y para otros operadores del lenguaje)
x += 7; ser lo mismo que x = x + 7;
41
4.4.1.
Una funcin se define con la palabra reservada function seguida del nombre .
A continuacin se definen los parmetros entre parntesis. Los parmetros son
variables que se asignan en la invocacin. Puede asignarse nuevos valores en
el bloque igual que a las variables
A continuacin se define el bloque de cdigo delimitado entre llaves {} . El
bloque contiene instrucciones
La sentencia return <expresion> finaliza la ejecucin. Devolviendo el resultado de
evaluar <expresion> como valor de retorno. Si la funcin llega a final del bloque sin
haber ejecutado un return, acaba y devuelve undefined
42
4.4.2.
4.4.3.
4.4.4.
4.5.2.
45
4.5.4.
4.6. ACTIVIDAD
47
LECCIN 5
JAVASCRIPT: BOOLEANO, IF/ELSE, STRING, NMERO, DOM, EVENTOS E INTERACION
5.1. BOOLEANOS Y SENTENCIA IF/ELSE.
A. BOOLEANOS: TRUE Y FALSE:
El tipo booleano solo posee los valores: true y false.
B.
SENTENCIA
IF/ELSE
C.
LA CLASE
DATE: FECHAS Y
HORAS
Clase Date
new Date()
crea objetos
pertenecientes a
esta clase
new Date() devuelve un objeto con fecha y hora del reloj en el momento de crear
el objeto
Sobre los objetos de esta clase se pueden invocar los mtodos definidos para ella
getDay(), getHours(), getMinutes(), getFullYear(), ..
Invocar un mtodo que no est definido en un objeto da un error_de_ejecucin
48
D. IF/ELSE-IF ENCADENADO
49
G. CUESTIONARIO OBLIGATORIO
Para superar este test, has de responder correctamente al menos el 75% de las preguntas.
Principio del formulario
1. Dadas las siguientes definiciones de funciones:
function f_1 (x) {
if (x) {
return 8;
} else {
return "7";
}
}
function f_2 (x) {
return ((4 <= x)&&(x < 7));
}
function f_3 (x) {
if ((x % 2) === 0) {
return "par";
} else {
return "impar";
}
50
51
C. CDIGOS ESCAPADOS
Definen caracteres UNICODE. Comienzan con barra inversa: \La definicin solo incluye
caracteres ASCII. Se incluyen en strings como otros caracteres
Hay tres tipos
Caracteres de control ASCII
Caracteres UNICODE
Caracteres ISO-8859-1
Algunos ejemplos
Las "Comillas dentro de \"comillas\"" deben ir escapadas dentro del string.
En "Dos \n lineas el retorno de lnea (\n) separa las dos lneas.
52
D. MTODOS DE STRING
Algunos mtodos y elementos tiles de String
Ms infor: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
53
C. MDULO MATH
54
E. PARSEINT(..) Y PARSEFLOAT(..)
parseInt(string, [base]): funcin predefinida de JS que convierte string a number. String
se interpreta como un entero en la base indicada (por defecto base 10)
parseFloat(string): funcin predefinida de JS que convierte string a number. String se
interpreta coma un nmero en coma flotante.
ParseInt(..) o parseFloat(..): realizan una conversin similar a la conversin automtica.
OJO! Convierten a nmero si un prefijo no vaco del string representa un nmero
Esta sentencia permite definir parmetros por defecto en funciones con la asignacin
o param = (x!==undefined) ? x : <parmetro_por_defecto>;
o Tambin se define a veces como "x || <parmetro_por_defecto>, pero aplicara
tambin si x es "", 1, null, ..
57
Comportamiento de la calculadora
Al pulsar el botn se calcula: el cuadrado del nmero tecleado en el cajetn
Al seleccionar el cajetn: se borra el contenido existente
La calculadora tiene 3 elementos HTML
Un texto indicativo
El cajetn donde teclear
El botn con el que calcular el cuadrado
La interaccin con el usuario se realiza con:
Botn donde clicar: <button onclick="cuadrado()"> x<sup>2 </sup></button> Este
elemento muestra el texto HTML "x<sup>2</sup>" donde la marca <sup> define un
exponente o superndice.
Cajetn de entrada de texto: <input type="text" id="n1" onclick="vaciar()">
El objeto DOM obtenido con var num = document.getElementById("n1") permite
interaccin con el cajetn
Las propiedades del objeto num dan acceso a los atributos HTML y a otros, por ejemplo
num.type contiene "text"
num.id contiene "n1"
num.value contiene "9", es el contenido tecleado en el cajetn
num.innerHTML contiene: "", <input> no tiene HTML interno
num.outerHTML contiene: "<input type="text" id="n1" onclick="vaciar()">"
Es el HTML completo del elemento
Modificar la pgina visualizada, por ej.
Asignar num.value = 5; Mostrar 5 en el cajetn
Asignar num.outerHTML = <p>Hola</p>
Mostrar un prrafo conHola" en vez del cajetn
C. ATENCIN A EVENTOS
Los objetos DOM tienen eventos asociados atendidos por funciones, por ej.
El atributo onClick="vaciar()" de <input type="text" id="n1" onClick="vaciar()">.
Asocia al evento clicar en el cajetn la funcin vaciar() que vaca el cajetn al ocurrir
este
58
59
60
LECCION N 06
BUCLES. ARRAYS. FUNCIONES COMO OBJETOS. MBITOS. CIERRES. JQUERY
6.1. JAVASCRIPT: BUCLES
A. BUCLE
Bloque de instrucciones que se repite
mientras se cumple una condicin de
permanencia. Lo ilustramos con el clculo de 2
elevado a n: 2^n (2*2**2). Adems existen
otros tipos de bucles que no vemos aqu: for,
for/in, do/while,
Un bucle tiene 3 partes:
Iniciacin: fija los valores de arranque del bucle en la 1a iteracin.La iniciacin se
realizar aqu en instrucciones anteriores a la sentencia del bucle
Condicin de permanencia: controla la finalizacin del bucle . El bucle se ejecuta
mientras la condicin sea true.
Bloque de acciones: acciones realizadas en cada iteracin del bucle . Realiza el
clculo de forma iterativa hasta que la condicin de permanencia indica que se
ha obtenido el resultado
B. EJECUCIN DEL BUCLE
La ejecucin del bucle while esta controlada por la condicin de permanencia: (n !== 1).
Mientras n sea distinto de 1 ejecutar el bucle
Cuando n sea igual a 1 saldr del bucle
El estado del programa determina en cada evaluacin de la condicin del bucle, si (n
!== 1) es true o a false
D. BUCLE FOR
La sentencia for es mas compacta que while. La gestin del bucle (entre parntesis) va detrs
de la palabra reservada for y consta de tres partes separadas por ";:
1) Iniciacin: define e inicia la variable "i. La variable "n se define fuera del bucle.
2) Condicin de permanencia: el bucle se ejecuta mientras la condicin sea true. Se sale del
bucle en cuanto pase a false. Similar a la condicin de permanencia de while.
3) Accin final del bucle: se ejecuta al final de cada iteracin en la ejecucin del bloque de
cdigo del bucle. n-- decrementa el nmero hasta llegar a 1. Lleva la cuenta del nmero
de multiplicaciones por 2.
El bloque de acciones se delimita con llaves {}, pero si un bloque tiene solo una sentencia,
las llaves pueden omitirse (segundo ejemplo), como en cualquier otra sentencia que
incluya un bloque.
62
B. SUMATORIO: VERSIN 2
Ejemplo con la calculadora ligeramente modificada. El bloque de cdigo que calcula x
se cambia por una sola sentencia equivalente al bloque anterior.
Los bloques con una sola sentencia pueden omitir las llaves {..} (como en esta versin).
Aunque las llaves suelen incluirse para mejor legibilidad
Operadores de la sentencia: acc += +lista[i++];
El operador += suma a la variable la expresin asignada
El operador + de +lista[i++] convierte el string a number
[i++] accede al array antes de incrementar (postincremento)
63
64
65
Un cierre (closure): funcin que encapsula un conjunto de definiciones locales que solo
son accesibles a travs de una interfaz (funcin u objeto).
La interfaz de un cierre con el exterior es el parmetro de retorno de la funcin. Suele
ser un objeto JavaScript que da acceso a las variables y funciones locales.
En este ejemplo la interfaz es la funcin contar()
La funcin contar devuelve el valor de la variable contador y lo incrementa
despus.El cierre encapsula la variable contador y la funcin contar.
Ninguna instruccin fuera del cierre puede modificar la variable contador, solo la
funcin contar()
La variable entero_unico contiene la invocacin del cierre (enteroUnico ()) . Esta
devuelve la funcin contar, de forma que invocar entero_unico() es lo mismo que
invocar contar().Al invocar el cierre, sus variables se crean y siguen existiendo hasta
que el objeto se destruye.
LA FUNCIN JQUERY
Objeto jQuery: representacin equivalente a un objeto DOM.
Ms eficaz de procesar, tanto de forma individual, como en bloque (array)
Funcin jQuery: jQuery("<selector CSS>") o $("<selector CSS>")
Devuelve el objeto jQuery que casa con <selector CSS>, Si no casa ninguno,
devuelve null o undefined
<selector CSS> selecciona objetos DOM igual que CSS.
67
68
B. EVENTOS EN HTML
En programas grandes es recomendable separar HTML, CSS y JavaScript
Debe estar en ficheros diferentes (o al menos en partes claramente separadas)
De esta forma el cuerpo (body) solo contiene HTML y la cabecera (head) incluye CSS
y JavaScript
La forma habitual de definir eventos directamente en JavaScript es con
objetoDOM.addEventListener(evento, manejador)
Tambin existe un mtodo removeEventListener(..) para eliminar el evento
Tradicionalmente el manejador se asignaba a una propiedad con el nombre del
atributo HTML
objeto.evento = manejador
jQuery usa la funcin on() para definir eventos y off() para eleminarlos
objetoJQuery.on(evento, manejador)
C. EVENTOS EN JAVASCRIPT
Los eventos se definen asociados a onload para que el rbol DOM est ya est
construido
El manejador del evento onload hay que invocarlo o definirlo o en HTML o en sino
en un script al final
La norma de JavaScript incluye muchos eventos diferentes
Se pueden ver en https://developer.mozilla.org/en-US/docs/Web/Events
Los nombres de los eventos son diferentes del de los atributos de eventos
La forma tradicional (objeto.evento = manejador) est en desuso y no la ilustramos
El manejador del evento es una funcin (objeto de la clase Funcin)
Puede pasarse directamente como un literal de funcin con el cdigo del manejador
(como aqu), o cualquier otro objeto Function, como por ejemplo el nombre de una
funcin definida en otro lugar. OJO! debe ser la funcin (su cdigo) y no su
invocacin
70
D. EVENTOS EN JQUERY
jQuery tambin permite definir eventos en objetos jQuery con el mtodo on()
objetoJQuery.on(evento, manejador)
jQuery conserva mtodos asociados a eventos individuales de versiones
anteriores, pero est recomendado usar solo on() y off()
http://api.jquery.com/category/events/
Los nombres y tipos de eventos utilizados por los mtodos on(..) y off()
son los mismos que los utilizados con el mtodo addEventListener(..)
se pueden ver en https://developer.mozilla.org/en-US/docs/Web/Events
El manejador del evento es una funcin (objeto de la clase Funcin) ejecutado al ocurrir
el evento
Puede pasarse directamente como un literal de funcin con el cdigo del
manejador (como aqu) o cualquier otro objeto Function, como por ejemplo el
nombre de una funcin definida en otro lugar
OJO! debe ser el nombre de la funcin (su cdigo) y no su invocacin
E. CALCULADORA JQUERY
jQuery simplifica la calculadora
Modificaciones
Debemos importar la librera jQuery
Definir eventos en funcin ready, con mtodo on(..), con rbol DOM ya construido
Obtener objetos jQuery con $(#)
Obtener texto de cajetn con val()
Asignar texto en cajetn con val(texto)
71
72
LECCION N 07
JQUERY UI. INTERACCIN CON USUARIO. BOOTSTRAP. DISEO ADAPTATIVO
7.1. OBJETOS JAVASCRIPT: NOTACIN ARRAY, PROPIEDADES DINMICAS, FOR/IN Y DOM
A. OBJETOS
Objeto
Es una agregacin de variables, denominadas
propiedades
Se suelen construir con el literal de objeto,
o { propiedad_1:valor_1, ..,
propiedad_n:valor_n }
Notacin punto
objeto.propiedad
o Accede propiedades por su nombre
Notacin array
objeto["propiedad"]
o Accede pasando el nombre como un string
o Que puede estar en una variable
Notacin punto o array son equivalentes
Propiedades inexistentes devuelven undefined
Pero el operador punto (.) aplicado a undefined, provoca error de ejecucin
Los nombres de propiedades de un objeto, deben ser todos diferentes, tienen la misma
sintaxis que las variables.
a, _method, $1, una_pia, .
B. OBJETOS ANIDADOS: RBOLES
Los objetos pueden anidarse entre si. Los objetos anidados representan arboles
La notacin punto o array puede encadenarse. Representando un camino en el rbol.
Las siguientes expresiones se evaluan as:
pelicula.director.nombre => 'Steven'
pelicula['director']['nombre'] => 'Steven'
pelicula['director'].apellido => 'Spielberg'
pelicula.estreno => undefined
pelicula.estreno.ao => Error_de_ejecucin
C. PROPIEDADES DINMICAS
Las propiedades se pueden crear y destruir. Para ello se utilizan 3 sentencias
Asignacin de valores
Borrado de propiedades
Comprobar si existe una propiedad
Asignar a (y crear) propiedades: x.c = 4
asigna 4 -> si la propiedad c existe
crea c y le asigna 4 -> si la propiedad c no existe
Borrar propiedades: delete x.c
elimina x.c -> si la propiedad x.c existe
no hace nada -> si la propiedad x.c no existe
Borrar propiedades: "c" in x
73
D. SENTENCIA FOR/IN
La sentencia for (var p in obj) {..bloque de instrucciones..}, itera en todas las
propiedades del objeto obj
La variable p contiene en cada iteracin un string con el nombre de una propiedad
diferente de obj. El contenido de la propiedad debe ser accedido con la notacin array:
obj[p]
75
77
LECCION N 8
PROFUNDIZACIN EN ARRAYS, OBJETOS, PROPIEDADES, MTODOS, TIPOS.
8.1. JAVASCRIPT: ALGUNOS MTODOS DE ARRAY
A. MTODOS DE ARRAY: ARRAY HEREDA MTODOS DE SU CLASE
sort(): devuelve el array ordenado y lo guarda en la variable a
reverse(): devuelve el array invertido y lo guarda en la variable
a
push(e1, .., en) aade e1, ..,en al final del array, devuelve el
tamao del array (a.length)
pop(), devuelve el ltimo elemento, eliminadolo del array
B. MS MTODOS
join(<separador>): devuelve string uniendo elementos.introduce
<separador> entre elementos. La coma de separador permite
generar CSV
slice(i,j): devuelve una rodaja. Indice negativo (j) es relativo al final.
ndice "-1 es igual a a.length-2
splice(i, j, e1, e2, .., en). sustituye j elementos desde i en array por
e1, e2, ..,en. Devuelve elementos eliminados
C. CITAS
Este ejemplo utiliza un array para gestionar citas
Una cita es una frase de un autor conocido
La aplicacin ilustra
splice(..) para borrar las citas existentes
push(..) para aadir nuevas citas al fina
78
B. EJEMPLO CITAS
Este ejemplo muestra una cita seleccionada al azar
Una cita es una frase de un autor conocido
Cada recarga de la pgina selecciona una frase diferente
79
LECCION N 09
LOCALSTORAGE, IFRAMES, ORIGIN POLICY Y JSON
9.1 EJEMPLO DE UN CRONMETRO
A. CRONMETRO
WebApp similar a un cronmetro digital
Cuenta dcimas de segundo (100 miliseg.). El contador se inicializa
con 0,0 segundos
n.toFixed(1) formatea con 1 decimal
Tiene 2 botones
arrancar/parar: arranca o para la cuenta a partir del valor en que quedo
o arranca si cronmetro parado
o para si cronmetro contando
inicializar: pone el contador a 0,0
La libreria zepto.js utilizada en los temas siguientes equivale a jQuery 2.0. Los ejemplos
pueden sustituir zepto por jQuery y funcionarn igual, http://zeptojs.com/
81
82
LECCION N 10
INTRODUCCIN A GRFICOS Y ANIMACIONES SVG. GEOLOCALIZACIN
10.1. GEOLOCALIZACIN EN HTML5
A. GEOLOCALIZACIN Y SENSORES
HTML5 puede soportar geolocalizacin, En todo tipo de clientes: PCs, mviles tabletas..
El interfaz de geolocaclizacin, da acceso tambien a otros sensores: Brujula,
acelerometro, .....
B. GEOLOCALIZACIN
La geolocalizacin se realiza siguiendo jerarquia de consultas
o GPS -> antena WIFI -> antena GSM o 3G -> IP fija -> .Se devuelve la respuesta ms
precisa
La geolocalizacin est accesible en del objeto navigator.geolocation, con mtodo
getCurrentPosition(successFunction, errorFunction)
o Permite conocer
o Latitud y longitud en formato decimal
o Altitud y precisin de la altitud
o Direccin y velocidad
Norma y tutoriales
http://dev.w3.org/geo/api/spec-source.html
http://dev.opera.com/articles/view/how-to-use-the-w3c-geolocation-api/
http://code.google.com/apis/maps/index.html
OJO! Geolocalizacin puede no funcionar por restricciones de seguridad
Usar el navegador Firefox para probar los ejemplos geolocalizados en local
83
84
86
87
LECCION N 11
EMPAQUETAR APLICACIONES WEB PARA ANDROID, IOS O FIREFOXOS.
11.1. EJECUCIN DE APLICACIONES WEB (HTML/JS/CSS) EN DISPOSICVOS MVILES
A. OBJETIVO
Visualizar nuestras aplicaciones Web desarrolladas con HTML5/JS/CSS3 en disposiCvos
mviles.
Android, iOS, Windows Phone,
smartphones, tablets,
Usaremos las herramientas PhoneGap Desktop y PhoneGap Developer App
B. FLUJO DE TRABAJO
1. Desarrollamos una app web
2. Servimos con PhoneGap Desktop
3. Accedemos desde el disposiCvo mvil mediante PhoneGap Developer App
C. PROGRAMAS A INSTALAR
PhoneGap Desktop en el ordenador en que desarrollamos la app HTML5/JS/CSS3
PhoneGap Developer App en el dispositivo mvil, que permite visualizar y probar la
aplicacin anterior
D. INSTALACIN PHONEGAP DESKTOP
http://docs.phonegap.com/ge`ng-started/1-install-phonegap/desktop/
Descargar el instalador para Mac OS X o Windows
Puede que haya que dar permisos de ejecucin
Con PhoneGap Desktop haremos visible la aplicacin web, de forma que el cliente
mvil pueda ejecutarla en el disposiCvo deseado
88
I.
89
K. PRIMER PROYECTO VI
90
M. CRONMETRO SEGUNDERO
91
92
FICHA DE AUTOEVALUACIN
IV.
DATOS INFORMTICOS:
rea
______________________________________________________________________
Forma dora
______________________________________________________________________
Grupo
______________________________________________________________________
Tema
______________________________________________________________________
Semestre
_____________________ Secci n _____________
Fecha ______/______/ 2016
V.
ALUMNO(A)
VI.
CRITERIO DE DESEMPEO
1.1.3. T oma decisiones y resuelve problemas con autonoma, asertividad, empata y responsabilidad.
1.1.4. Demuestra tica, compromiso y autodisciplina en las tareas que asume.
2.3.4. Utiliza las TIC existentes en su medio, en sus procesos pedaggicos asumiendo respeto por las ideas vertidas en las T IC.
3.1.4. Acta bajo principios de convivencia democrtica, buscando el bienestar colectivo.
IV.
CRITERIOS DE EVALUACIN
INDICADORES
ESCALA
3 4
Total
LEYENDA:
INSUFICIENTE (1)
SUFICIENTE (2)
REGULAR (3)
BUENO (4)
OBSERVACIONES
__________________________________________________________________________________________
__________________________________________________________________________________________
________________
Alumno(a)
95