Curso de Javascript: Herramienta de Desarrollo

La Herramienta de Desarrollo

Antes de poder explicar lo he que es Javascript vamos a darle un vistazo a las herramientas que necesitaremos para el desarrollo de Javascript.

Aptana Studio

Aptana Studio es una herramienta basada en eclipse que nos permitirá editar y gestionar los ficheros del proyecto y las prácticas que realizaremos en el presente curso.  La versión en la que está basado el presente curso es Aptana Studio 3.
Existen dos métodos de instalación:
  • Mediante el instalador de Aptana: http://aptana.com/products/studio3/download y marcando la standalone version. Esto nos descargará un .exe o dmg, dependiendo de si estamos en windows o en Mac. Es un instalador corriente así que simplemente seguiremos los pasos de la instalación.
  • Mediante el sitio de actualizaciones de Aptana. http://download.aptana.com/studio3/plugin/install  Para ello deberemos añadirlo mediante el asistente de instalación de nuevos plugins de Eclipse. 
Como este proceso es un poco complicado lo veremos en detalle. 

Instalación de Aptana sobre Eclipse

Instalación del Eclipse

Lo primero de todo debemos contar con una instalación previa de eclipse, por ejemplo la versión para Desarrolladores JEE.  Que tiene una dependencia de ejecución con el JDK de Java.
Los pasos a seguir serían los siguientes:
  • Una vez descargado el JDK apropiado, para nuestro sistema y para la versión de 32 o 64 bit según sea la apropiada para nuestro sistema.
  • Realizamos la instalación del JDK. Nota: en los mas no es necesario realizar la instalación del JDK ya que viene instalado como un componente más del sistema. 
  • Descargamos la versión de eclipse, que es un paquete ZIP.
  • Lo descomprimimos por ejemplo, en el escritorio.
  • Esto nos creará una carpeta en el escritorio denominada eclipse. Dentro encontraremos el ejecutable.
  • Lo ejecutamos.
Lo primero que nos encontraremos será con una pantalla de selección del Workspace. 
El workspace es una parte fundamental de Eclipse, ya que es donde se almacenarán todos los proyectos que gestionemos. Una vez seleccionado el directorio, pulsaremos en el botón OK y continuará con la carga de eclipse. 
Nota: en esta misma pantalla existe una checkbox, que si la marcamos no nos volverá a preguntar que workspace queremos arrancar. y la carga será más rápida. 
Nos encontraremos con la pantalla de bienvenida de la versión de Eclipse y pulsaremos sobre el botón de la flecha “Ir al Workspace”.
Una vez dentro veremos todas las ventanas menús e iconos de acceso directo del Eclipse que nos hemos descargado. 

Instalación del Plugin de Aptana

Una vez arrancado con éxito Eclipse deberemos realizar la instalación del Plugin de Aptana.
Para ellos seguiremos los siguientes pasos:
  • Dentro del Menú Help , seleccionamos la opción “Install new software…”
Aparecerá una pantalla similar a la siguiente:
  • En el apartado donde pone Work With: introducimos la siguiente URL: http://download.aptana.com/studio3/plugin/install
  • Pulsamos Enter
Veremos que la pantalla cambia y que nos aparecerá el plugin para su instalación
  • Seleccionamos la checkbox que está al lado del Aptana Studio 3.
  • Pulsamos en Next
Nos aparecerán las dependencias del plugin de aptana
Veremos que nos aparece el Plugin de Aptana Studio.
  • Pulsamos en el botón Next
Veremos que nos aparece la pantalla de Licencia de los componentes de Aptana Studio
Como podemos ver nos aparece una licencia GPL v3, licencia libre. 
  • Pulsamos en el botón de radio de aceptar la licencia
  • Pulsamos en el botón Finish
A continuación pasará a realizar la descarga e instalación del Plugin. 
Después de varios minutos habrá descargado todos los componentes del plugin. Los instalará y nos pedirá reiniciar Eclipse
  • Pulsamos en Yes
