Desarrollo de App para Firefox OS

Text

2do Taller de JavaScript

Manipulando el DOM y trabajando con Objetos

Desarrollo de App para Firefox OS

Text

EL DOM

El Document Object Model o DOM es un API para documentos HTML y XML. Proporciona una representación estructural del documento, permitiendo la modificación de su contenido o su presentación visual. Nos permite comunicar los elementos de la web con nuestros scripts permitiendo crear sitios web mas dinámicos e interactivos.

Desarrollo de App para Firefox OS

Text

El DOM permite un acceso a la estructura de una página HTML mediante el mapeo de los elementos de la página en un árbol de nodos. Cada elemento se convierte en un nodo y cada porción de texto en un nodo de texto. Veamos el siguiente ejemplo:

<!DOCTYPE html>
<html>
<head>  
  <title>Hello World</title>
</head>
<body>
  <h1>Mozilla El Salvador</h1>
  <a href="">enlace</a>  
</body>
</html>

Desarrollo de App para Firefox OS

Text

El código HTML anterior se transforma en el siguiente árbol de nodos:

Desarrollo de App para Firefox OS

Text

TIPOS DE NODOS

Algunos de los tipos de nodos son:

  • Document: nodo raíz del que descienden todos los demás nodos del árbol.
  • Element: representa cada una de las etiquetas HTML. Es el único nodo que puede contener atributos y el único del que pueden derivar otros nodos.
  • Attr: se define un nodo de este tipo para representar cada uno de los atributos de las etiquetas HTML, es decir, uno por cada par atributo=valor.
  • Text: nodo que contiene el texto encerrado por una etiqueta HTML.

 

Desarrollo de App para Firefox OS

Text

ACCEDIENDO AL DOM CON JS

<h1 id="saludo"></h1>
<p>
The Internet is an integral part of modern life—a key component 
in education, communication, collaboration, business, entertainment
and society as a whole.
</p>
<script>
  var p = document.getElementsByTagName('p')[0];
  var h1 = document.getElementById('saludo');
  h1.innerHTML = "Hello world";
  p.style["background-color"] = "#0033CC";
  p.style.color = "#fff";
</script>

Document.querySelector()

Desarrollo de App para Firefox OS

Text

<input type="text" name="item" id='item' value="">
<button type="button" id="add">Agregr Item</button>
<ul id="list">
    <li>Uvas</li>
</ul>

Creando elementos en HTML con JS

var item = document.querySelector("#item");
var btn = document.querySelector('#add');
var list = document.querySelector('#list');

btn.onclick = function(){
  var t = document.createTextNode(item.value);
  var li = document.createElement('li');
  li.appendChild(t);
  list.appendChild(li);
}

Desarrollo de App para Firefox OS

Text

Programación orientada a objetos

La programación orientada a objetos es un paradigma de programación que utiliza la abstracción para crear modelos basados ​​en el mundo real. Utiliza diversas técnicas de paradigmas previamente establecidas, incluyendo la modularidad, polimorfismo y encapsulamiento.

POO pretende promover una mayor flexibilidad y facilidad de mantenimiento en la programación y es muy popular en la ingeniería de software a gran escala.

Desarrollo de App para Firefox OS

Text

Terminología

Clase: Define las características del Objeto.

Objeto: Una instancia de una Clase.

Propiedad: Una característica del Objeto, como el color.

Método: Una capacidad del Objeto, como caminar.

Constructor: Es un método llamado en el momento de la creación de instancias.

Herencia: Una Clase puede heredar características de otra Clase.

Desarrollo de App para Firefox OS

Text

Terminología

Encapsulamiento: Una Clase sólo define las características del Objeto, un Método sólo define cómo se ejecuta el Método.

Abstracción: La conjunción de herencia compleja, métodos, propiedades que un objeto debe ser capaz de simular en un modelo de la realidad.

Polimorfismo: Diferentes Clases podrían definir el mismo método o propiedad.

Desarrollo de App para Firefox OS

Text

Ejemplo de POO en JS

[js-02] DOM, Objectos, JSON

By Carlos Eduardo Cárcamo Mendoza

[js-02] DOM, Objectos, JSON

Una introducción de FFOS como plataforma de desarrollo en HTML5, en la que se muestran las ventajas de desarrollar y utilizar FFOS, integrando el funcionamiento de la MarketPlace en multiplataformas con el navegadro Firefox, Firefox móvil, y celulares con FFOS.

  • 124