SlideShare uma empresa Scribd logo
1 de 47
Ext JS Introducción Mayer Horna García copyright © 2010 [email_address] [email_address] http://www.linkedin.com/in/mayerhorna http://mayerhorna.blogspot.com @mayerhorna
Objetivos ,[object Object],[object Object],[object Object],[object Object]
Temas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Comportamiento de una aplicación de escritorio BD BD SELECT * FROM Provincia  WHERE departamento_id = 2 Servidor Cliente departamentoId=2 request MantenimientoCalles_jsp.html <<build>> MantenimientoCalles.jsp response Comportamiento de una aplicación de web departamentoId=2 SELECT * FROM Distrito WHERE provincia_id = 12  SELECT * FROM Calle WHERE distrito_id = 23 provinciaId=12 distritoId=23 SELECT * FROM Provincia  WHERE departamento_id = 2 distritoId=23 request MantenimientoCalles_jsp.html <<build>> MantenimientoCalles.jsp SELECT * FROM Calle WHERE distrito_id = 23 response SELECT * FROM Provincia  WHERE departamento_id = 2 i1.1 provincia distrito calle
Comportamiento de una aplicación Web + AJAX BD Servidor Cliente request response SELECT * FROM Provincia  WHERE departamento_id = 2 Motor AJAX Objeto  XMLHttpRequest departamentoId=2 new XMLHttpRequest() request response SELECT * FROM Calle WHERE distrito_id = 23 distritoId=23 new XMLHttpRequest() i1.2 i2 <?xml version=amp;quot;1.0amp;quot; ?> <provincias> <provincia> Huara </provincia> <provincia> Trujillo </provincia> <provincia> Chimbote </provincia> </provincias> provincias.xml <?xml version=amp;quot;1.0amp;quot; ?> <provincias> <provincia> Huara </provincia> <provincia> Trujillo </provincia> <provincia> Chimbote </provincia> </provincias> distrito.xml
AJAX “Asynchronous Javascript y XML” (JavaScript asíncrono y XML)  ,[object Object],[object Object]
Javascript ,[object Object],[object Object],[object Object]
JavaScript El problema de toda la vida… function  sendData(){ document.write(“Hola Mundo”); } myScript.js Código Fuente Intérprete public class Principal{ public static void main(String…a){ System.out.println(“Hola mundo”); } } JVM Principal.java J A V A S C R I P T J A V A Problema: Cada proveedor, lo interpreta a su manera  Existe un solo proveedor(SUN), quien se encarga de hacer las JVM para cada sistema operativo (Window, Linux, etc.)
XML ,[object Object],[object Object]
Estructura de un documento XML   ,[object Object],<?xml version=&quot;1.0“ encoding=“UTF-8” ?> <!DOCTYPE movimientos SYSTEM “movimientos.dtd&quot; [<!ELEMENT movimientos ( movimiento )*>]>  <movimientos>   <movimiento>   <fecha> 06/09/2008 </fecha>   <descripcion> Retiro por cajero </descripcion>   <monto> -100.00 </monto>   </movimiento>   <movimiento>   <fecha> 05/09/2008 </fecha>   <descripcion> Transferencia de otra cuenta </descripcion>   <monto> 320.00 </monto>   </movimiento> </movimientos> Y el DTD(Document Type Definition) para este XML sería: <?xml version=&quot;1.0&quot; enconding=“UTF-8” ?> <!-- Este es el DTD de Edit_Mensaje --> <!ELEMENT movimiento (fecha, descripcion, monto)*>    <!ELEMENT fecha (#PCDATA)>   <!ELEMENT descripcion (#PCDATA)>    <!ELEMENT monto (#PCDATA)>  movimientos.xml movimientos.dtd
CSS (Cascading Style Sheets) ,[object Object],[object Object],<style type= &quot;text/css&quot; > h1 em  {color: gray;} ul ol ul em  {color:gray;} td.sidebar  {background-color:#000066;} td.sidebar a:link  {color:#FFFFFF;} .advertencia  {font-weight:bold;} p.advertencia  {font-style:italic;} #miEstiloID  { background:#000000;} </style>
DOM ,[object Object],[object Object],La siguiente imagen muestra una parte del nodo del árbol y la relación entre los nodos:
Conversación tradicional Cliente - Servidor
Interacción AJAX  Cliente - Servidor
Flujo del proceso de una aplicación AJAX
Respuestas del servidor (HTTP Response) Código de Status Razón Explicación 200 OK Petición correcta 204 No Content Documento sin datos 301 Moved Permanently Recurso Movido 401 Not Authorized Necesita autentificación 403 Forbidden Rechazada por servidor 404 Not Found No existe en servidor 408 Request Timeout Tiempo sobrepasado 500 Server Error Error en el servidor
El objeto XMLHTTPRequest ,[object Object],[object Object],[object Object],[object Object]
Propiedades del objeto XMLHTTPRequest  Propiedades Descripción onreadystatechange Determina que función será llamada cuando la propiedad readyState del objeto cambie. readyState Número entero que indica el status de la petición: 0 = No iniciada 1 = Cargando 2 = Cargado 3 = Interactivo 4 = Completado responseText Datos devueltos por el servidor en forma de string de texto responseXML Datos devueltos por el servidor expresados como un objeto documento. status Código estatus HTTP devuelto poro el servidor: 200 = OK (Petición correcta) 204 = No Content (Documento sin datos) 301 = Moved Permanently (Recurso Movido) 401 = Not Authorized (Necesita autenticación) 403 = Forbidden (Rechazada por servidor) 404 = Not Found (No existe en servidor) 408 = Request Timeout (Tiempo sobrepasado) 500 = Server Error (Error en el servidor)
Métodos del objeto XMLHTTPRequest  Propiedades Descripción abort() Detiene la petición actual. getAllResponseHeaders() Devuelve todas las cabeceras como un string. getResponseHeader(x) Devuelve el valor de la cabecera x como un string. open(‘method’, ’URL’, ’a’ ) Especifica el método HTTP (por ejemplo, GET o POST), la URL objetivo, y si la petición debe ser manejada asíncronamente (Si, a=‘True’ defecto; No, a=‘false’.) send(content) Envía la petición setRequestHeader( ‘label’ , ’value’ ) Configura un par parámetro y valor label=value y lo asigna a la cabecera para ser enviado con  la petición.
Clases y Objetos en JavaScript var  oCliente  =  new   Cliente(); oCliente.dni  =  &quot;43035678&quot; ; oCliente.nombres  =  &quot;Luis&quot; ; oCliente.apellidos  =  &quot;Perez   A.&quot; ; alert( &quot;Hola &quot;  + oCliente. obtenerNombreCompleto() ); /** Clase Cliente **/ function  Cliente(){ this .dni = null; this .nombres = null; this .apellidos = null; this .obtenerNombreCompleto =  function (){   return   this.nombres  + &quot; &quot; +    this .apellidos; } } 1.1 Javascript  no es un lenguaje de  Programación Orientado a Objetos  propiamente dicho como  Java , pero gracias a que es basado en prototipos, se puede aplicar conceptos de programación orientada a objetos, En  Javascript  hay tres tipos de objetos: Objetos nativos de Javascript . Por ejemplo: Math, Date, Image, Number, String, Array, Object… Objetos de navegador . Aquellos que proporciona el navegador del cliente. Por ejemplo: window, document, forms...  Objetos definidos por el usuario : Son aquellos que define el propio programador.
Métodos y propiedades privadas var  oCliente  =  new   Cliente(); oCliente.nombres  =  &quot;Luis&quot; ;  oCliente.apellidos  =  &quot;Perez A.&quot; ; alert( &quot; DNI   &quot;  + oCliente.dni); // muestra undefined oCliente.setDni( &quot;44035698&quot; ); alert( &quot; DNI   &quot;  + oCliente.getDni() ); // muestra 44035698 //alert(oCliente.obtenerSoloNombre() ); // marcaría el siguiente error: “El objeto no acepta esta propiedad o metodo” /** Clase Cliente **/ function  Cliente(){ var  dni = null;   // propiedad privada this .nombres = null;   // propiedad pública this .apellidos = null; var  that =  this ;   // propiedad privada, almacena la referencia del objeto actual(this), para poder utilizarlo en métodos privados como sucede en obtenerSoloNombre(). function  obtenerSoloNombre(){  // método privado   return that.nombres; } this .obtenerNombreCompleto = function(){  // método público   return  this .nombres + &quot; &quot; +  this .apellidos; } this .setDni(dni){   this .dni = dni; } this .getDni(){ return  this .dni; } } 2.1 Para privatizar metodos y propiedades basta con ya no poner la palabra  this .  Para acceder a las propiedades privadas se deberá crear sus getters y setters como se estila hacer en lenguajes de programación OO
Herencia en JavaScript var oEmpleado  =  new Empleado(); oEmpleado.nombres  =  &quot;43035678&quot;; oEmpleado.apellidos  =  &quot;Luis&quot;; oEmpleado.salario = 3000; alert(&quot;Metodo del padre &quot; + oEmpleado.obtenerNombreCompleto() ); alert(&quot;Metodo del hijo &quot; + oEmpleado.obtenerSalario() ); /** Clase Persona **/ function  Persona(){ this .nombres = null; this .apellidos = null; this .obtenerNombreCompleto =  function (){   return  this .nombres   + &quot; &quot; +  this .apellidos; } } 3.1 La herencia en JavaScript no es explicita(no hay una palabra reservada para hacerlo así).  Pero logra este objetivo modificando el prototipo de la clase hija. /** Clase Cliente hereda de Persona **/ function  Empleado(){ this .codigo = null; this .salario = null; this .obtenerSalario =  function (){   return  this.salario; } } Empleado.prototype =  new  Persona();  /* Clona la funcionalidad de Persona en Empleado  */
JSON  (JavaScript Object Notation) ¿Que es? Basado en sintaxis  JavaScript Formato de datos muy ligero Especialmente basado en  Arrays literales y Objetos literales Alternativa al  formato XML
Objetos Literales Almacenan  información en pares nombre : valor color  :  “rojo”, Se puede acceder a Estas propiedades Mediante el nombre del objeto y la sintaxis de punto. Mediante corchetes y nombre  de la propiedad 4.1
Arrays Literales Formato de datos muy ligero [ y ] Y por encerrar lista de valores  serparados por comas [ “string”, 24 , true, null ] 5.1
Mezclar Literales Es posible mezclar  literales objeto y  array Array que contiene objetos 6,  7.1 , 7.2 , 8 Objetos que contienen arrays
Librerías AJAX ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ext JS ,[object Object],[object Object],[object Object]
Ext JS como solución RIA ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Ext JS como solución RIA
[object Object],Ext JS – Lo que se viene
Ext JS dividido en 6 áreas de estudio
Licencias ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ext JS ,[object Object],[object Object],Donde encuentro Ext JS y su API  ?
Componentes GUI ,[object Object],Ext.form.TextField Ext.form.Label Ext.Button Ext.form.ComboBox Ext.form.HtmlEditor Ext.form.FormPanel
Componentes GUI ,[object Object],Ext.Toolbar Ext.Button Ext.grid.GridPanel Ext.Window Ext.grid.ColumnModel Ext.PagingToolbar
Componentes GUI ,[object Object]
Componentes GUI
Componentes GUI
Componentes GUI
Componentes GUI
Ext JS en acción ,[object Object],[object Object]
Ext JS en acción ,[object Object],[object Object]
Ext JS en acción ,[object Object],[object Object]
Ext JS en acción ,[object Object],[object Object]
Ext JS en acción ,[object Object],[object Object]
Links de ayuda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Introduction to Bootstrap
Introduction to BootstrapIntroduction to Bootstrap
Introduction to BootstrapRon Reiter
 
Basic JavaScript Tutorial
Basic JavaScript TutorialBasic JavaScript Tutorial
Basic JavaScript TutorialDHTMLExtreme
 
Simple xml in .net
Simple xml in .netSimple xml in .net
Simple xml in .netVi Vo Hung
 
Using Chrome Dev Tools
Using Chrome Dev ToolsUsing Chrome Dev Tools
Using Chrome Dev ToolsMicah Wood
 
javaScript.ppt
javaScript.pptjavaScript.ppt
javaScript.pptsentayehu
 
Building Layouts with CSS
Building Layouts with CSSBuilding Layouts with CSS
Building Layouts with CSSBoris Paillard
 
ASP.NET Routing & MVC
ASP.NET Routing & MVCASP.NET Routing & MVC
ASP.NET Routing & MVCEmad Alashi
 
Google Chrome DevTools features overview
Google Chrome DevTools features overviewGoogle Chrome DevTools features overview
Google Chrome DevTools features overviewOleksii Prohonnyi
 
Web Performance: 3 Stages to Success
Web Performance: 3 Stages to SuccessWeb Performance: 3 Stages to Success
Web Performance: 3 Stages to SuccessAustin Gil
 
An Introduction to ReactJS
An Introduction to ReactJSAn Introduction to ReactJS
An Introduction to ReactJSAll Things Open
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to JavascriptAmit Tyagi
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScriptMarlon Jamera
 
Optimizing Content Reuse with DITA
Optimizing Content Reuse with DITAOptimizing Content Reuse with DITA
Optimizing Content Reuse with DITAIXIASOFT
 

Mais procurados (20)

Introduction to Bootstrap
Introduction to BootstrapIntroduction to Bootstrap
Introduction to Bootstrap
 
Basic JavaScript Tutorial
Basic JavaScript TutorialBasic JavaScript Tutorial
Basic JavaScript Tutorial
 
Simple xml in .net
Simple xml in .netSimple xml in .net
Simple xml in .net
 
Java script
Java scriptJava script
Java script
 
Using Chrome Dev Tools
Using Chrome Dev ToolsUsing Chrome Dev Tools
Using Chrome Dev Tools
 
javaScript.ppt
javaScript.pptjavaScript.ppt
javaScript.ppt
 
React JS part 1
React JS part 1React JS part 1
React JS part 1
 
Javascript
JavascriptJavascript
Javascript
 
Json
JsonJson
Json
 
Building Layouts with CSS
Building Layouts with CSSBuilding Layouts with CSS
Building Layouts with CSS
 
Javascript basics
Javascript basicsJavascript basics
Javascript basics
 
ASP.NET Routing & MVC
ASP.NET Routing & MVCASP.NET Routing & MVC
ASP.NET Routing & MVC
 
Google Chrome DevTools features overview
Google Chrome DevTools features overviewGoogle Chrome DevTools features overview
Google Chrome DevTools features overview
 
Web Performance: 3 Stages to Success
Web Performance: 3 Stages to SuccessWeb Performance: 3 Stages to Success
Web Performance: 3 Stages to Success
 
An Introduction to ReactJS
An Introduction to ReactJSAn Introduction to ReactJS
An Introduction to ReactJS
 
Bootstrap ppt
Bootstrap pptBootstrap ppt
Bootstrap ppt
 
Web development
Web developmentWeb development
Web development
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
Optimizing Content Reuse with DITA
Optimizing Content Reuse with DITAOptimizing Content Reuse with DITA
Optimizing Content Reuse with DITA
 

Semelhante a 01 Ext Js Introduccion

Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2Michelle Aguirre
 
Conceptos acerca de Ajax
Conceptos acerca  de AjaxConceptos acerca  de Ajax
Conceptos acerca de AjaxAlvaro Castillo
 
Introduccion Ajax V1.0
Introduccion Ajax V1.0Introduccion Ajax V1.0
Introduccion Ajax V1.0Arnulfo Gomez
 
Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios Joaquín Salvachúa
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkitpabloesp
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSIan Monge Pérez
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEFernando Montaño
 
Introducción ASP .NET
Introducción ASP .NET Introducción ASP .NET
Introducción ASP .NET Universidad
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQueryContinuum
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xmlgilhorak
 

Semelhante a 01 Ext Js Introduccion (20)

Ajax Huancayo
Ajax HuancayoAjax Huancayo
Ajax Huancayo
 
Ajax
AjaxAjax
Ajax
 
Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2
 
AJAX EN CURSO PHP
AJAX EN CURSO PHPAJAX EN CURSO PHP
AJAX EN CURSO PHP
 
Conceptos acerca de Ajax
Conceptos acerca  de AjaxConceptos acerca  de Ajax
Conceptos acerca de Ajax
 
Introduccion Ajax V1.0
Introduccion Ajax V1.0Introduccion Ajax V1.0
Introduccion Ajax V1.0
 
Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios
 
PHP+Ajax
PHP+AjaxPHP+Ajax
PHP+Ajax
 
Servicios web
Servicios webServicios web
Servicios web
 
Javascript
JavascriptJavascript
Javascript
 
introduccion a Ajax
introduccion a Ajaxintroduccion a Ajax
introduccion a Ajax
 
Curso Jsp
Curso JspCurso Jsp
Curso Jsp
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JS
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
 
Introducción ASP .NET
Introducción ASP .NET Introducción ASP .NET
Introducción ASP .NET
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQuery
 
Clase 4 JavaScript Básico
Clase 4 JavaScript BásicoClase 4 JavaScript Básico
Clase 4 JavaScript Básico
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 

01 Ext Js Introduccion

  • 1. Ext JS Introducción Mayer Horna García copyright © 2010 [email_address] [email_address] http://www.linkedin.com/in/mayerhorna http://mayerhorna.blogspot.com @mayerhorna
  • 2.
  • 3.
  • 4. Comportamiento de una aplicación de escritorio BD BD SELECT * FROM Provincia WHERE departamento_id = 2 Servidor Cliente departamentoId=2 request MantenimientoCalles_jsp.html <<build>> MantenimientoCalles.jsp response Comportamiento de una aplicación de web departamentoId=2 SELECT * FROM Distrito WHERE provincia_id = 12 SELECT * FROM Calle WHERE distrito_id = 23 provinciaId=12 distritoId=23 SELECT * FROM Provincia WHERE departamento_id = 2 distritoId=23 request MantenimientoCalles_jsp.html <<build>> MantenimientoCalles.jsp SELECT * FROM Calle WHERE distrito_id = 23 response SELECT * FROM Provincia WHERE departamento_id = 2 i1.1 provincia distrito calle
  • 5. Comportamiento de una aplicación Web + AJAX BD Servidor Cliente request response SELECT * FROM Provincia WHERE departamento_id = 2 Motor AJAX Objeto XMLHttpRequest departamentoId=2 new XMLHttpRequest() request response SELECT * FROM Calle WHERE distrito_id = 23 distritoId=23 new XMLHttpRequest() i1.2 i2 <?xml version=amp;quot;1.0amp;quot; ?> <provincias> <provincia> Huara </provincia> <provincia> Trujillo </provincia> <provincia> Chimbote </provincia> </provincias> provincias.xml <?xml version=amp;quot;1.0amp;quot; ?> <provincias> <provincia> Huara </provincia> <provincia> Trujillo </provincia> <provincia> Chimbote </provincia> </provincias> distrito.xml
  • 6.
  • 7.
  • 8. JavaScript El problema de toda la vida… function sendData(){ document.write(“Hola Mundo”); } myScript.js Código Fuente Intérprete public class Principal{ public static void main(String…a){ System.out.println(“Hola mundo”); } } JVM Principal.java J A V A S C R I P T J A V A Problema: Cada proveedor, lo interpreta a su manera Existe un solo proveedor(SUN), quien se encarga de hacer las JVM para cada sistema operativo (Window, Linux, etc.)
  • 9.
  • 10.
  • 11.
  • 12.
  • 14. Interacción AJAX Cliente - Servidor
  • 15. Flujo del proceso de una aplicación AJAX
  • 16. Respuestas del servidor (HTTP Response) Código de Status Razón Explicación 200 OK Petición correcta 204 No Content Documento sin datos 301 Moved Permanently Recurso Movido 401 Not Authorized Necesita autentificación 403 Forbidden Rechazada por servidor 404 Not Found No existe en servidor 408 Request Timeout Tiempo sobrepasado 500 Server Error Error en el servidor
  • 17.
  • 18. Propiedades del objeto XMLHTTPRequest Propiedades Descripción onreadystatechange Determina que función será llamada cuando la propiedad readyState del objeto cambie. readyState Número entero que indica el status de la petición: 0 = No iniciada 1 = Cargando 2 = Cargado 3 = Interactivo 4 = Completado responseText Datos devueltos por el servidor en forma de string de texto responseXML Datos devueltos por el servidor expresados como un objeto documento. status Código estatus HTTP devuelto poro el servidor: 200 = OK (Petición correcta) 204 = No Content (Documento sin datos) 301 = Moved Permanently (Recurso Movido) 401 = Not Authorized (Necesita autenticación) 403 = Forbidden (Rechazada por servidor) 404 = Not Found (No existe en servidor) 408 = Request Timeout (Tiempo sobrepasado) 500 = Server Error (Error en el servidor)
  • 19. Métodos del objeto XMLHTTPRequest Propiedades Descripción abort() Detiene la petición actual. getAllResponseHeaders() Devuelve todas las cabeceras como un string. getResponseHeader(x) Devuelve el valor de la cabecera x como un string. open(‘method’, ’URL’, ’a’ ) Especifica el método HTTP (por ejemplo, GET o POST), la URL objetivo, y si la petición debe ser manejada asíncronamente (Si, a=‘True’ defecto; No, a=‘false’.) send(content) Envía la petición setRequestHeader( ‘label’ , ’value’ ) Configura un par parámetro y valor label=value y lo asigna a la cabecera para ser enviado con la petición.
  • 20. Clases y Objetos en JavaScript var oCliente = new Cliente(); oCliente.dni = &quot;43035678&quot; ; oCliente.nombres = &quot;Luis&quot; ; oCliente.apellidos = &quot;Perez A.&quot; ; alert( &quot;Hola &quot; + oCliente. obtenerNombreCompleto() ); /** Clase Cliente **/ function Cliente(){ this .dni = null; this .nombres = null; this .apellidos = null; this .obtenerNombreCompleto = function (){ return this.nombres + &quot; &quot; + this .apellidos; } } 1.1 Javascript no es un lenguaje de Programación Orientado a Objetos propiamente dicho como Java , pero gracias a que es basado en prototipos, se puede aplicar conceptos de programación orientada a objetos, En Javascript hay tres tipos de objetos: Objetos nativos de Javascript . Por ejemplo: Math, Date, Image, Number, String, Array, Object… Objetos de navegador . Aquellos que proporciona el navegador del cliente. Por ejemplo: window, document, forms... Objetos definidos por el usuario : Son aquellos que define el propio programador.
  • 21. Métodos y propiedades privadas var oCliente = new Cliente(); oCliente.nombres = &quot;Luis&quot; ; oCliente.apellidos = &quot;Perez A.&quot; ; alert( &quot; DNI &quot; + oCliente.dni); // muestra undefined oCliente.setDni( &quot;44035698&quot; ); alert( &quot; DNI &quot; + oCliente.getDni() ); // muestra 44035698 //alert(oCliente.obtenerSoloNombre() ); // marcaría el siguiente error: “El objeto no acepta esta propiedad o metodo” /** Clase Cliente **/ function Cliente(){ var dni = null; // propiedad privada this .nombres = null; // propiedad pública this .apellidos = null; var that = this ; // propiedad privada, almacena la referencia del objeto actual(this), para poder utilizarlo en métodos privados como sucede en obtenerSoloNombre(). function obtenerSoloNombre(){ // método privado return that.nombres; } this .obtenerNombreCompleto = function(){ // método público return this .nombres + &quot; &quot; + this .apellidos; } this .setDni(dni){ this .dni = dni; } this .getDni(){ return this .dni; } } 2.1 Para privatizar metodos y propiedades basta con ya no poner la palabra this . Para acceder a las propiedades privadas se deberá crear sus getters y setters como se estila hacer en lenguajes de programación OO
  • 22. Herencia en JavaScript var oEmpleado = new Empleado(); oEmpleado.nombres = &quot;43035678&quot;; oEmpleado.apellidos = &quot;Luis&quot;; oEmpleado.salario = 3000; alert(&quot;Metodo del padre &quot; + oEmpleado.obtenerNombreCompleto() ); alert(&quot;Metodo del hijo &quot; + oEmpleado.obtenerSalario() ); /** Clase Persona **/ function Persona(){ this .nombres = null; this .apellidos = null; this .obtenerNombreCompleto = function (){ return this .nombres + &quot; &quot; + this .apellidos; } } 3.1 La herencia en JavaScript no es explicita(no hay una palabra reservada para hacerlo así). Pero logra este objetivo modificando el prototipo de la clase hija. /** Clase Cliente hereda de Persona **/ function Empleado(){ this .codigo = null; this .salario = null; this .obtenerSalario = function (){ return this.salario; } } Empleado.prototype = new Persona(); /* Clona la funcionalidad de Persona en Empleado */
  • 23. JSON (JavaScript Object Notation) ¿Que es? Basado en sintaxis JavaScript Formato de datos muy ligero Especialmente basado en Arrays literales y Objetos literales Alternativa al formato XML
  • 24. Objetos Literales Almacenan información en pares nombre : valor color : “rojo”, Se puede acceder a Estas propiedades Mediante el nombre del objeto y la sintaxis de punto. Mediante corchetes y nombre de la propiedad 4.1
  • 25. Arrays Literales Formato de datos muy ligero [ y ] Y por encerrar lista de valores serparados por comas [ “string”, 24 , true, null ] 5.1
  • 26. Mezclar Literales Es posible mezclar literales objeto y array Array que contiene objetos 6, 7.1 , 7.2 , 8 Objetos que contienen arrays
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Ext JS dividido en 6 áreas de estudio
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.