Después de haber reiniciado Eclipse debería aparecernos una pantalla similar a que conseguiríamos si hubiésemos instalado Aptana con el instalador “standalone version”.
Nota: No os extrañéis si sale una ventana que realiza la instalación de Git después del primer arranque, es uno de los componentes de Aptana Studio.

Aptana Studio: La Herramienta

Una vez instalado y configurado Aptana, nos encontraremos un interfaz similar al eclipse original pero con ciertas mejoras, las veremos a lo largo del curso. 
Lo primero que deberemos cambiar es la perspectiva. La perspectiva en Eclipse sirve para configurar visualmente Eclipse para una determinada función. En concreto la que nos interesa ahora mismo es la perspectiva de Web. Dicha Perspectiva aparece seleccionada por defecto al arrancar Aptana Studio si lo hemos instalado con el instalador, si hemos instalado el plugin deberemos de activarla manualmente. 
  • Para ello deberemos Dirigirnos al menú Window y en el submenú Open Perspective y pulsar sobre Web. Si no lo encontramos pulsaremos en la opción Other… y seleccionaremos Web. Recuerda que es el icono con una X sobre una esfera.
Una vez seleccionada la perspectiva cambiará el entorno de eclipse para adaptarse a esta nueva perspectiva. 
Como podemos ver ha cambiado la perspectiva y las pestañas disponibles para nosotros. 
Haremos un breve resumen de los distintos apartados:
  • Barra de Menús
  • Iconos de acceso directo.
  • Gestión de proyectos: en la parte superior izquierda
  • Gestión de ficheros: en la parte superior derecha
  • Resúmenes: en la parte inferior izquierda
  • Consolas: en la parte inferior derecha
Nota: Si queremos maximizar una pestaña a pantalla completa debemos realizar un doble click en el nombre de la pestaña, si lo volvemos a hacer volverá a su tamaño original.

Gestión de Proyectos

Una vez familiarizados con la herramienta debemos aprender las bases de la gestión de proyectos con eclipse/aptana.
Para ello el primer paso es la creación de un proyecto web.

Alta de un proyecto

Para dar de alta un proyecto deberás seguir los siguientes pasos. 
  • Pulsa en el Menú File, Submenú New, Opción Web Project. Si no te sale es que no tienes la perspectiva Web, selecciónala como vimos en el anterior punto. 
Nos aparecerá una pantalla de selección de plantilla de proyecto web
Como puede verse nos da a seleccionar una plantilla. Como siempre he pensado que es mejor espezar desde la base…
  • Seleccionamos la Default Project y pulsamos en Next.
Nos saldrá la ventana de selección de la localización del proyecto
  • Introducimos un nombre para el proyecto
  • Opcional: si no queremos que el proyecto se aloje en el workspace, pero sí nos aparezca disponible desde el mismo deberemos desmarcar la opción use default location y pulsar en el botón browse para seleccionar otro directorio. 
Nota: cuando un proyecto web queremos probarlo directamente en un servidor web, por ejemplo unos local instalado sobre XAMPP (que incluye apache httpd), deberíamos seleccionar la carpeta htdocs dentro de la instalación de XAMPP. 
  • Pulsamos en el botón Finish
Esto debería crearnos en la gestión de proyectos un nuevo proyecto. Tanto en el Project Explorer
Como en el App Explorer
Fíjate que en el Project Explorer aparecerán todos los proyectos, pero en el App Explorer, sólo aparecerán los correspondientes al proyecto seleccionado en la combobox
En la captura está seleccionado el proyecto ejemplo02.

Gestión de Ficheros y Carpetas

Dentro de la ventana del app explorer o en el project explorer, mediante el botón derecho -> New. O bien con el menú File ->New Nos aparecen las opciones de creación de nuevos componentes para nuestro proyecto. Los principales son: File (Fichero) y Folder (Carpeta).
Veamos un ejemplo de creación de Fichero

  • Seleccionamos el proyecto y la carpeta donde queremos guardar el fichero.
  • Rellenamos el File Name: por ejemplo con index.html
  • Pulsamos sobre el botón Finish
