Professional Documents
Culture Documents
cliente
Tecnologa WEB
Programacin en el lado del cliente
3 Programacin en el lado del cliente
3.1 Introduccin
Uno de los principales problemas de la ejecucin de aplicaciones distribuidas a travs de
Internet se refiere a la velocidad de transmisin, y ms en concreto, a la cantidad de informacin que
circula por la Red. Esa velocidad se traduce en lentitud de respuesta a los comandos introducidos por
el cliente en los mltiples interfaces de datos que se presentan en los documentos HTML, como son
los formularios, enlaces, imgenes etc.
Para reducir los dos problemas que se plantean (saturacin y lentitud), se plantean soluciones
en el entorno del cliente Web, capaces de manejar los objetos contenidos en las pginas HTML, as
como atender a las acciones realizadas por el cliente, sin necesidad alguna de transmisin hacia el
servidor (que, en estos casos, sera incapaz de ofrecer respuesta a los comandos tratados a nivel local).
La rpida respuesta ofrecida por el programa local permite dar una sensacin ms realista
dentro del navegador, dejando al protocolo nicamente los aspectos relacionados con el envo de
informacin. Se permite as mejorar el aspecto de presentacin de la aplicacin, adems de gestionar
de forma rpida y sencilla algunos aspectos hasta ahora centralizados en el servidor (con el aumento
de demoras que ello provoca).
Tecnologa Web
3-2
Figura 3-1 : Programacin en el navegador
Las tecnologas tpicas que permiten la codificacin de pequeas aplicaciones a ejecutar en el
entorno local del navegador son:
Lenguajes de Script
Applets Java
Los lenguajes de script estn diseados para la manipulacin de los eventos y objetos
contenidos en una pgina Web, de forma local y sin necesidad de transmisin alguna por la Red. Son
programas incluidos en la pgina HTML y que son interpretados por el navegador, mejorando la
interaccin con el usuario. Permiten realizar algunas tareas simples en la parte del cliente:
Algunos clculos simples
Validacin de los datos de los formularios
Mensajes de alerta
Por lenguaje Script entendemos lenguajes orientados al documento; nunca ser posible realizar
un programa completo en l, sino que el mbito de actuacin quedar restringido al documento en el
que se ejecuta, y donde va inmerso el cdigo script.
Ante las acciones realizadas por el usuario, el programa captura el evento relacionado con la
accin, y ejecuta el cdigo de atencin. Mediante esta tcnica, es posible la ejecucin de cdigo en
muchas acciones comunes en un entorno Web, como pueden ser:
Programacin en el lado del cliente
3-3
apertura de nuevos documentos
Pulsacin de botones
Introduccin y envo de datos en formularios ...
y que son controlados mediante la interceptacin de los mtodos asociados a cada objeto
(pulsacin, enfoque, paso por encima, ...).
La manipulacin de los objetos de la pgina se realiza de forma directa, es decir, en su
definicin (en HTML) cada objeto lleva asociado un nombre, que ser el que se utilice para acceder a
sus propiedades (definidas en la jerarqua de objetos propia de cada lenguaje).
De forma resumida, se puede decir que se trata de lenguajes de programacin sencillos, con
restricciones de acceso a los recursos locales de la mquina (disco duro, memoria), y en los que es
posible realizar pequeas aplicaciones cliente/servidor; aunque el principal mbito de aplicacin es
local.
donde se puede ver como se utilizan los comentarios de HTML (<!-- y -->), para aquellos
navegadores que no sean capaces de interpretarlo.
Los lenguajes ms comunes son:
JavaScript: Desarrollado por Netscape para su navegador Mozilla. Microsoft Internet
Explorer soporta una versin propia muy parecida denominada JScript.
VBScript: Desarrollado por Microsoft y soportado por Internet Explorer.
Tecnologa Web
3-4
3.2.3 JavaScript
En las lneas siguientes se har un pequeo repaso de la sintaxis de JavaScript. En primer
lugar hay que destacar que este lenguaje no tiene nada que ver con Java, aparte del nombre y la
sintaxis. El mbito de utilizacin, la ejecucin y los objetivos de ambos lenguajes son totalmente
distintos.
Al igual que sucede en C/C++ las sentencias terminan con un punto y coma y se forman
sentencias compuestas mediante llaves; Los operadores son similares, por no decir los mismos, a los
ya conocidos en C/C++: + (que sirve tambin para concatenar cadenas), -, *, /, %, ++, --, =, ==,
!=,<,>,<=>,>=, &&, ||, etc.
Los comentarios se escriben usando la doble barra ( // ) que indica que el resto de la lnea no
se interpreta.
3.2.3.1 Variables
En JavaScript se usa la palabra reservada var para declarar variables. A diferencia de un
lenguaje compilado, no es necesario indicar el tipo de la variable. Esto se deduce del contexto, al usar
la variable el interprete ya sabr de que tipo es.
Ejemplo:
varvariable;
variable=37;//lausocomosifueradetipoentero
variable=hola;//lausocomounacadenadecaracteres
3-5
Estructura for
for(contador=1;contador<=10;contador++){
//Sentenciasdelbucle
}
}
</script>
</head>
<!
Cadavezquesecarguelapginaseejecutalafuncin
bienvenida.
>
<bodyonLoad="bienvenida()">
. write:Escribeenlapgina
. form:arrayconlosformulariosdelapgina
. back:Retrocedeenlalistadepginasvisitadas
. forward:Avanzaenlalistadepginasvisitadas
Otros objetos:
. Date:Fechaactual
. Navigator:Tipodenavegador
. Screen:Propiedadesdelapantalla
Programacin en el lado del cliente
3-7
<BODY>
<!Comienzodelcuerpodelapgina>
<P>Hoyes:
<SCRIPT>
//arrayconlosnombresdelosdias
varnombreDias=newArray();
nombreDias[0]="Domingo";
nombreDias[1]="Lunes";
nombreDias[2]="Martes";
nombreDias[3]="Miercoles";
nombreDias[4]="Jueves";
nombreDias[5]="Viernes";
nombreDias[6]="Sabado";
//Creamoselobjetofecha
varfecha=newDate();
//Escrituraeneldocumentoactual
//ElmtodogetDayretornaeldadelasemana
//yelmtodogetDateretornaeldadelmes
document.write(nombreDias[fecha.getDay()]);
document.write("y"+fecha.getDate());
</SCRIPT>
</P>
</BODY>
</HTML>
<form>
<inputTYPE="button"NAME="Boton"VALUE="Nomepinches"
onClick="aviso()">
<inputTYPE="button"NAME="Boton"VALUE="Confirmacion"
onClick="confirmacion()">
<inputTYPE="button"NAME="Boton"VALUE="Pregunta"
onClick="pregunta()">
</form></body></html>
3-9
Al pulsar el primer botn se abrir una ventana de alerta:
Al pulsar el botn de confirmacin se abrir la siguiente ventana:
El resultado de la pulsacin se puede recoger en una variable tal y como se muestra en el
ejemplo. Con el ltimo botn se abre una ventana donde el usuario puede realizar una entrada de
datos. En la llamada se especifica el texto a presentar en la ventana y el valor por defecto que debe
presentar la entrada.
En este otro ejemplo, se ejecuta una funcin en respuesta a la pulsacin de un botn que crea
una nueva ventana y escribe en ella una pequea pgina HTML.
<HTML><HEAD>
<SCRIPTLANGUAGE="JavaScript">
//rutinadeatencinalevento
functionNuevaVentana(){
MiVentana=open("","MiPropiaVentana",
"toolbar=no,menubar=no,resizable=yes,status=yes");
MiVentana.document.write("<HEAD><TITLE>Unanueva
ventana</TITLE></HEAD>");
MiVentana.document.write("<CENTER><H1><B>Aqupuedes
ponerloquequieras</B></H1></CENTER>");
}
</SCRIPT>
</HEAD><BODY><FORM>
<INPUTTYPE="buttonNAME="Boton"VALUE="Pincha
onClick=NuevaVentana()">
</FORM>
</BODY>
</HTML>
Tecnologa Web
3-10
Y la apariencia del cdigo en el navegador es la siguiente:
Figura 3-4 : Apertura de una nueva ventana
Otros ejemplos:
<!Cambialalneadeestadopordefectoenlacarga.>
<BODYonLoad="defaultStatus=Bienvenido';returntrue">
<!Cambialalneadeestadoalpasarelratnencima.>
<AHREF=miPagina.html"
onMouseOver="window.status='Visitamipgina';returntrue">
<!Enlacealapginavisitadaanteriormente.>
<AHREF=javascript:window.history.back()>Atrs</A>
campos, o al menos aquellos que se consideren imprescindibles, para que se va a enviar esa
informacin incompleta al servidor que lo nico que provocar es el envo de un mensaje de error por
parte de este, con el consiguiente incremento del trfico en la red. ( sin olvidar la carga computacional
que supone para el servidor el recibir mensajes con informacin insuficiente, procesarlos para darse
cuenta de esta circunstancia y responder con una pgina de error )
Programacin en el lado del cliente
3-11
El array document.forms contiene todos los formularios de un documento HTML Tambin se
puede acceder a travs del nombre que se le haya dado en la declaracin.
<FORMNAME=miFormulario>
Cada formulario tiene un array elements con los campos del formulario. Tambin puede
accederse a estos campos a travs del nombre que se le haya dado en la pgina HTML. De cada campo
podemos saber su tipo ( type ) y su valor ( value ). Adems de los checkbox y radio buttons podemos
saber si estn marcados ( checked ) y de las listas de seleccin si estn seleccionadas ( selected ).
Ejemplos:
//seaccedealprimercampodelprimerformulariodela
//pginaparasabersiesunbotonysiestseleccionado
if((document.forms[0].elements[0].type==radio)&&
(document.forms[0].elements[0].checked))
//seaccedealcampoasignaturasdelformularionotasdela
//pginaparasabersilaprimeraopcionestseleccionada
if(document.notas.asignatura.options[0].selected)
Tecnologa Web
3-12
Siendo la siguiente la apariencia de la pgina en un navegador:
3-13
<formNAME="examen"onSubmit="returnaveriguarNota(this);">
<p>LoslenguajesdeScript:<br>
<inputTYPE="radio"NAME="Respuesta1"VALUE="mal">
soncompilados<br>
<inputTYPE="radio"NAME="Respuesta1"VALUE="mal">
seejecutansiempreenelservidor<br>
<inputTYPE="radio"NAME="Respuesta1"VALUE="bien">
vanincrustadosenlaspginasHTML<br>
<br>
Elatributo<tt>window.status</tt>contiene:<br>
<inputTYPE="radio"NAME="Respuesta2"VALUE="bien">
elvalordelabarradeestado<br>
<inputTYPE="radio"NAME="Respuesta2"VALUE="mal">
elvalorpordefectodelabarradeestado<br>
<inputTYPE="radio"NAME="Respuesta2"VALUE="mal">
ciertascaractersticasdelaventana<br>
<br>
elmtodo<tt>alert</tt>sirvepara:<br>
<inputTYPE="radio"NAME="Respuesta3"VALUE="mal">
hacersonarunpitidodealarma<br>
<inputTYPE="radio"NAME="Respuesta3"VALUE="bien">
lanzarunaventanaconinformacin<br>
<inputTYPE="radio"NAME="Respuesta3"VALUE="mal">
avisaralnavegadordequehayunproblema<br>
<br>
<inputTYPE="submit"VALUE="Quierosaberminota"></p>
</form></body>
</html>
3.2.4 VBScript
Podemos definir VBScript como un subconjunto de instrucciones de Visual Basic, pensado
para escribir scripts y/o pequeas funciones. Al igual que el resto de lenguajes de script, VBScript
trabaja con los objetos que podemos encontrar en la jerarqua de un navegador Web (en este caso, la
jerarqua definida por Microsoft para su plataforma Internet Explorer); para trabajar con dichos
objetos, utiliza los mtodos, propiedades y eventos de que dispone cada uno de ellos.
<HTML>
<HEAD>
<TITLE>EjemplodeformulariosconVisualBasic</TITLE>
<scriptlanguage="VBScript">
functionnotas_OnSubmit
ifdocument.notas.dni.value=""then
msgbox("Debesdarmetudni!")
notas_OnSubmit=false
else
notas_OnSubmit=true
endif
endfunction
</script>
</HEAD>
<BODY>
<FORMNAME="notas"
METHOD="POST"
ACTION="/cgi_bin/notas.exe">
DNI:<INPUTNAME="dni"TYPE="text">
<BR><HR><INPUTTYPE="submit"VALUE="consulta">
</FORM>
</BODY>
</HTML>
En el ejemplo que se muestra puede verse el cdigo necesario para validar un formulario
similar al usado en el ejemplo de JavaScript. En ambos casos tenemos un formulario con un campo de
texto donde el usuario debe teclear su DNI para que sea enviado al servidor. Si el campo est vaco se
presenta un mensaje indicando al usuario que debe dar su DNI.
En VBScript existen varios mtodos para asociar a un evento generado por un control una
funcin que lo procese. En el ejemplo se ha optado por uno de ellos que consiste en seguir unas reglas
de nombrado de las funciones con el siguiente patrn: <nombre control>_<nombre evento>. En el
ejemplo la funcin se llama notas_OnSubmit de forma que se ejecutar cuando el control notas
genere el evento OnSubmit, evento que se genera al pulsar el botn correspondiente. Si la funcin
retorna TRUE los datos del formulario se enviarn al servidor, en caso contrario no se envan. Al
formulario se le da nombre con el atributo NAME.
Programacin en el lado del cliente
3-15
Destacan especialmente los Applets, pequeas aplicaciones que se ejecutan en entornos web y
que permite ejecutar programas obtenidos de la red en el propio ordenador de forma totalmente segura.
Los elementos principales de la plataforma de ejecucin Java son:
El lenguaje Java: un lenguaje de programacin.
La Java Platform API: Una librera de clases para la programacin de aplicaciones.
La Mquina Virtual Java: Una CPU virtual con su propio repertorio de instrucciones.
3-17
desconocido o no fiable es sometido a una serie de restricciones. Mediante la firma digital es posible
dar al applet acceso total a los recursos del sistema.
Figura 3-9 : Firma digital
1 Este
NO tan rotundo hay que tomarlo con reservas. Las JVM son programas a menudo con errores de forma
que es posible en algunos casos saltarse esas protecciones.
Tecnologa Web
3-18
Como se aprecia en el ejemplo, la sintaxis, as como los tipos bsicos existentes son similares
a C/C++. La clase miClase hereda de las propiedades y mtodos de claseBase y debe residir en un
fichero llamado miClase.java. En java no se permite la herencia mltiple.
Programacin en el lado del cliente
3-19
3.3.4.1.3 Bloques
Package: La palabra clave package permite agrupar clases e interfaces. Estas clases
podrn ser importadas ms tarde para ser usadas en otros programas.
En el ejemplo se define un paquete llamado tecnologiaWeb.Pilas con una clase llamada CPila
que se usa en otra clase llamada Ejemplo. Esto significa:
los ficheros fuente se llamadan CPila.java y Ejemplo.java y estarn situados en un
directorio de trabajo actual, por ejemplo I:\prueba.
Al compilar el fichero CPila.java se crear el fichero CPila.class, pero situado en el
directorio TecnologiaWeb\Pilas a partir del directorio actual. Esto es:
I:\prueba\TecnologiaWeb\Pilas\CPila.class
Al compilar al fichero Ejemplo.java se crear el fichero Ejemplo.class en el directorio
actual.
Las clases necesarias para el Ejemplo se importan desde el directorio indicado en la
llamada import. En este caso <raiz>/TecnologiaWeb/Pilas
La variable de entorno CLASSPATH debe contener los path de busqueda a partir de los
cuales se buscan las clases. En este caso I:\prueba
Programacin en el lado del cliente
3-21
3.3.4.2 Multithread
En java podemos crear flujos o hilos de ejecucin independientes dentro de un programa
Figura 3-11 Procesos y Threads
Para ello es suficiente con heredar de la clase Thread.
classMotorextendsThread{
publicvoidrun(){
for(;;){
//Tareasarealizar
//porelthread
}
}
voidMotor(){};
}
Motorp1=newMotor();//Secreaunhilodeejecucion
Motorp2=newMotor();//Secreaotrohilo
p1.start();//Searrancalaejecuciondelprimero
p2.start();//Searrancaelsegundo
:::::::::::::::
p1.stop();
p2.stop();
Tecnologa Web
3-22
Las excepciones no son un mecanismo para prevenir errores, son un mecanismo para que
cuando estos se produzcan dar una respuesta o tratamiento correctos a ese error. De hecho hay
excepciones que el compilador obliga a tratar y si el programador se ha olvidado o ha intentado hacer
la vista gorda no se compilar el programa y se indicar en un mensaje de error cual es la excepcin
que hay que tratar. Es como si en C el compilador nos obligar a comprobar todos los cdigos de
retorno que nos dan las funciones y que ha menudo se ignoran.
Ejemplo:
try{
numeros[i]=dividendo/divisor;
}
catch(ArithmeticExcepctionexc){
System.out.println(Hasdividoentre0);
System.exit(0);
}
catch(ArrayIndexOutOfBoundsExcepctionexc){
System.out.println(Estasfueradelarray);
System.exit(1);
}
3-23
<APPLETCODE=WIDTH=HEIGTH=[CODEBASE=][ALT=][NAME=]
[ALIGN=][VSPACE=][HSPACE=]><PARAMNAME=VALUE=></APPLET>
Tecnologa Web
3-24
Y la etiqueta HTML que permite incluirla en una pgina podra ser:
<APPLETCODE=Hola.classCODEBASE=/applets
<PARAMNAME=mensajeVALUE=Comoestnustedes>
</APPLET>
3-25
El applet leer los parmetros durante su inicializacin y presentar un men con las opciones
que se indican. Cada texto tiene asignada una URL y una pgina donde se visualizar ( Target ).
Tecnologa Web
3-26
importjava.applet.AppletContext;
importjava.awt.*;
importjava.awt.event.*;
importjava.net.MalformedURLException;
importjava.net.URL;
publicclassMenuextendsApplet
{
Stringtextos[];//Textoapresentarenelmenu
URLenlaces[];//URLdestinodelasopciones
Stringtargets[];//Marcosdondesevanapresentar
intaltoTexto;
intancho,alto;
ColorBGColor,FGColor;
Graphicsgrafico;
Imageimagen;
StringtipoLetra;
intnumPuntos,estilo;
intpuntosLinea,posicion;
/****************
LeelosparametrosdelapaginaHTML
****************/
voidleerParametros(){
inti;
//Obtengoelnumerodetextosquevanaserenlaces
i=0;
while(getParameter("Texto"+i)!=null)
i++;
//Ycreolosarraysconesetamao
textos=newString[i];
enlaces=newURL[i];
targets=newString[i];
for(i=0;i<textos.length;i++)
{
textos[i]=getParameter("Texto"+i);
if(getParameter("URL"+i)!=null)
{
try{
enlaces[i]=newURL(getParameter("URL"+i));
}catch(MalformedURLException_ex){
Programacin en el lado del cliente
3-27
try{
enlaces[i]=
newURL(getDocumentBase(),getParameter("URL"+i));
}catch(MalformedURLException_ex2){
System.out.println("Enlacenocorrecto...");
}//catchinterno
}//catchexterno
}//if
if(getParameter("Target"+i)!=null)
targets[i]=getParameter("Target"+i);
else
targets[i]=null;
}//for
ancho=getSize().width;
alto=getSize().height;
//Colordefondo
if(getParameter("BGColor")!=null)
BGColor=
newColor(Integer.parseInt(getParameter("BGColor"),16));
//Colordeltexto
if(getParameter("FGColor")!=null)
FGColor=
newColor(Integer.parseInt(getParameter("FGColor"),16));
}//leerparamertros
/****************
Inicializaciondelapplet.
****************/
publicvoidinit(){
leerParametros();
imagen=createImage(ancho,alto);
grafico=imagen.getGraphics();
puntosLinea=alto/textos.length;
//El0.8esparaqueeltextoocupeel80%delespaciototal
numPuntos=(int)(puntosLinea*0.8);
grafico.setFont(newFont(tipoLetra,estilo,numPuntos));
setBackground(BGColor);
setForeground(FGColor);
posicion=0;
repaint();//Ordenderepintado
}
Tecnologa Web
3-28
/****************
Repintadodelapplet.Lallamaelnavegador
****************/
publicvoidpaint(Graphicsg){
update(g);
}
/****************
Vamosapintarelmenu
****************/
publicvoidupdate(Graphicsg){
inti,CordY,CordX;
Colorfondo,texto;
if(imagen==null)
return;
CordY=((puntosLinea+numPuntos)
grafico.getFontMetrics().getDescent())/2;
for(i=0;i<textos.length;i++){
//Eltextosaldracentrado
CordX=(anchografico.getFontMetrics().stringWidth(textos[i]))/2;
if(i!=posicion){
fondo=BGColor;
texto=FGColor;
}
else{
fondo=FGColor;
texto=BGColor;
}
grafico.setColor(fondo);
grafico.fillRect(0,i*puntosLinea,ancho,puntosLinea);
grafico.setColor(texto);
grafico.drawString(textos[i],CordX,CordY);//Pintaeltexto
CordY+=puntosLinea;
}//for
g.drawImage(imagen,0,0,this);
}//update
3-29
/*****************
Sellamaestemetodocadavezquesepinchasobreelapplet.
*****************/
publicbooleanmouseDown(Evente,intx,inty){
posicion=y/puntosLinea;
if(enlaces[posicion]!=null)
{
if(targets[posicion]!=null)
getAppletContext().showDocument(enlaces[posicion],
targets[posicion]);
else
getAppletContext().showDocument(enlaces[posicion]);
}
returntrue;
}//mouseDown
/*****************
Sellamaestemetodocadavezqueseentrasobreelareadelapplet.
*****************/
publicbooleanmouseEnter(Evente,intx,inty){
returnmouseMove(e,x,y);
}
/*****************
Sellamaestemetodocadavezquesemuevesobreelareadelapplet.
*****************/
publicbooleanmouseMove(Evente,intx,inty){
posicion=y/puntosLinea;
showStatus(enlaces[posicion].toString());
repaint();
returntrue;
}
/*****************
Constructor
*****************/
publicMenu(){
estilo=Font.BOLD;
tipoLetra="Times";
}
}//Class
Tecnologa Web
3-30
3.3.7.4 Apariencia
Figura 3-12 : Applet en funcionamiento
http://tecsanmartinisc.galeon.com/CLIEN
TE.pdf
Introduccin al Lenguaje
Qu es HTML
El HTML (Hyper Text Markup Language) es el lenguaje con el que se escriben las pginas web. Es un lenguaje de
hipertexto, es decir, un lenguaje que permite escribir texto de forma estructurada, y que est compuesto por
etiquetas, que marcan el inicio y el fin de cada elemento del documento.
Un documento hipertexto no slo se compone de texto, puede contener imgenes, sonido, vdeos, etc., por lo que el
resultado puede considerarse como un documento multimedia.
Los documentos HTML deben tener la extensin html o htm, para que puedan ser visualizados en
los navegadores (programas que permiten visualizar las pginas web).
Los navegadores se encargan de interpretar el cdigo HTML de los documentos, y de mostrar a los usuarios las
pginas web resultantes del cdigo interpretado.
Versiones de HTML
Pero este borrador result demasiado extenso, al intentar incluir numerosos nuevos atributos para etiquetas ya
existentes, y la creacin de otras muchas etiquetas nuevas. Por ello, no fue bien aceptado por el mercado y varias
compaas se unieron para formar un nuevo comit encargado de establecer los estndares del HTML. Este comit
pas a llamarse W3C.
En enero de 1997 se aprob el estndar HTML 3.2. Este nuevo estndar inclua las mejoras proporcionadas por los
navegadores Internet Explorer y Netscape Navigator, que ya haban realizado estensiones sobre el estndar HTML
2.0.
En diciembre de 1997 se aprob el estndar HTML 4.0, creado para estandarizar los marcos (frames), las hojas de
estilo y los scripts.
En septiembre de 2001 se aprob el estndar HTML 4.01.
Dos de los navegadores que continuamente estn realizando extensiones son Internet Explorer y Netscape
Navigator, que realizan extensiones incluso antes de que se establezcan los estndares, intentando incluir las
nuevas funciones incluidas en los borradores.
Los navegadores tienen que ser compatibles con la ltima versin HTML para poder interpretar el mayor nmero
posible de etiquetas. Si un navegador no reconoce una etiqueta, la ignora y el efecto que pretenda la etiqueta no
queda reflejado en la pgina.
Para realizar las extensiones de estos navegadores se aaden nuevos atributos a las etiquetas ya existentes, o se
aaden nuevas etiquetas.
Como resultado a estas extensiones, habrn pginas cuyo cdigo podr ser interpretado completamente por todos
los navegadores, mientras que otras, al incluir nuevos atributos o etiquetas del borrador de la ltima versin de
HTML, solo podrn ser interpretadas en su totalidad en los navegadores ms actualizados.
En este ltimo caso tambin puede ocurrir que alguna etiqueta de la pgina solamente pueda ser interpretada por un
navegador concreto, y otra etiqueta por un navegador diferente al anterior, por lo que nunca sera visualizada en su
totalidad por ningn navegador.
Uno de los retos de los diseadores de pginas web es hacer las pginas ms atractivas utilizando toda
la potencia del lenguaje HTML pero teniendo en cuentas estos problemas de compatibilidades para que el mayor
nmero de internautas vean sus pginas tal como las ha diseado.
Editores
Un editor es un programa que nos permiten redactar documentos. Hoy en da existen un gran nmero de editores
que permiten crear pginas web sin la necesidad de escribir ni una sola lnea de cdigo HTML. Estos editores
disponen de un entorno visual, y generan automticamente el cdigo de las pginas. Al poder ver en todo momento
cmo quedar la pgina en el navegador, se facilita la creacin de las pginas, y el uso de mens permite ganar
rapidez.
Estos editores visuales pueden generar en ocasiones cdigo basura, es decir, cdigo que no sirve para nada, en
otras ocasiones puede ser ms efectivo corregir directamente el cdigo por lo que resulta necesario saber HTML
para poder depurar el cdigo de nuestra pginas.
Algunos de los editores visuales con los que podrs crear tus pginas web son
Macromedia Dreamweaver, Microsoft Frontpage, Adobe Pagemill, NetObjects Fusion, CutePage, HotDog
Proffesional, Netscape Composer y Arachnophilia, de los cuales algunos tienen la ventaja de ser gratuitos.
En aulaClic puedes encontrar los cursos de Macromedia Dreamweaver y Microsoft Frontpage, dos de los editores
ms usados hoy en da.
Es aconsejable comenzar utilizando una herramienta lo ms sencilla posible, para tener que insertar nosotros
mismos el cdigo HTML. Esto permite familiarizarse con el lenguaje, para poder utilizar algn editor visual
posteriormente, y depurar el cdigo cuando fuera necesario.
Para crear pginas web escribiendo directamente el cdigo HTML puedes utilizar la herramienta Wordpad o el Bloc
de notas que proporciona Windows.
A lo largo de este curso vamos a trabajar con el Bloc de notas para crear nuestras pginas, ya que se trata de un
editor de textos muy sencillo de manejar, que nos permitir crear pginas a travs del cdigo HTML.
Si no sabes cmo trabajar con el Bloc de notas, te lo explicamos aqu.
Cuando realices los ejercicios puedes compaginar dos sesiones de la forma que te explicamos aqu.
Las etiquetas o marcas delimitan cada uno de los elementos que componen un documento HTML. Existen dos tipos
de etiquetas, la de comienzo de elemento y la de fin o cierre de elemento.
Cada uno de los elementos de la pgina se encontrar entre una etiqueta de comienzo y su correspondiente
etiqueta de cierre, a excepcin de algunos elementos que no necesitan etiqueta de cierre. Tambin es posible anidar
etiquetas, es decir, insertar etiquetas entre otras etiquetas de comienzo y de cierre.
situado, normalmente, en la esquina inferior izquierda de la pantalla. Colocar el cursor y hacer clic sobre el botn
Inicio, se despliega un men; al colocar el cursor sobre Programas aparece otra lista con los programas que hay
instalados en tu ordenador, buscar Accesorios, seguidamente Bloc de notas, hacer clic sobre l, y se arrancar el
programa.
Desde el icono del Bloc de notas del escritorio.
Para cerrar el Bloc de notas, puedes utilizar cualquiera de las siguientes operaciones:
Hacer clic en el botn cerrar
Pulsar la combinacin de teclas ALT+F4.
Hacer clic sobre el men Archivo y elegir la opcin Salir.
Si el documento ha sido modificado y no ha sido guardado antes de cerrar, se te pedir confirmacin para guardarlo
antes de cerrar el programa.
Escribir en el Bloc de notas
Siempre que se abre el bloc de notas aparece un documento en blanco.
A la hora de escribir en l, funciona como cualquier otro editor de texto, basta con situar el cursor en el documento y
escribir.
Es recomendable insertar una nueva lnea para cada nueva etiqueta HTML, ya que resulta ms facil trabajar de este
modo.
Si escribiramos todo el cdigo seguido nos resultara difcil interpretarlo, por ello es preferible programar insertando
las etiquetas por separado, en diferentes lneas.
A travs del men Formato, opcin Fuente, puedes cambiar la fuente de todo el documento. Si lo deseas, puedes
hacer la letra algo ms grande o pequea.
Abrir y guardar documentos
Para abrir un documento, puedes utilizar cualquiera de las siguientes operaciones una vez abierto el Bloc de notas.
Pulsar la combinacin de teclas Ctrl+A.
Hacer clic sobre el men Archivo y elegir la opcin Abrir.
Nota: Como el Bloc de notas sirve originalmente para escribir documentos de texto, cuando le decimos Abrir, por
defecto nos muestra los documentos con extensin .txt, nuestras pginas tienen la extensin .htm o html, por lo que
debemos cambiar en el cuadro de dilogo abrir el tipo de archivo para visualizarlos todos y poder ver as nuestras
pginas.
Para abrir un documento nuevo, puedes utilizar cualquiera de las siguientes operaciones.
Pulsar la combinacin de teclas Ctrl+N.
Hacer clic sobre el men Archivo y elegir la opcin Nuevo.
Para guardar un documento, puedes utilizar cualquiera de las siguientes operaciones.
Pulsar la combinacin de teclas Ctrl+G.
Hacer clic sobre el men Archivo y elegir la opcin Guardar.
A la hora de guardar un documento no debes olvidar guardarlo con la extensin htm o html. Por ejemplo, puedes
guardar un documento con el nombre mipagina.htm.
Para volver a dejar las ventanas con su tamao normal, hacer clic en el botn Maximizar .
Esto va bien con monitores grandes ( de 17" o ms), con monitores pequeos quizs prefieras dejar las ventanas
con su tamao normal e ir pasando de una a otra presionando las teclas Alt + tabulador (manteniendo pulsada Alt,
presionar la tecla tabulador) o pulsando el botn correspondiente a la sesin en la barra de tareas en la ltima lnea
de la pantalla.
Compaginar dos sesiones puede resultarte muy til al realizar los ejercicios. Puedes cargar un documento en el Bloc
de notas y en un navegador al mismo tiempo. Cada vez que realices algn cambio en el cdigo del Bloc de notas y
guardes los cambios, puedes actualizar la pgina cargada en el navegador para ver los cambios que ha sufrido por
las modificaciones en el cdigo.
Para actualizar una pgina en Internet Explorer puedes pulsar sobre el botn .
Etiquetas
Las etiquetas o marcas delimitan cada uno de los elementos que componen un documento HTML. Existen dos tipos
de etiquetas, la de comienzo de elemento y la de fin o cierre de elemento.
Cada uno de los elementos de la pgina se encontrar entre una etiqueta de comienzo y su correspondiente
etiqueta de cierre, a excepcin de algunos elementos que no necesitan etiqueta de cierre. Tambin es posible anidar
etiquetas, es decir, insertar etiquetas entre otras etiquetas de comienzo y de cierre.
1. Mi primera pgina
Lo primero que tienes que hacer es abrir el Bloc de notas. Para abrirlo, puedes dirigirte al men Inicio, Programas,
Accesorios, opcin Bloc de notas.
Guarda el documento con la extensin htm, con el nombre miprimpag.htm. Puedes guardarlo a travs del men
Archivo, opcin Guardar.
Pulsando dos veces sobre el icono del archivo miprimpag.htm, ste debera abrirse automticamente en el
navegador que tengas instalado en tu ordenador.
Leccin
II
A travs de esta etiqueta pueden especificarse los atributos name y content. El atributo name indica el tipo
de informacin, y el atributo content indica el valor de dicha informacin.
Para indicar el tipo de informacin podemos utilizar cualquier palabra que deseemos, como puede ser "Autor",
"Palabras clave", "Descripcin", etc. Pero debido a que la mayora de buscadores estn en ingls, es preferible que
el tipo de informacin se especifique en ingls.
Los tipos de informacin ms utilizados son los siguientes:
Por ejemplo, el siguiente cdigo indica que el autor de la pgina es aulaclic, que la pgina trata sobre un curso de
HTML gratuito, y especifica algunas palabras clave a ser consultadas por los buscadores:
Por ejemplo, imaginemos que por algn motivo queremos que nuestra pgina se actualice automticamente cada 30
segundos. En ese caso, deberamos utilizar la accin Refresh (actualizar). Podramos utilizar el siguiente cdigo:
Ahora imaginemos que hemos cambiado la direccin en la que se encuentra nuestra pgina web, y queremos que
cuando algn usuario visite la pgina en la direccin antigua, a los 5 segundos el navegador lo redirija
automticamente a la direccin nueva. En ese caso podramos insertar el siguiente cdigo en la pgina que se
encuentra en la direccin antigua:
De este modo, el navegador realizara la funcin de actualizar la pgina, pero cargando la que se encontrara en la
nueva direccin (URL=http://www.aulaclic.com/index.htm).
La imagen de fondo puede establecerse a travs del atributo background, indicando la ruta en la que se encuentra la
imagen.
Por ejemplo, para hacer que la imagen de fondo de una pgina sea la imagen fondo.gif, que se encuentra en el
mismo directorio en el que se encuentra guardada la pgina, tendremos que escribir:
Entre el borde de la ventana y el contenido de la pgina existe un margen, cuyo tamao en pxeles puede
modificarse mediante los atributos leftmargin (margen izquierdo) y topmargin (margen superior).
Estos atributos no funcionan para el navegador Netscape, pero s los atributos marginwidth (anchura del margen) y
marginheight (altura del margen).
Estos atributos suelen utilizarse para eliminar el margen, para lo cual deben valer cero.
Por ejemplo, para hacer que una pgina no tenga margen superior, y tenga un margen izquierdo de 20 pxeles,
tendremos que escribir:
2. Colores en hexadecimal
Los colores en HTML se representan mediante un nmero hexadecimal.
Un nmero hexadecimal se diferencia de un nmero decimal en que no slo puede tomar valores del 0 al 9, sino que
puede tomar hasta diecisis valores distintos, que van del 0 al 9, y de la A a la F.
Cada color estar representado por un grupo de seis dgitos en hexadecimal, precedidos por una almohadilla, como
por ejemplo #FFFFFF.
Existen 216 colores seguros para web. stos son los colores que se muestran de la misma forma en Microsoft
Internet Explorer y en Netscape Navigator, tanto en Windows como en Macintosh.
Tambin podemos personalizar nuestros propios colores, modificando los valores de cada uno de los dgitos que
forman parte del nmero hexadecimal.
A continuacin se muestran los 216 colores seguros para web, para que puedas consultarlos cuando lo necesites.
Existe otra forma de representar algunos colores, sin la necesidad de utilizar nmeros en hexadecimal.
Estos colores pueden representarse por su nombre, y son los siguientes:
Leccin III
Texto
A continuacin se muestra una lista con algunos caracteres y el nombre con el que han de ser representados
Siempre que se inserta texto en HTML hay que tener en cuenta que si se escriben varios espacios en blanco
seguidos slamente se mostrar uno en el navegador. Para conseguir que se muestren varios espacios en blanco
seguidos puede sustituirse cada uno de ellos por .
Por ejemplo, para insertar el texto:
Bienvenidos, esta es mi 1 pgina!
Habra que escribir:
Todo el cdigo que se inserte entre estos smbolos no ser visualizado en los navegadores.
Por ejemplo, para insertar el texto siguiente con un comentario:
En general, cuando trabajamos con un editor de texto se produce un salto de lnea al pulsar la tecla INTRO.
Si pulsamos INTRO en un documento HTML, el salto de lnea se producir en el cdigo, pero no se mostrar en el
navegador. Para que se produzca el salto de lnea en el navegador, en lugar de pulsar la tecla INTRO hay que
insertar la etiqueta
donde se desee que se produzca el salto.
Existen una serie de etiquetas que permiten aplicar diferentes estilos al texto que se encuentra entre ellas, y
generalmente se utilizan para resaltarlo. Estos estilos pueden agruparse segn vayan asociados al tipo de letra o a
la informacin que represente el texto. No hay que olvidar que todas estas etiquetas necesitan una etiqueta de
cierre, y que pueden aplicarse varias etiquetas al mismo texto.
A continuacin se muestran algunas etiquetas asociadas al tipo de letra:
Las etiquetas ms utilizadas son las asociadas al tipo de letra, ya que son ms fciles de recordar, y en muchos
casos los resultados son los mismos que los de aplicar una etiqueta diferente.
Tambin es posible cambiar la alineacin del texto de cada prrafo. Para ello se modifica el valor del atributo align,
cuyos valores pueden ser left (izquierda), right (derecha), center (centrado) o justify (justificado).
Por ejemplo, para insertar el texto:
Bienvenidos a mi pgina.
Aqu encontraris cursos de formacin muy interesantes.
Habra que escribir:
Existen una serie de encabezados que suelen utilizarse para establecer ttulos dentro de una pgina. La diferencia
entre los distintos tipos de encabezado es el tamao de la letra, el tipo de resaltado, y la separacin existente entre
el texto y los elementos que tiene encima y debajo de l. Hay que tener en cuanta que el navegador del usuario es el
que aplicar el estilo del encabezado por lo que el mismo ttulo se puede visualizar de forma diferente segn el
navegador.
Existen seis etiquetas que representan seis tipos de cabeceras distintas. Todas estas etiquetas precisan una etiqueta
de cierre.
A continuacin se muestran los distintos encabezados existentes:
Para todas estas etiquetas es posible especificar el valor del atributo align.
Por ejemplo, para insertar el texto:
El lenguaje HTML
Apartado 1: Las etiquetas
Habra que escribir:
Las marquesinas son lneas de texto que pueden desplazarse de un lado a otro de la ventana en forma de lnea.
Para insertar una marquesina, es necesario insertar el texto entre las etiquetas
La marquesina, por defecto, se desplaza de derecha a izquierda indefinidamente, pero si lo deseas puedes hacer
que estas propiedades varen.
A travs del atributo behavior puede modificarse el tipo de movimiento. Puede tomar los valores alternate (de lado a
lado de la ventana, como si rebotara en los extremos), scroll (de un lado a otro, continuamente) o slide (de un lado a
otro, pero una sola vez).
A travs del atributo direction puede modificarse la direccin en la que se mover el texto. Puede tomar los valores
down (de arriba a abajo), up (de abajo a arriba), left (de derecha a izquierda) o left (de izquierda a derecha).
Tambin es posible establecer un color de fondo, a travs del atributo bgcolor.
Por ejemplo, para insertar la siguiente marquesina:
Esto es una marquesina
Habra que escribir:
A travs del atributo type es posible elegir el tipo de numeracin, que puede ser 1 (nmeros), a (letras minsculas), A
(letras maysculas), i (numeros romanos en minsculas) o I (nmeros romanos en maysculas).
Por ejemplo, para insertar la siquiente lista:
Perro
Gato
Periquito
Habra que escribir:
Anidar listas
Es posible anidar listas dentro de otras. Estas listas pueden ser tanto desordenadas como ordenadas.
Leccin IV
Hiperenlaces
A travs del atributo href se especifica la pgina a la que est asociado el enlace, la pgina que se visualizar
cuando el usuario haga clic en el enlace.
Por ejemplo, para insertar el enlace:
Visita www.aulaclic.com
Habra que escribir:
2. Tipos de referencias
Referencia absoluta:
Conduce a una ubicacin externa al sitio en el que se encuentra el documento. La ubicacin es en Internet, en este
caso hay que empezar la referencia por http:// , el nombre del dominio y algunas veces el nombre de la pgina. Si no
se escribe el nombre de la pgina se cargar la pgina de inicio asociada al dominio.
Por ejemplo, "http://www.aulaclic.com" tendr el mismo efecto que "http://www.aulaclic.com/index.htm"
Para insertar el enlace:
Visita www.aulaclic.com
Habra que escribir:
Por ejemplo, teniendo en cuenta que el documento t_4_1.htm se encuentra directamente dentro de la carpeta raz
del sitio, para insertar el enlace:
Enlace a Tema 4: Hiperenlaces
Habra que escribir:
Observa que en este caso no aparece el smbolo "/" delante del nombre del documento. Si el documento t_4_1.htm
se encontrara, por ejemplo, dentro de una carpeta llamada tema4, y esta estuviera dentro de la misma carpeta que
el documento actual, habra que escribir:
Punto de fijacin:
Conduce a un punto dentro de un documento, ya sea dentro del actual o de otro diferente. Para ello el vnculo debe
ser "nombre_de_documento#nombre_de_punto".
Por ejemplo, para insertar el enlace:
Punto de fijacion Tipos de enlaces
Habra que escribir:
Teniendo en cuenta que el documento se llama t_4_1.htm y el punto de fijacin se llama tipos.
Al final de este tema vers cmo definir el punto de fijacin.
1. Destino del enlace
El destino del enlace determina en qu ventana va a ser abierta la pgina vinculada, se especifica a travs del
atributo target al que se le puede asignar los siguientes valores:
_blank:
Abre el documento vinculado en una ventana nueva del navegador.
_parent:
Abre el documento vinculado en la ventana del marco que contiene el vnculo o en el conjunto de marcos padre.
_self:
Es la opcin predeterminada. Abre el documento vinculado en el mismo marco o ventana que el vnculo.
_top:
Abre el documento vinculado en la ventana completa del navegador.
No te preocupes si no te queda del todo claro para qu sirve cada una de estas opciones de destino, ya que se
volvern a ver en el tema de Marcos. De momento slo te interesa retener la opcin _blank y _self.
Para insertar el enlace:
Visita www.aulaclic.com en una ventana nueva
Habra que escribir:
Es interesante utilizar esta opcin cuando la pgina de destino est fuera de nuestro sitio para que cuando el usuario
cierre la ventana del explorador, se encuentre automticamente en la pgina desde la que haba salido (que vuelva a
nuestro sitio).
2. Formato de los enlaces
En general, un texto que tiene un vnculo asociado suele aparecer subrayado.
Cuando el vnculo est definido sobre una imgen, en el borde aparecen una serie de puntitos al pulsar sobre ella.
Cuando el vnculo est definido sobre una zona de una imagen (un mapa), aparece el contorno de esa zona.
Aqui tienes dos vnculos similares de ejemplo:
Como puedes ver, la segunda imagen que hace de vnculo contiene un recuadro alrededor. Esto ocurre debido a que
se ha establecido un borde para la imagen, como veremos ms adelante.
Tanto si el vnculo se asigna a un texto como a una imagen, el cursor cambia de forma al situarse encima del
vnculo. Suele adquirir la apariencia de una mano sealando.
Normalmente los vnculos de texto cambian de color cuando el enlace ha sido ya pulsado o cuando el puntero del
ratn se posiciona sobre l, estos cambios estn predefinidos en cada navegador, pero nosotros podemos cambiar
esos colores.
Los colores de los vnculos pueden especificarse a travs de las propiedades de la pgina, en la etiqueta . Estos
colores se asignan a travs de los atributos link (vnculo), alink (vnculo activo), y vlink (vnculo visitado).
link permite determinar el color de los enlaces sin visitar (enlace que no ha sido pulsado ninguna vez).
alink permite determinar el color del enlace activo (enlace que acaba de ser pulsado).
vlink permite determinar el color de los enlaces visitados (enlaces que ya han sido pulsados).
Por ejemplo, al insertar el siguiente cdigo:
con el atributo name, que puede tomar cualquier valor inventado por el usuario, se recomienda no utilizar caracteres
especiales.
Por ejemplo, para insertar un punto de fijacin delante del siguiente texto:
Texto con ancla
Habra que escribir:
Teniendo en cuenta que el documento actual se llama t_4_3.htm, y que el ancla anterior se llama miancla,
podramos crear un enlace que nos llevara directamente a la lnea de texto en la que se encuentra el ancla. Por
ejemplo:
Enlace al ancla
Habra que escribir:
Si pulsas sobre el enlace vers como se vuelve a cargar el documento actual, pero en lugar de cargarse desde el
principio, la primera lnea de texto ser la lnea en la que hemos insertado el ancla.
Cuando el ancla se encuentra en el mismo documento que el enlace, como ocurre en este caso, podemos prescindir
de poner el nombre de la pgina en el atributo href.
En el ejemplo anterior podramos haber escrito:
Despus de hacer clic en el enlace se abrir el Outlook Express (si el usuario lo tiene instalado) con la pantalla para
redactar un nuevo mensaje y con el campo destinatario rellenado con la direcciondecorreo. Podemos hacer que est
rellenado algn campo ms como es el asunto. En este caso habra que escribir:
El navegador reconoce algunas extensiones como asociadas a un determinado programa (por ejemplo la
extensin .doc est asociada al programa Word, .pdf al programa Acrobar Reader, .xls al programa Excel...) en este
caso en el cuadro de dilogo aparece una nueva opcin, la de abrir el fichero sin descargarlo en el disco duro del
usuario.
Para nombrar el fichero podemos utilizar segn el caso, una referencia externa, una referencia relativa al sitio o una
referencia relativa al documento.
Por ejemplo, en la carpeta donde se encuentra esta pgina tenemos el fichero Word carta.doc y queremos que
nuestros visitantes puedan visualizar e incluso descargar el fichero en su disco duro, en este caso definiremos el
enlace:
haz clic aqu para descargarte el fichero
De la siguiente forma:
En este caso hemos utilizado una referencia relativa al documento ya que la carta se encuentra en la misma carpeta
que nuestra pgina.
Vnculo vaco:
Al pulsar sobre un enlace vaco no se abre ninguna pgina ni archivo, pero el formato es el mismo que el de
cualquier otro enlace. El vnculo debe ser el smbolo almohadilla "#".
Por ejemplo, para insertar el enlace vaco:
Vinculo vacio
Habra que escribir:
Leccin V
Imgenes
Imagen
Todas las pginas web acostumbran a tener un cierto nmero de imgenes, que permiten mejorar su apariencia, o
dotarla de una mayor informacin visual.
Para insertar una imagen es necesario insertar la etiqueta
Teniendo en cuentra que la imagen se llama logo_animales.gif y que est dentro de la carpeta imagenes, que se
encuentra en el mismo directorio que el documento actual (referencia relativa al documento).
Para trabajar de una forma ms sencilla y ordenada, es recomendable que todos los documentos html se
encuentren en un mismo directorio, y que dentro de este directorio existan diferentes carpetas para agrupar otros
objetos, como puede ser una carpeta destinada a almacenar imagenes, o una carpeta destinada a almacenar
archivos de audio, etc.
Existen una serie de formatos de imagen ms recomendables que otros para ser introducidos en una pgina web.
Esta informacin puedes consultarla aqu .
1. Formatos de imagen
Las imgenes pueden ser de muchos formatos diferentes: bmp, gif, jpg, etc. Pero no todos estos formatos son
adecuados para una web, debido a que pueden ocupar mucha memoria o a que no son compatibles con algunos
navegadores.
Los formatos ms utilizados son el GIF y el JPG, que a pesar de ser imgenes de menor calidad que las imgenes
BMP, son ms recomendables debido a que ocupan menos memoria. Vamos a ver un poco ms sobre estos
formatos:
Formato GIF:
Utilizan un mximo de 256 colores, y son recomendables para imgenes con grandes reas de un mismo color o de
tonos no continuos. Suelen utilizarse con gran frecuencia, ya que permiten definir transparencias y animacin.
Formato JPG:
Las imgenes son de mayor calidad que las GIF, al poder contener millones de colores, pero el tamao de la imagen
es mayor y tarda ms en descargarse se utilizan ms para fotos.
Elementos de Programacion
ELEMENTOS DE PROGRAMACIN
Dentro de los elementos de programacin ms utilizados para llevar a cabo una buena
prantica de programacin, estn por ejemplo, los algoritmos, el pseudocdigo, los
diagramas de flujo, los diagramas de bloque, los mapas de entidad relacin, los
diagramas de flujo de datos, describiremos algunas a continuacin:
ALGORITMO
La ciencia que estudia los algoritmos se llama Algoritmia, siendo la famosa Mquina de
Turing la que ha formalizado sus conceptos en un modelo computacional.
Los algoritmos tienen algo en comn con las funciones matemticas: reciben una
entrada y producen una salida, pero para que pueda ser considerado como algoritmo
debe ser eficiente, finito y definido.
PROPIEDADES
Lenguaje comn
Diagramas de flujo
Pseudocdigo
Lenguajes de programacin
Es importante aclarar que los algoritmos deben expresarse de manera grfica para una
mejor comprensin, a este tipo de grafica se le conoce como diagrama de flujo del
algoritmo.
IMPLEMENTACIN
Los algoritmos tambin pueden escribirse en pseudocdigo, lo que tambin los hace
fciles de entender.
Se hacen intentos para que las computadoras interpreten y ejecuten los diagramas de
flujo y los pseudocdigos, pero no logran la flexibilidad, potencia y velocidad de los
algoritmos puramente escritos en un lenguaje de programacin especfico.
Un algoritmo tambin puede expresarse en lenguaje natural, aunque esto puede traer
ambigedades e interpretaciones errneas.
ALGORITMOS EN PROGRAMACIN
El orden en que se ejecuta cada uno de los pasos que constituyen un algoritmo es
fundamental, el orden bsico es de arriba hacia abajo, ejecutndose una instruccin
tras otra de un cdigo, puede variar en su flujo u orden de ejecucin de pasos
dependiendo de los valores de inicio o que entran durante su ejecucin; el flujo es
manejado por las estructuras de control.
ALGORITMOS PREDEFINIDOS
Existen algoritmos ya definidos matemticamente que son muy eficientes, como los
algoritmos de bsqueda o el algoritmo, y suelen ser tomados por otros programadores
para utilizarlos dentro de sus propios cdigos.
DIAGRAMAS DE FLUJO
Los diagramas de flujo son una manera de representar visualmente el flujo de datos a
travs de sistemas de tratamiento de informacin, los diagramas de flujo describen que
operaciones y en que secuencia se requieren para solucionar un problema dado.
complicados y sobre todo muy largos, despes de haber hecho el diagrama de flujo, en
relativamente fcil escribir el programa en cualquier lenguaje de alto nivel, nos dan
ventaja al momento de explicar el programa a otros, por lo tanto, est correcto decir
que un diagrama de flujo es una necesidad para la documentacin mejor de un
programa complejo.
SMBOLOS GRFICOS
+
Sumar
Menos
Multiplicacin
Divisin
Mas o menos
Equivalente a
>
Mayor que
<
Menor que
<>
Diferente de
Si
No
True
False
--
Decremento en 1 unidad
++
Incremento en 1 unidad
1.- Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a
derecha.
2.- Los smbolos se unen con lneas, las cuales tienen en la punta una flecha que indica
la direccin que fluye la informacin procesos, se deben de utilizar solamente lneas de
flujo horizontal o vertical.
3.- Se debe evitar el cruce de lneas, para lo cual se quisiera separar el flujo del
diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener
en cuenta que solo se van a utilizar conectores cuando sea estrictamente necesario.
4.- No deben quedar lneas de flujo sin conectar.
5.- Todo texto escrito dentro de un smbolo debe ser legible, preciso, evitando el uso de
muchas palabras.
6.- Todos los smbolos pueden tener ms de una lnea de entrada, a excepcin del
smbolo final.
7.- Solo los smbolos de decisin pueden y deben tener ms de una lnea de flujo de
salida.
PSEUDOCODIGO
Instrucciones primitivas
Instrucciones de proceso
Instrucciones de control
Instrucciones compuestas
Instrucciones de descripcin
ESTRUCTURA A SEGUIR EN SU REALIZACIN:
Cabecera:
Programa
Modulo
Tipos de datos
Constantes
Variables
Cuerpo:
Inicio
Instrucciones
Fin
SENTENCIAS DE PROGRAMACION
Las sentencias son los elementos bsicos en los que se divide el cdigo en un lenguaje
de programacin, un programa no es ms que un conjunto de sentencias que se
ejecutan para realizar una cierta tarea.
(* ... *)
begin
(* ... *)
if (a<>b) then
begin
aux := a ;
a := b ;
b := aux
end ;
writeln('a vale ',a,' y b vale ',b)
end.
Las sentencias, se dividen en simples y estructuradas. Las simples sern las que
tratemos en este tema, dejando para el siguiente las estructuradas.
SENTENCIAS SIMPLES
Sentencias de asignacin:
Es una de las instrucciones ms comunes en un programa, permite dar un primer valor
o cambiar el valor a una variable.
Mientras que la parte de la izquierda slo puede ser una variable, la de la derecha
puede ser una expresin o una llamada a una funcin, dentro del trmino expresin se
begin
(* ... *)
(* ... *)
end.
Dentro de las expresiones distinguimos dos clases segn el tipo de datos que
devuelven al evaluarlas:
begin
i:= 1;
encontrado:= false;
while (i < final) and (not encontrado) do begin
(* mirar el elemento en la posicin i *)
(* si es, cambiamos "encontrado" a "true" *)
i:= i + 1
end
end.
Evaluacin de expresiones: Para evaluar una expresin, slo hay que saber sumar,
restar, si un nmero es mayor que otro.
Hay tres reglas de prioridad a seguir para evaluar una expresin:
Declaracin de varias variables con el mismo tipo de dato: tipo nombre1, nombre2,
nombre3,...
Donde:
Seccin de defines
#define constante valor
Seccin para la declaracin de constantes
const <tipo> <identificador> = <valor>;
Prototipos de funciones y procedimientos
Tipo_devuelto Nombre(lista de parmetros);
Funcin main (Programa principal)
int main()
{Declaracin de variables locales;
Sentencia;
...
return 0;
}
Implementacin de funciones y procedimientos
Tipo_devuelto Nombre(lista de parmetros)
{Declaracin de variables locales;
sentencia;
...
return resultado;
}
El trmino con formato se refiere a que estas funciones leen y escriben datos en varios
formatos bajo control del programador.
scanf( ): Es la rutina de entrada por consola de propsito general, puede leer todos los
tipos de datos que suministra el compilador y convierte los nmeros automticamente
al formato interno apropiado, es el complemento de printf( ). Su prototipo es: int
scanf("%x1%x2...", &arg1, &arg2,...); los %xi indican qu tipo de dato se va a leer a
continuacin.
Constantes de carcter con barra invertida: Son necesarias para poder imprimir
caracteres especiales, como un retorno de carro, comillas dobles, comillas simples,
tabuladores, etc.
CDIGO SIGNIFICADO
\b Espacio atrs
\t Tabulacin horizontal
\n Salto de lnea
\r Retorno de carro
\a Alerta
\\ Barra invertida
\ Comillas dobles
\ Comilla simple
\x Constante hexadecimal \o Constante octal
Debido a que el C tiene muy pocas palabras clave, suple esta carencia con una serie
de funciones, que realizan acciones muy frecuentes, agrupadas en unas libreras (cada
librera contiene un determinado nmero de funciones), a cuyo conjunto se le llama
Biblioteca, para poder utilizar una determinada librera hay que incluir su archivo de
cabecera, al principio de nuestro programa, mediante #include:
http://www.sites.upiicsa.ipn.mx/polilibros/portal/polilibros/p_terminados/PolilibroFC/Unid
ad_III/Unidad%20III_7.htm#
Manipulacin de objetos
Aprenda HTML5 en 5 minutos!
No hay duda, HTML5 es un tema candente para los desarrolladores. Si usted necesita un curso
acelerado para comprender con rapidez los fundamentos de la funcionalidad de HTML5, est en el lugar
correcto.
Hablaremos del nuevo lienzo para dibujo y animacin semntico de marcado, el soporte de audio y
video, y como usar HTML5 con navegadores anteriores. Podra tomar un poco ms de cinco minutos,
pero les prometo que tratar de hacerlo rpido. No se vaya, vale la pena!
article
aside
figcaption
figure
footer
header
hgroup
mark
nav
section
time
Debido a la riqueza semntica, probablemente pueda adivinar lo que la mayora de estos elementos
hacen.
Pero por si acaso, aqu va una visualizacin:
Los Headers y footers resultan claros, mientras que nav crea una barra de men o navegacin.
Puede utilizar sections y articles para agrupar su contenido. Por ltimo, el elemento aside puede ser
usado para contenido secundario, por ejemplo, una barra lateral de enlaces relacionados.
Este es un ejemplo sencillo de cdigo que utiliza estos elementos.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Title</title>
<link href="css/html5reset.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
</head>
<body>
<header>
<hgroup>
<h1>Header in h1</h1>
<h2>Subheader in h2</h2>
</hgroup>
</header>
<nav>
<ul>
<li><a href="#">Menu Option 1</a></li>
<li><a href="#">Menu Option 2</a></li>
<li><a href="#">Menu Option 3</a></li>
</ul>
</nav>
<section>
<article>
<header>
<h1>Article #1</h1>
</header>
<section>
Este es el primer artculo. This is <mark>highlighted</mark>.
</section>
</article>
<article>
<header>
<h1>Article #2</h1>
</header>
<section>
Este es el segundo artculo. Estos artculos pueden ser secciones del blog, etc.
</section>
</article>
</section>
<aside>
<section>
<h1>Links</h1>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</section>
<figure>
<img width="85" height="85"
src="http://www.windowsdevbootcamp.com/Images/JennMar.jpg"
alt="Jennifer Marsman" />
<figcaption>Jennifer Marsman</figcaption>
</figure>
</aside>
<footer>Footer - Copyright 2011</footer>
</body>
</html>
Quiero llamar a unos cuantos elementos nuevos ms en este cdigo
Ha notado que el elemento hgroup que agrupo a mis encabezados h1 y h2?
El elemento mark me permiti resaltar o marcar el texto importante. Finalmente, los
elementos figure y figcaption especifican una figura en mi contenido (como una imagen, grfico,
foto, un fragmento de cdigo, etc.) y me dejan asociar un pie con la firugra.
As es como la pgina web se vera combinada con algo de CSS. (NOTA: Ped prestado el CSS de mi
talentoso compaero Brandon Satrom y su TechEd talk, pero el efecto final menos que bello fes culpa
ma).
Ahora, imagine esto en manos de alguien que sea realmente bueno en CSS (que no lo soy). El resultado
es muy potente. El carcter descriptivo del HTML los hace sper fcil de manejar.
Por ltimo, si usted est tratando de seguirlo en Visual Studio, pero se encuentra con lneas
serpenteantes en todas partes que indican que VS no entiende los elementos HTML5,asegrese de
que tiene Visual Studio 2010 SP1instalado.
Luego, en el men de Visual Studio, vaya a Herramientas, Opciones. En la parte izquierda panel de
navegacin, expanda el Editor de texto, HTML y, a continuacin, haga clic en Validacin. Desde el men
desplegable seleccione HTML5. Esto le dar compatibilidad HTML5 IntelliSense. Fiu!
".
// Draw white X
ctx.beginPath();
ctx.lineWidth = "15";
ctx.strokeStyle = "white";
ctx.moveTo(0, 0);
ctx.lineTo(125, 75);
ctx.moveTo(125, 0);
ctx.lineTo(0, 75);
ctx.stroke();
</script>
</body>
</html>
Esto es lo que el cdigo genera:
En primer lugar, voy a crear el lienzo y a darle una ID de "myCanvas". Si este cdigo fuera
vistoo en un navegador que no soporta el elemento canvas HTML5, mostrara "Su navegador no soporta
la etiqueta canvas" en lugar de dibujar la bandera. .
Despus, tengo una secuencia de comandos. Recuerde, que la etiqueta canvas es slo un
contenedor para grficos; debe usar JavaScript para dibujar y representar grficos sobre ella. En primer
lugar, tomo una referencia al lienzo utilizando la ID "myCanvas" y, a continuacin, obtengo el contexto del
lienzo que proporciona propiedades y mtodos para la elaboracin y manipulacin de la grfica sobre el
lienzo. He especificado " 2d" para usar un contexto en dos dimensiones para dibujar en la pgina.
A continuacin, dibujo el rectngulo azul. Uso fillStyle para especificar el color azul.
UsofillRect para dibujar el rectngulo, especificando el tamao y la posicin. Al llamar fillRect(0, 0,
125, 75) significa: comenzando en la posicin (0, 0), la esquina superior izquierda, dibujar un rectngulo
con ancho=125 alto=75 pxeles.
Por ltimo, dibujo la X blanca sobre la bandera. En primer lugar solicito beginPath para
iniciar el proceso pintar en una ruta. Especifico lineWidth (ancho de lnea) de 15 pxeles
(utilizando el mtodo de adivinar y revisar para intentar diferentes valores hasta que se vea bien) y
un strokeStyle de "blanco" para trazar la ruta del color blanco. A continuacin, trazo la ruta
utilizando moveTo y lineTo . Estos mtodos posicionan el "cursor" para dibujar; la diferencia es que
moveTo mueve el cursor sin trazar una lnea y lineTo dibuja una lnea mientras se desplaza. Empezar
movindome a la posicin (0, 0), la esquina superior izquierda y, a continuacin, trazar una lnea a (125,
75), la esquina inferior derecha. Despus me muevo a la posicin (125, 0), la esquina superior derecha y,
a continuacin, trazar una lnea a (0, 75), la esquina inferior derecha. Por ltimo, el
mtodo stroke hace que estos trazos se vean.
Grficos vectoriales escalables (SVG) es un estndar para dibujar en la ventana del navegador. Con la
liberacin de Canvas de HTML5, muchas personas se preguntan en qu difieren.
En mi opinin, la mayor diferencia es que canvas utiliza el modo inmediato de
representacin y SVG utiliza modo retenido de representacin. Esto significa que
canvas hace directamente la representacin de los grficos en la pantalla. En mi cdigo anterior, una vez
que la bandera se dibuja, el sistema lo olvida y no se conserva nada. Hacer un cambio requerir un
redibujado completo. En comparacin, SVG conserva un modelo completo de los objetos que se han
representado. Para efectuar un cambio, simplemente tiene que cambiar, por ejemplo, la posicin del
rectngulo y el explorador determinara cmo volver a hacerla. Esto es menos trabajo para los
desarrolladores, pero tambin resulta ms pesado para mantener un modelo.
Vale la pena considerar la capacidad de formatear SVG mediante CSS adems de JavaScript. Un lienzo
se puede manipular solamente a travs de Javascript.
He aqu una resea de alto nivel de otras diferencias:
ABSTRACCIN
ELE MENTOS
CANVAS
SVG
Basado en formas
CONTROLADOR
Modificados solamente
mediante script
Modificados a travs de
scripts y CSS
>MODELO DE
EVENTO
RENDIMIENTO
El rendimiento es mejor
con menor superficie y/o
mayor nmero de objetos
El rendimiento es mejor
con menor nmero de
objetos y/o una superficie
ms amplia
Para una comparacin ms detallada, quiero dirigirlos hacia algunas de las sesiones (de donde extraje
este fabuloso cuadro, con permiso):
<audio controls="controls">
<source src="laughter.mp3" type="audio/mp3" />
<source src="laughter.ogg" type="audio/ogg" />
Su navegador no soporta el elemento de audio.
</audio>
Con este cdigo, el navegador intentar primero reproducir el archivo laughter.mp3. Si no tiene los
cdecs adecuados para reproducirlo, intentar a continuaci reproducir el archivo laughter.ogg. Si el
elemento de audio no es reconocido por el navegador en absoluto, mostrar el texto "Su navegador no
soporta el elemento audio" en donde debi estar el control audio.
Una salvedad para audio y video: no incluye gestin de derechos digitales (DRM); tiene que implementar
esto por s mismo como desarrollador. Vea este enlace del W3C que explica su opinin. (Si necesita
usar contenido con DRM, tambin revise la documentacin Silverlight DRM, que podra resultar una
solucin ms fcil.)
Ahora, ahondemos en cada uno de estos nuevos elementos.
Audio
En primer lugar, echemos un vistazo a <audio> con ms detalle.
<audio controls="controls">
<source src="laughter.mp3" type="audio/mp3" />
<source src="laughter.ogg" type="audio/ogg" />
Su navegador no soporta el elemento de audio.
</audio>
Ya tuvimos ocasin de discutir el problema de de tratar cada una de las fuentes hasta que que encuentre
una que se puede reproducir.
Tenga en cuenta que existe un atributo controls. Esto le mostrar los controles de reproduccin de
audio incluyendo un botn de reproduccin/pausa, el tiempo, un botn de silencio y los controles de
volumen. En la mayora de las situaciones, es bueno mostrar controles de audio al usuario; no me
gusta visitar un sitio web con sonido y a la imposibilidad de detenerlo, silenciarlo
o bajar el volumen. No?
As se ven los controles de audio en Internet Explorer:
Los controles se ven diferente en distintos navegadores. As se ven en Chrome (con una cancin
sonando). El control volumen aparece cuando pasa el puntero por el cono de sonido en el extremo
derecho.
Aqu estn los controles de Firefox (con una cancin en pausa). Al igual que Chrome, tambin tiene un
control de volumen que aparece (no se muestra) al desplazar el puntero sobre el icono de sonido en el
extremo derecho.
ATT R I B U T E
POSSIBLE
VAL U E S
DESCRIPTION
A U TOP L AY
autoplay
CONTROLS
controls
LOOP
loop
PRELOAD
auto,
metadata,
none
SRC
(algn URL)
Por lo que este cdigo muestra no slo mostrar controles de reproduccin de audio, sino que tambin
iniciar la reproduccin de audio inmediatamente y lo repetir una y otra vez en un bucle.
<audio controls="controls">
<source src="laughter.mp3" type="audio/mp3" />
<source src="laughter.ogg" type="audio/ogg" />
Su navegador no soporta el elemento de audio.
</audio>
Si le gustara jugar con el elemento <audio> > en su navegador hay un increble editor
enhttp://w3schools.com que le permite editar algo de cdigo para ver que pasa. Tambin puede echar
un vistazo al artculo cmo agregar un reproductor de audio HTML5 en su sitio.
Video
Veamos ahora el elemento <video> element.
VALORES
POSIBLES
DESCRIPCIN
AUDIO
muted
A U TOP L AY
autoplay
CONTROLS
controls
HEIGHT
(valor en
pxeles)
LOOP
loop
ATR I B U TO
(algn URL)
PRELOAD
auto,
metadata,
none
SRC
(algn URL)
WIDTH
(valor en
pxeles)
POSTER
Una vez ms, para jugar con el elemento <video>, utilice el editor en http://w3schools.comque le
permite editar algo de cdigo de ejemplo y ver qu sucede.
Para obtener ms informacin acerca de video y audio revise:
5 Cosas que usted necesita saber para empezar a usar <audio> y <video> hoy
Cmo agregar un reproductor de audio HTML5 en su sitio
W3C Schools HTML5 video
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Title</title>
<link href="css/html5reset.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
</head>
<body>
<header>
<hgroup>
<h1>Header in h1</h1>
<h2>Subheader in h2</h2>
</hgroup>
</header>
<nav>
<ul>
<li><a href="#">Menu Option 1</a></li>
<li><a href="#">Menu Option 2</a></li>
<li><a href="#">Menu Option 3</a></li>
</ul>
</nav>
<section>
<article>
<header>
<h1>Article #1</h1>
</header>
<section>
Este es el primer artculo. This is <mark>highlighted</mark>.
</section>
</article>
<article>
<header>
<h1>Article #2</h1>
</header>
<section>
Este es el segundo artculo. Estos artculos pueden ser secciones del blog, etc.
</section>
</article>
</section>
<aside>
<section>
<h1>Links</h1>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</section>
<figure>
<img width="85" height="85"
src="http://www.windowsdevbootcamp.com/Images/JennMar.jpg"
alt="Jennifer Marsman" />
<figcaption>Jennifer Marsman</figcaption>
</figure>
</aside>
<footer>Footer - Copyright 2011</footer>
</body>
</html>
Este cdigo contiene una serie de nuevos elementos HTML5 que no son soportadas en navegadores
antiguos. Recuerde que en Internet Explorer 9 se vea as:
Podemos usar Internet Explorer developer tools para ver cmo se vera en versiones anteriores de IE. En
Internet Explorer, presione la tecla F12 para acceder a las herramientas de programador.
Tenga en cuenta que el modo de navegacin (en la barra de men gris en la parte superior) est
configurada ahora para IE9. Haga clic en el Modo Navegacin, y en el men desplegable que aparece,
seleccione "Internet Explorer 8" (que no tiene soporte HTML5).
Despus de hacer este cambio y cambiar a un navegador no compatible con HTML5, esto es lo que
aparece en mi pgina web:
Aunque parece que es un problema enorme, no es realmente tan malo. La razn por la que esto no
funciona es que IE8 no reconoce los nuevos elementos HTML5 que estoy usando, as que no los agrega
al DOM, por lo que no se pueden aplicar estilos mediante CSS.
Sin embargo, con solo agregar una referencia a Modernizr (sin hacer ningn otro cambio en el cdigo!)
entonces obligar a meter estos elementos en el DOM. Descrguelo
dehttp://www.modernizr.com/download/ y agregue una referencia en la seccin <head> de este
modo:
<head>
<meta charset="utf-8" />
<title>Title</title>
<link href="css/html5reset.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
<script src="script/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="script/modernizr-2.0.6.js" type="text/javascript"></script>
</head>
Agregu dos referencias de script, uno para jQuery y uno Modernizr. No necesito realmente la referencia
jQuery en este punto, pero sin duda las necesitaremos para el siguiente script, as que por eso la agrego
ahora.
Con este simple cambio ahora mi sitio se ve en Internet Explorer 8:
No es perfecto, pero est muy cerca de la versin original que vemos en Internet Explorer 9. Modernizr
agreg estos nuevos elementos HTML5 que IE8 no ha entendido en el DOM y ya que estn en el DOM
podramos formatearlos mediante CSS.
Pero Modernizr hace mucho ms que eso! Tenga en cuenta que una de las diferencias entre
nuestras versiones IE8 e IE9 de la pgina web es que la versin IE9 tiene una bonita esquina
redondeada en los dos artculos y la figura, y la versin IE8 no. Tambin podemos utilizar Modernizr para
corregir esto.
<script type="text/javascript">
if (!Modernizr.borderradius) {
$.getScript("script/jquery.corner.js", function() {
$("article").corner();
$("figure").corner();
});
}
</script>
En este script, estamos comprobando el objeto Modernizr para ver si hay soporte para "borderradius"
(una caracterstica CSS3). Si no, yo uso un script jQuery llamado jquery.corner.js (que est disponible
para su descarga en http://jquery.malsup.com/corner/ y requiere esa referencia adicional a jQuery
que hice antes). A continuacin, simplemente llamo el mtodo esquina del script de mis artculos y
cifras para darles esquinas redondeadas.
O bien, puede hacer esto una forma ligeramente diferente. Modernizr tiene un cargador de recursos
condicional (no incluido) llamado Modernizr.load(), basado en Yepnope.js. Esto le permite cargar slo
los scripts polyfilling que necesitan sus usuarios, y cargar scripts de forma asncrona y en paralelo que a
veces puede ofrecer una mejora de rendimiento. Para obtener Modernizr.load, tiene que incluirlo en una
versin personalizada de Modernizr que usted tiene que crear
en http://www.modernizr.com/download/; no est incluido en la versin de desarrollo. Con
Modernizr.load, podemos escribir un script similar a este:
<script type="text/javascript">
Modernizr.load({
test: Modernizr.borderradius,
nope: 'script/jquery.corner.js',
callback: function () {
$('article').corner();
$('figure').corner();
}
});
</script>
En resumen, este implementa la misma funcionalidad que la secuencia anterior. Modernizr.load primero
prueba la propiedad booleana "Modernizr.borderradius" para ver si es compatible. Luego, nope define
los recursos para cargar si test es falso. Dado que IE8 no soporta la propiedad CSS3 "borderradius",
cargar jquery.esquina.js script. Por ltimo,callback especifica una funcin para que se ejecute cada
vez que la secuencia de comandos haya terminado de cargar, por lo que invocamos el mtodo "corner"
en mis artculos y figuras como hicimos antes. Hay un breve tutorial sobre Modernizr.load
enhttp://www.modernizr.com/docs/#load si quiere ir ms a fondo.
Ahora, utilizando cualquiera de estos scripts, nuestro Internet Explorer versin 8 (que no soporta HTML5)
se ve as:
Por lo tanto, usando polyfills y herramientas como Modernizr podr utilizar la nueva funcionalidad HTML5
y an as dar una buena experiencia para navegadores antiguos. Para obtener ms informacin, consulte
la seccin http://www.diveintohtml5.net/detect.html que describe en detalle cmo detecta
Modernizr caractersticas HTML5.
Resumen
En esta introduccin a HTML5, cubrimos el marcado semntico, lienzo, audio y video, y utilizar HTML5
manteniendo el soporte a los navegadores ms antiguos. Pero tambin observamos que hay muchas
cosas que no cubrimos: microdatos, almacenamiento, CSS3, etc. Aqu hay algunos recursos para
continuar aprendiendo sobre HTML5:
IE Test Drive incluso si usted no usa Internet Explorer, este es un sitio increble. Contiene
muchas demostraciones: Demostraciones rpidas, Demostraciones HTML5, Demostraciones grficas y
Demostraciones de Navegador . Prubelas en su navegador favorito! Este sitio tambin tiene enlaces a
otros recursos.
Beauty of the Web muestralos mejores sitios en la web que sacan provecho de la aceleracin de
hardware de HTML5 y las caractersticas de anclado de Internet Explorer 9
BuildMyPinnedSite todo el cdigo, ideas, y las muestras que usted necesita para usar anclado e
integracin con Windows
HTML5 Labs es un sitio donde Microsoft prueba especificaciones anticipadas e
inestables de los cuerpos de normalizacin web tales como W3C. Puede jugar con
prototipos como IndexedDB, WebSockets, FileAPI y Media Capture API.
Videos
Brandon Satrom's "Application Development with HTML5" talk at TechEd 2011 de Brandon
Satrom es una fabulosa charla de una hora que le muestra lo que tiene que saber para desarrollar con
HTML5
Charlas sobre HTML5 en MIX 2011 una pltora de sesiones HTML5
Herramientas
Visual Studio 2010 SP1 el SP1 aade HTML5 bsico, CSS3 IntelliSense y validacin.
Para mayor informacin
consultehttp://blogs.msdn.com/b/webdevtools/archive/2011/01/27/html5-amp-css3-invisual-studio-2010-sp1.aspx.
Actualizacin de estndares web para Microsoft Visual Studio 2010 SP1 esta es una
extensin que Visual Studio agrega actualizando HTML5, IntelliSense y validacin CSS3 en
Visual Studio 2010 SP1, sobre la base de la actual especificacin W3C.
WebMatrix HTML5 es soportado por defecto (aadiendo una nueva pgina HTML
utiliza el doctype HTML5 por defecto y cdigo de plantilla)
El dilogo Nuevo Proyecto incluye una casilla de verificacin para activar las
plantilla de de proyecto de HTML5.
http://elcentrohtml5.sourceforge.net/Aprenda-HTML5-en-5-minutos#