Glosario de términos

A



AJAX
: acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML). Es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, mejorando la interactividad, velocidad y usabilidad en las aplicaciones.


API
: (Application Programming Interface o Interfaz de Programación de Aplicaciones). Conjunto de funciones y procedimientos o métodos que ofrece cierta librería para ser utilizados por otro software como una capa de abstracción.


asincrona
: manera en la que una función de un lenguaje de programación ejecuta instrucciones sin causar bloqueos. No espera que finalice la ejecución de la primera instrucción para continuar con la siguiente.


Asignaciones
: conjunto de repositorios que corresponden a una tarea asignada por los profesores a los alumnos. Se configura desde GitHub Classroom usando un repositorio como plantilla y genera copias del mismo a todo aquel que acepte esa asignación. Las asignaciones se comparten mediante enlaces.


Async/Await
: funcionalidad de Node.js introducida a partir de la versión 7.6 que evita la anidación de callbacks o secuencias de operaciones asíncronas. Permite serializar el código como una secuencia de operaciones síncronas.




C



Callback
: función que se usa como argumento de otra y que se ejecuta cuando se invoca ésta última.


Control de Versiones
: (Control Versioning System o CVS). Aplicación informática que implementa un sistema de control de versiones: mantiene el registro de todo el trabajo y los cambios en los ficheros (código fuente principalmente) que forman un proyecto y permite la colaboración entre distintos desarrolladores.


G



GitBook
: herramienta que permite elaborar documentación de manera rápida usando Markdown como lenguaje de marcado. Esta documentación se puede publicar de manera online como página web o generar Ebooks (en formato ePub, Mobi o PDF). Además, se integra fácilmente con el sistema de control de versiones de GitHub. Para más información, visitar https://www.gitbook.com.


GitHub
: forja para alojar proyectos utilizando el Sistema de Control de Versiones Git. Para más información, visitar https://github.com.


GitHub Classroom
: herramienta de GitHub que automatiza la creación de repositorios y el control de acceso a ellos, distribuyendo el código inicial de manera sencilla y mostrando las asignaciones que se han creado. Para más información, visitar https://classroom.github.com/.



H



HTML5
: (HyperText Markup Language). Lenguaje de marcado para la elaboración de páginas web. Es un estándar que sirve de referencia para la elaboración de páginas web definiendo una estructura básica y un código para la definición del contenido de la misma.



J



JavaScript
: lenguaje de programación interpretado. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico. Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas, aunque actualmente está en auge su utilización en lado del servidor.



M



Metodologias ágiles
: conjunto de métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan mediante la colaboración de grupos auto organizados y multidisciplinarios. Se caracterizan además por la minimización de riesgos desarrollando software en iteraciones cortas de tiempo.



N



Node.js
: entorno de ejecución para JavaScript construido con el motor de JavaScript V8 de Chrome. Node.js usa un modelo de operaciones E/S sin bloqueo y orientado a eventos, que lo hace ligero y eficiente. Para más información, visitar https://nodejs.org.


NPM
: gestor de paquetes de Node.js, que cuenta con el mayor ecosistema de librerías JavaScript de código abierto. Para más información, visitar https://www.npmjs.com/.


O



Organizaciones
: conjunto de cuentas de GitHub que comparten proyectos y pueden colaborar entre sí.



P



Promesas
: característica que da otra solución para evitar las callback. Las promesas representan el resultado de una operación asíncrona y que, cuando finaliza esa ejecución, continúan ejecutando el resto del código.



R



Repositorio
: carpeta contenedora de un proyecto que, además de contener los ficheros, almacena el control de versiones de los mismos.


S



Student Developer Pack
: pack de herramientas de desarrollo y mantenimiento del software gratuito para estudiantes. Para más información, visitar https://education.github.com/pack.


sincrona
: manera en la que una función de un lenguaje de programación se ejecuta instrucción a instrucción, esperando que se devuelva el resultado de la primera para continuar con ejecución de la siguiente.


T



Travis-CI
: herramienta de integración continua que realiza la compilación y despliegue de aplicaciones, así como la ejecución de pruebas automáticas, para asegurar la calidad del código y detectar errores con rapidez. Para más información, visitar https://travis-ci.org/


TDD
: (Test-Driven Development o Desarrollo Dirigido por Pruebas). Práctica de programación que involucra otras dos prácticas: escribir las pruebas primero (Test First Development) y Refactorización de código (Refactoring).


Token
: objecto usado por un cliente para autentificarse a sí mismo, en lugar de utilizar usuario y contraseña. El token define los privilegios que tiene el cliente.



W



Web semántica
: idea de añadir metadatos semánticos y ontológicos a la World Wide Web. Esas informaciones adicionales, que describen el contenido, el significado y la relación de los datos, se deben proporcionar de manera formal, para que sea posible evaluarlas automáticamente por máquinas de procesamiento. El objetivo es mejorar Internet ampliando la interoperabilidad entre los sistemas informáticos usando agentes inteligentes, es decir, programas en las ordenadores que buscan información sin necesidad de interacción humana.


World Wide Web
: (WWW). Sistema de distribución de documentos de hipertexto o hipermedios interconectados y accesibles vía Internet. Con un navegador web, un usuario visualiza sitios web compuestos de páginas web que pueden contener texto, imágenes, vídeos u otros contenidos multimedia, y navega a través de esas páginas usando hiperenlaces.


Juan José 2017-07-04