Esto nos creará el fichero índex.html dentro del proyecto y la carpeta indicadas y nos abrirá el fichero para su edición en el apartado de gestión de ficheros

Importación y exportación de Proyectos

Una de las tareas típicas a la hora de llevar los proyectos es realizar la exportación e importación de los mismos. Estas tareas pueden llevarse a cabo a través del menú contextual que sale con botón derecho sobre la carpeta de un proyecto en el Project Explorer.
Las opciones que nos interesan son:
  • Export…
  • Import…

Exportación

Una vez selecionado Export nos sale una pantalla donde debemos seleccionar el tipo de exportación que queremos realizar, la más típica es General/Archive File
  • Pulsamos en Next
Nos saldrá la siguiente pantalla

En el apartado to Archive file veremos un cuadro de texto y un botón Browse
  • Al pulsar en browse seleccionamos el directorio donde queremos guardar el fichero
  • En la caja de texto introducimos el nombre del fichero, por ejemplo fichero.zip
  • Verificamos que en las opciones está seleccionado Save in Zip format
  • Pulsamos en el botón Finish
Esto nos guardará el fichero en la localización que hemos indicado

Importación 

Para recuperar una exportación que hemos realizado previamente a Archive File
  • Pulsamos en el menú File/Import…/Import..
Nos saldrá una ventana similar a la siguiente
  • Seleccionamos General/Existing project into workspace
  • Pulsamos en el botón Next
Nos saldrá la pantalla de selección del fichero
  • Seleccionamos la opción Select Acrchive File
  • Pulsamos en el botón Browse
  • Selecionamos el fichero .zip
  • Nos aparecerá en la parte de projects el proyecto o proyectos que incluye el fichero Zip
  • Pulsamos en el botón Finish
Nos aparecerá el/los proyecto/s en el Proyecto Explorer

Curso de Javascript

Curso de Javascript

Javascript es una de las principales herramientas que disponemos a la hora de realizar páginas interactivas que ayuden a los visitantes de una web a tener una mejor experiencia de usabilidad. En el curso aprenderemos este lenguaje de programación, desde la perspectiva de alguien que tiene conocimientos básicos de fundamentos de programación.

Destinatarios

 Diplomados, licenciados y graduados en informática, o cualquier persona con conocimientos básicos en fundamentos de programación. Se recomienda tener conocimientos en programación o maquetación web.

Objetivos

  • Conocer los fundamentos del protocolo HTTP/S
  • Conocer los distintos agentes que forman parte del protocolo HTTP y su función
  • Conocer los fundamentos de Javascript
  • Saber construir y reutilizar funciones
  • Conocer los objetos principales de Javascript
  • Saber utilizar los objetos de JS para funciones definidas en unos requisitos
  • Conocer las distintas clases básicas de JS
  • Saber modificar el DOM según unos requisitos previos
  • Conocer las buenas prácticas de uso de JS 

Temario

Curso de Javascript: Introducción

Introducción al Protocolo Web

Una de las cuestiones principales cuando empezamos a hacer web es entender exactamente cuales son las tecnologías y programas que intervienen en el proceso de generación de un sitio o una página web.
Para ello tenemos esta introducción que nos servirá para 

Glosario de términos

