1introduc+onto clientside,applica+ons,...departamentodesistemasinformácos, 3...

23
20102011 1Introduc+on to clientside Applica+ons Course: Developing webbased applica+ons Cris*na Puente, Rafael Palacios

Upload: others

Post on 11-Mar-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

2010-­‐2011  

1-­‐Introduc+on  to  client-­‐side  Applica+ons  

Course:  Developing  web-­‐based  applica+ons  

Cris*na  Puente,  Rafael  Palacios  

Page 2: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

Introduc*on  

1  

Page 3: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

3  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Advantages  of  web-­‐based  applica+ons  •  Web-­‐based  applica*ons  have  many  advantages  over  tradi*onal  applica*ons:  

– Compa*bility  • Web-­‐based  applica*ons  run  on  the  user's  browser  •  HTML  language  ensures  compa*bility  across  plaIorms  

– Accessibility  •  Remote  access  is  a  design  prerequisite  • Mobile  devices  widely  supported  •  There  are  many  browser  solu*ons  for  people  with  disabili*es:  

–  Automa*c  text  readers  –  Different  input  devices  –  Font  size  and  color  adjustable  

Page 4: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

4  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

HTML  was  designed  for:  •  Maximizing  browser  compa*bility  •  Very  efficient  in  the  server-­‐side  (possibility  to  support  many  concurrent  connec*ons)  

•  Crea*ng  stunning  content  with  dynamic  features,  but  without  compromising  the  previous  two  points.  

HTML  fails  on  the  last  point    

HTML  Limita+ons  

Page 5: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

5  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Some  programming  language  is  required  to  create  small  applica*ons  embedded  in  the  web  pages.  

Examples:  •  Shopping  chart  •  Counter  of  number  of  visits  •  Webmail  

•  Login  window    

HTML  Limita+ons  

Page 6: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

Client-­‐side  programming  

2  

Page 7: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

7  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Client-­‐side  •  The  Browser  downloads  the  code  along  with  standard  HTML  •  Then  the  soZware  runs  in  the  browser  

JavaScript

GET

Page 8: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

8  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

JavaScript  example  •  Syntax  similar  to  Java  (or  similar  to  C)  •  Integrated  with  standard  HTML  forms  

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

<html>

<head>

<title>JavaScript Example</title>

<script language="JavaScript">

<!-- Hide code if JavaScript is not supported

...JavaScript...

//End of hidden code -->

</script>

</head>

<body>

...HTML... </body>

</html>

Page 9: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

9  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

JavaScript  u+li+es  •  Using  JavaScript  it  is  possible  to  implement:  

–  Form  valida*on  programs  – Basic  computa*on  algorithms  –  Event  handlers  (ex.  mouse  hovering)  – Calendars  

Page 10: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

10  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

VBScript  example  •  Similar  to  JavaScript,  but  smaller  support  •  Visual  Basic  Syntax  

<HTML> <HEAD><TITLE>Prueba de VBScript</TITLE> <SCRIPT LANGUAGE="VBScript"> <!-- Sub Button1_OnClick MsgBox "Hola Mundo" End Sub --> </SCRIPT> </HEAD> <BODY> <FORM><INPUT NAME="Button1" TYPE="BUTTON" VALUE="Pulsame"></FORM>

</BODY> </HTML>

Page 11: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

11  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Java  Applets  example  •  An  applet  is  a  Java  program  designed  to  run  inside  the  browser  

•  The  applet  is  downloaded  along  with  a  web  page  and  runs  within  a  Java  Virtual  Machine  to  ensure  security  

– Applet  code:  

import  java.awt.*;  import  java.applet.*;  public  class  SimpleApplet  extends  Applet  {    public  void  paint  (Graphics  g){        g.drawString(“Hola  mundo”,20,20);    }  

}  

–  Inser*ng  the  applet  inside  HTML  code:  

<Applet  code=“SimpleApplet”  width=200  height=60>  </applet>  

Page 12: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

12  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Java  Applets  example  2  •  Very  extended  support  (mul*plaIorm  as  Java)  •  Good  in  security  •  Procedure:  

–  The  browser  downloads  a  web  page  from  the  server  –  The  browser  find  the  <applet>  tag  and  requests  the  applet  code  –  The  applet  code  is  run  in  a  JVM  (Java  Virtual  Machine)  

Page 13: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

13  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Ac+ve  X  example  •  Similar  to  Java  Applets  •  Inserted  in  web  pages  with  the  tag  <OBJECT>  •  Important  compa*bility  problems  •  Important  security  threats  

Page 14: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

14  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Adobe  Flash  •  Useful  for  anima*ons,  but  also  for  developing  applica*ons.  •  The  latest  versions  include  database  modules  •  Flash  may  interact  with  other  technologies  •  Security  concerns  increase  as  new  features  are  added  

Page 15: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

15  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Adobe  Flash  examples  

Page 16: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

JavaScript  easy  program  

3  

Page 17: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

17  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

JavaScript  fundamentals  1.  JavaScript  code  is  wriken  in  the  <head>    sec*on  of  the  HTML  

page  

2.  JavaScript  func*ons  respond  to  objects  events.  Examples:  –  OnChange  –  OnSubmit  

3.  JavaScript  func*ons  are  able  to  modify  any  object  property.  Examples:  

–  Text  color  –  Background  color  –  Text  content  (the  text  itself)  

Page 18: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

18  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Dynamic  Styles  •  A  web  site  can  behave  as  an  applica*on  if  CSS  styles  are  linked  to  forms  and  JavaScript  func*ons.  

Changes the style

OnChange

Page 19: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

19  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Dynamic  Styles  •  div  object  with  style  type  “cuadro”  named  “id_cuadro1”  

http://www.w3schools.com/tags/tag_textarea.asp

<DIV class="cuadro" id="id_cuadro1"> <p>Párrafoprinero…</P> <p>Segundo párrafo…</p> </DIV>

div.cuadro { font-family:arial,helvetica,sans-serif; color:black; background: white; text-align:center; border-style:solid; }

mis_estilos.css

Page 20: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

20  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Dynamic  Styles  •  <select>  object  to  call  a  JavaScript  for  events  type  “OnChange”  

http://www.w3schools.com/tags/tag_textarea.asp

<SELECT NAME="colores" OnChange="CambiarColor(this.value,'id_cuadro1');"> <OPTION VALUE="">--Elegir color--</OPTION> <OPTION VALUE="r">Rojo</OPTION> <OPTION VALUE="g">Verde</OPTION> <OPTION VALUE="b">Azul</OPTION> </SELECT>

Page 21: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

21  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Dynamic  Styles  •  Form  code  

Page 22: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

22  Departamento  de  Sistemas  Informá+cos  Escuela  Técnica  Superior  de  Ingeniería  ICAI  

Developing  web-­‐based  applica+ons  2011  

Dynamic  Styles  •  JavaScript  func*on  defined  on  <HEAD>  

Page 23: 1Introduc+onto clientside,Applica+ons,...DepartamentodeSistemasInformácos, 3 Escuela,Técnica,Superior,de,Ingeniería,ICAI, Developingwebbasedapplicaons, 2011 Advantages,of,web"based,applica+ons,

Escuela  Técnica  Superior  de  Ingeniería  ICAI  Alberto  Aguilera  25  28015  Madrid  Tel  +34  91  542  28  00  Fax  +  34  91  542  31  76  Iwww.icai.upcomillas.es  

www.upcomillas.es