A continuación se detallan un glosario de términos que permiten entender mejor la arquitectura Web:
  • HTML: Hyper Text Markup Language. Lenguaje que permite definir el contenido y su presentación para que el cliente web permita visualizar la información que contiene. Dicho lenguaje permite la inclusión de medios (gráficos, sonidos, vídeos, etc.).
  • Etiqueta o TAG: Unidad mínima de representación en el Lenguaje HTML. Permite definir: párrafos, tablas, enlaces, imágenes, etc…
  • CSS: (Cascading Style Sheets) Hojas de Estilo en Cascada . Permiten generar clases de estilo que se pueden aplicar a etiquetas HTML. Dichas hojas de estilo se pueden definir dentro de los ficheros HTML o incluso referenciarlos. Los TAG permiten agrupar cambios en las propiedades de un determinando TAG.
  • Java Script (JS): Lenguaje de programación que permite en la parte cliente procesar y realizar cambios en la presentación. Dichos Scripts suelen estar referenciados desde el fichero HTML.
  • Página Web: Unidad de contenido de un servidor web. Normalmente está compuesta de un fichero formateado en HTML y sus referencias.
  • Sitio Web: Conjunto de reglas del Servidor Web y las páginas Web que lo componen.
  • Servicio DNS: Servidor que entre otras funciones permite traducir nombres de máquinas en Internet a direcciones IP.
  • Navegador Web: Cliente que permite consultar a Servidores Web y presentar la información HTML. Ejemplos: Firefox, Konqueror, Opera, Internet Explorer, etc.
  • Plugin Web: Extensión de un navegador web que permite añadir una funcionalidad a un navegador web, por ejemplo la visualización de elementos no estándar. Ejemplos: Flash Player, JVM, etc.
  • Apache: Servidor Web Libre. Dicho servidor es altamente flexible y actualmente el 60% de los sitios web funcionan con Apache.
  • Módulo de Apache: Conjunto de funcionalidades agrupadas que permiten extender el tratamiento de la información por parte del servidor Web Apache.
  • URL: Uniform Resource Locator. Definición del acceso a un recurso. El concepto de URL ha sido incorporado dentro del más general de URI (Uniform Resource Identifier – Identificador Uniforme de Recurso), pero el término URL aún se utiliza ampliamente. La URL está dividida en tres partes: Nombre del Servidor Web, Recurso a acceder y Parámetros GET.
  • Método GET: Forma de paso de parámetros mediante URL.
  • Método POST: Forma de paso de parámetros mediante formulario (normalmente)
  • Contenedor de Aplicaciones Web: es el encargado de almacenar y gestionar las distintas aplicaciones web que estén instaladas, dependiendo de cada tecnología o Stack podremos disponer de distintos contenedores de aplicaciones para tecnologías como PHP, ASP, JEE, etc…
  • PHP: PHP Hypertext Pre-processor. es un lenguaje de programación usado generalmente para la creación de contenido para sitios web. PHP está preparado para funcionar como un módulo de Apache (y otros servidores Web).
  • Dirección IP: Identificativo único de un interfaz de red basado en el Protocolo IP.
  • SGBD: Sistema de Gestión de Bases de Datos. Son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. En los textos que tratan este tema, o temas relacionados, se mencionan los términos SGBD y DBMS, siendo ambos equivalentes, y acrónimos, respectivamente, de Sistema Gestor de Bases de Datos y DataBase Management System, su expresión inglesa.
  • SQL: Lenguaje de Consulta Estructurado (Structured Query Language). Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas. Auna características del álgebra y el cálculo relacional permitiendo lanzar consultas con el fin de recuperar información de interés de una base de datos, de una forma sencilla.

Arquitectura de la Web

Una vez conocidos estos nuevos conceptos es necesario que nos hagamos una idea de la como encajan todas estas piezas dentro de la arquitectura, para ello nos ayudaremos del siguiente gráfico.

Como puede verse en el gráfico dichos componentes se conectan formando un procedimiento que indica la secuencia de llamadas entre los distintos componentes. A continuación detallaremos todos los componentes:

  • Cliente Web/DNS: Navegador Web. Por ejemplo: Firefox, Internet Explorer, Safari, Chrome, …
  • Servidor DNS: Conversor de nombres a IP’s. Por ejemplo: BIND.
  • Servidor Web: Almacén y procesador de la Información Web. Por ejemplo, Apache,  IIS…
  • Contenedor de Aplicaciones: Componente que permite la ejecución de aplicaciones web, por ejemplo PHP, ASP o JEE
  • Aplicación Web: Conjunto de ficheros o empaquetado que incluye todos los ficheros de nuestra aplicación web. PHP, ASP, JEE, etc…
  • SGBD: Sistema de gestión de bases de datos que permitirá almacenar la información dinámicamente. Por ejemplo,  Mysql.

Proceso de carga de una página web

A continuación se detallarán los pasos que realizan el cliente y el servidor de una arquitectura web:
0. Todo el procedimiento empieza cuando el usuario ha introducido una URL en el navegador web. Por ejemplo: www.google.es
  1. El Cliente Web solicita una conversión del nombre de una máquina al Servidor DNS. En este caso actúa como un cliente DNS.
  2. El Servidor DNS recibe la solicitud. Una vez recibida la petición realiza las consultas necesarias para resolver y obtener la dirección IP.
  3. El Servidor DNS devuelve la dirección IP correspondiente al navegador Web.
  4. El Navegador Web conecta contra el Servidor Web mediante la dirección IP y el Puerto (normalmente el 80) y realiza la solicitud de información mediante una URL de página (Método GET) o un formulario (Método POST). Dicha solicitud incluye: la dirección del servidor web, el puerto del servidor web, URL y parámetros POST(esta sólo en el caso de formularios normalmente).
  5. El Servidor Web realiza el Control de Acceso, el Análisis de la petición y localización del recurso. El Servidor Web determina que es necesario obtener la web desde el contenedor de aplicaciones web. 
  6. El Servidor Web llama al Contenedor de aplicaciones web para que resuelva él la petición.
  7. El contenedor de aplicaciones web localiza la aplicación requerida mediante la URL.
  8. El contenedor de aplicaciones web traspasa el control a la aplicación web elegida.
  9. Aplicación Web: Recoge los parámetros y la URL y la interpreta para localizar la funcionalidad que resolverá finalmente la petición. 
  10. La aplicación web conecta y realiza una consulta  SQL al Servidor de SGBD.
  11. El SGBD recoge la petición SQL y la procesa.
  12. El SGBD devuelve los resultados a la aplicación web.
  13. La Aplicación Web procesa de los datos devueltos por el SGBD y genera del HTML resultante.
  14. La aplicación web devuelve el  HTML resultante al contenedor de aplicaciones web.
  15. El contenedor de aplicaciones devuelve el HTML al Servidor Web.
  16. El servidor Web devuelve el HTML al cliente Web.
  17. Cliente Web: Presentación del HTML resultante, CSS y elementos relacionados y ejecución del Javascript.

Dentro del Navegador Web

Como se ha explicado en el punto anterior es necesario que el navegador web interprete los datos que recibe y se los presente al usuario.
Para ello es necesario conocer un poco los componentes básicos que tienen todos los navegadores y el proceso que sucede internamente de gestión de la información de cara a entender el funcionamiento de Javascript (JS a partir de ahora). 
Para ello incorporaremos el siguiente gráfico:
Como puede observarse después de haber lanzado la petición web en el paso 4 del anterior diagrama es necesario que el navegador esté a la espera de una respuesta, tal como sucede en el paso 16
Para ello está escuchando en el socket al flujo de información que proviene del servidor web. 
Según va recibiendo los datos 17.1, los va traspasando al Parser DOM 17.2, el parser va interpretando el flujo 17.3 y lo va convirtiendo dentro del DOM o el objeto document 17.4, si se encuentra código JS será necesario que lo ejecute 17.5, el motor lo interpreta y realiza los cambios sobre el  DOM si es necesario 17.6, a cada cambio ocurrido en el DOM se invoca al motor de Render 17.7, que es el responsable de dibujar sobre la ventana 17.8, el objeto window.
A partir de ese momento el navegador estará pendiente del las distintas acciones que pueda realizar el usuario sobre la ventana y sus distintos elementos a fin de ejecutar las funciones estándar  asociadas a dichos eventos. Esta parte la explicaremos en más profundidad en el apartado de Eventos JS.

Resumen

En este primer punto hemos podido observar cuáles son los elementos principales del a web y el procedimiento de carga de una página web, tanto desde la perspectiva del protocolo http como internamente dentro del propio navegador. 
Licencia Creative Commons

Suscríbete al Boletín

Si quieres estar al tanto de las novedades del blog, ya sabes :)
* = campo obligatorio

powered by MailChimp!

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies