JavaScript

UNIVERSIDAD DE LAS FUERZAS ARMADAS “ESPE” DEPARTAMENTO DE ELECTRICA Y ELECTRONICA ELECTRONICA I ESTUDIANTE: Jonathan

Views 277 Downloads 6 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD DE LAS FUERZAS ARMADAS “ESPE”

DEPARTAMENTO DE ELECTRICA Y ELECTRONICA

ELECTRONICA I

ESTUDIANTE:

Jonathan Acosta Renny Coro Bryan Gallo Cristian Mosquera

DOCENTE:

Ing. Darwin Alulema

NRC:

2635

PERIÓDO:

ABRIL - AGOSTO 2018-2019 SANGOLQUÍ – ECUADOR

Índice General Java Script ..................................................................................................................................... 3 Objetivos .................................................................................................................................. 3 Objetivo General: ................................................................................................................ 3 Objetivos Específicos: ......................................................................................................... 3 Estado del Arte ........................................................................................................................ 3 Marco Teórico ......................................................................................................................... 4 Historia .................................................................................................................................. 4 Diferencias entre Java y JavaScript ....................................................................................... 5 Características ....................................................................................................................... 5 Herramientas Basicas ............................................................................................................ 7 Pasos para crear una aplicación ...................................................................................... 10 Desarrollo de Aplicaciones ................................................................................................. 11 Diagramas ........................................................................................................................... 18

Índice de Figuras Figura 1. Logo Express.js. ........................................................................................................... 8 Figura 2. Logo Angular.js. ............................................................................................................ 8 Figura 3. Ejemplo de codigo utilizando Ember.js. ........................................................................ 9 Figura 4. Logo Knockout.js........................................................................................................... 9 Figura 5. Estructura de una aplicación Web ............................................................................... 11 Figura 6. Código Aplicación "Hola Mundo" ................................................................................. 11 Figura 7. Aplicación "Hola Mundo" ejecutada en un navegador ................................................ 12 Figura 8. Código Aplicación con funciones de entrada de texto ................................................. 12 Figura 9. Ejecución de la aplicación............................................................................................. 12 Figura 10. Código Aplicación Lista extensión html...................................................................... 13 Figura 11. Código Aplicación Lista extensión js ........................................................................... 13 Figura 12. Código Aplicación Lista extensión css ........................................................................ 14 Figura 13. Ejecución de la Aplicación Lista .................................................................................. 14 Figura 14. Materia agregada a la aplicación ............................................................................... 15 Figura 15. Aplicacion Proyectos extension html ......................................................................... 15 Figura 16. Aplicación Proyectos: project.js (1) ............................................................................ 16 Figura 17.Aplicación Proyectos: project.js (2) ............................................................................. 17 Figura 18. Aplicacion Proyectos: project-list.js ........................................................................... 17 Figura 19. Ejecución de la Aplicación Proyectos ......................................................................... 18 Figura 20. Proceso de programación .......................................................................................... 18 Figura 21. Estructura de una aplicación web .............................................................................. 19 Figura 22. Arquitectura básica de Angular.js .............................................................................. 19

Java Script Objetivos Objetivo General:  Desarrollar una aplicación web a partir del uso del lenguaje de programación Java Script. Objetivos Específicos:  Investigar las formas de uso y las características de Java Script.  Describir las herramientas y plataformas de código abierto que utilizan Java Script para el desarrollo de aplicaciones web. Estado del Arte La creciente popularidad de JavaScript ha cambiado la manera de desarrollar aplicaciones Web: Se considera importante la presentación y funcionalidad de aplicaciones web, de manera que es recomendable establecer las ideas sobre cómo realizar una aplicación web con JavaScript. Aplicaciones Web JavaScript evoluciona el proceso de representación de la página Web y la manipulación de DOM para ofrecer una mejor experiencia de exploración Web. Uno de los más ampliamente adoptado para la arquitectura de aplicaciones Web JavaScript es la aplicación de una sola página (SPA). SPA es la aplicación web que se carga por completo todos los recursos en la solicitud inicial. Los componentes individuales, incluyendo DOM, puede ser reemplazado o actualizado de forma independiente en función de la interacción del usuario. [1]

Math.js: una biblioteca de matemáticas avanzadas para JavaScript Las matemáticas avanzadas para el navegador web y el servidor con funciones personalizadas permiten resolver y optimizar trayectorias. Desde el 2013 Open Source ha crecido en forma sostenida en unos de las más populares bibliotecas de matemáticas. Math.js pretende hacer matemáticas avanzadas disponibles para la comunidad de JavaScript. La mayoría de programaciones sólo admiten idiomas matemáticos básicos out-of-the-box. Para el usuario matemático, esto no es suficiente, como lo demuestra la necesidad de potentes herramientas como Matlab, Mathematica, Maple, y R. Algunos lenguajes de programación, como Python, tienen un excelente soporte para las matemáticas gracias a las bibliotecas numpy y scipy. [2]

JSDEODORANT, un complemento de Eclipse que permite el mantenimiento y la comprensión de classware para programas de JavaScript:

JavaScript es un lenguaje de tipiado dinámico, que admite programación orientada a objetos de procedimiento, funcional y prototípica paradigmas. En su entorno JSDEODORANT admite dos estándares de hecho comunes para definir módulos en JavaScript (CommmonJS and Google Closure Library). JSDEODORANT se ha desarrollado como un IDE independiente conjunto de herramientas para analizar proyectos de JavaScript. En su núcleo, almacena un modelo de objeto jerárquico que representa la estructura de un proyecto JavaScript dado, construido a partir de árboles de sintaxis abstracta (AST) de los archivos de JavaScript. El modelo oscurece redundante Detalles AST, sin embargo, es lo suficientemente detallado como para permitir la implementación varios algoritmos de análisis en la parte superior. En el nivel más alto, el modelo captura la información de dependencia del módulo de JavaScript. El módulo consta de un conjunto de clases de JavaScript relacionadas. Para identificar la función constructores (en lo sucesivo, clases), primer análisis JSDEODORANT expresiones de creación de objetos (es decir, usos de la nueva palabra clave) y realiza un análisis de flujo de datos liviano para unir cada expresión de instanciación de clase a su declaración de clase correspondiente. Este enfoque etiqueta funciones como clases cuando hay una instanciación de clase explícita. JSDEODORANT luego emplea un mecanismo de inferencia para identificar clases que no están creadas en el proyecto. Para eso, JSDEODORANT evalúa los cuerpos de las restantes declaraciones de función sin etiqueta, en además de sus objetos prototipo para inferir si una función en realidad imita una clase. [3]

Marco Teórico “JavaScript (a veces llamado solo de JS) es un lenguaje de programación, leve, interpretado, orientado a objetos, basada en prototipos y en first-class functions (funciones de primera clase), más conocida como el lenguaje de script de la Web. También se utiliza en otros entornos como node.js y Apache CouchDB” [1]. Usa un diseño de sintaxis similar al lenguaje de programación C, pero también adopta nombres y convenciones de Java. Todos los navegadores actuales son capaces de interpretar el código JavaScript integrado en las páginas o aplicaciones web, para lo cual se provee a este lenguaje de una implementación DOM (Documento Object Model). ECMAScript es la estandarización que rige el lenguaje JavaScript, realizado debido a que cada navegador implementa el lenguaje de forma diferente, por lo cual un código hecho para un determinado navegador puede no funcionar en otro. Documentos construidos exclusivamente con recursos del lenguaje HTML, son estáticos; es decir se muestran siempre del mismo modo. Las posibilidades de interacción del usuario son muy reducidas, y se limitan al cambio de documento mediante los hipervínculos y a la recepción y envió de datos con formularios [1]. Historia “JavaScript es el lenguaje de programación que Netscape creo para dar vida (del lado del cliente – front end) a su navegador. […] El padre de este se llama Brendan Eich. Netscape fue vendida y dio lugar a la fundación Mozilla, tomo los mandos del negocio y viene realizando un óptimo trabajo. La popularidad se dio por el hecho de que

JavaScript hacia lo que ningún otro lenguaje podía hacer: transformar paginas HTML, estáticas en algo dinámico sin tener que “viajar” hasta el servidor” [1]. Al comienzo, el lenguaje fue creado para funcionar del lado del cliente y se ejecutaba exclusivamente en navegadores web. La base de la programación en el lado del cliente consiste en escribir un script y hacer que este funcione en el navegador sin tener que viajar hasta el servidor para ser ejecutado, permitiendo realizar mejoras en la interfaz de usuario y páginas web dinámicas. Pero contrastando con lo anterior JavaScript, actualmente tiene una forma basada en el lado del servidor (Server-side JavaScript o SSJS), la cual se basa en el uso en aplicaciones externas a la web, como puede ser el caso de documentos en formato PDF, o aplicaciones de escritorio (widgets). Diferencias entre Java y JavaScript El nombre que actualmente tiene este lenguaje de programación se lo puso con un nombre comercial, aprovechando el éxito que estaba teniendo Java, provocando hasta la actualidad una confusión entre estos dos lenguajes. “JavaScript es un lenguaje de programación de scripts desarrollado por Netscape Communications, mientras que Java es un lenguaje de programación informático orientado a objetos, creado por James Gosling y Patrink Naughton. La sintaxis de los dos lenguajes es parecida, porque derivan los dos del C++” [2]. Java

JavaScript

Autor

Desarrollado por Sun Microsystems

Desarrollado por Netscape Communications

Formato

Compilado como de bytecode

Interpretado

Almacenamiento

Applet descargado como un elemento de la página Web

Código insertado en la página Web

Uso

Se usa para desarrollar todo tipo de aplicaciones

Se usa únicamente para “dinamizar” las páginas Web

Ejecución

Se ejecuta en la JVM (Java Se ejecuta por el Virtual Machine) del navegador navegador

Programación orientada a objetos (POO)

Orientado a objetos

Manipula objetos pero no permite definirlos

Tipado

Fuertemente tipado

Sin control de tipo

Tabla I. Diferencias entre Java y JavaScript. Recuperado de: Aprender a desarrollar JavaScript. Características Imperativa y Estructurada

Soporta los elementos de sintaxis de programación estructurada del lenguaje C. Una excepción en la cuestión del alcance. Una diferencia sintáctica con C es fin de línea termina automáticamente el comando, siendo el punto-y-coma opcional. Dinámico  



Tipado dinámico Como la mayoría de los lenguajes script, los tipos son asociados con los valores, no con variable. Basado en objetos JavaScript está casi completamente basado en objetos; sus objetos son arrays asociativos, aumentados con prototipos. Las propiedades y sus valores pueden ser añadidas, modificadas, o eliminadas en tiempo de ejecución. Evaluación en tiempo de ejecución Incluye la función eval que consigue ejecutar en tiempo de ejecución comandos del lenguaje que estén escritos en un string.

Funcional  



Funciones de primera clase Son objetos que tienen propiedades y métodos, y pueden ser pasados como argumentos, sean atributos a variable o retornados como otro objeto. Funciones anidadas Son funciones definidas dentro de otras funciones. Son creadas cada vez que la función que las contiene es invocada. Además de eso, el alcance de la funcione externa transforman parte del estado interno de cada objeto creado a partir de la función interna. Cierres Permite que las funciones anidadas sean creadas con el alcance semántico en el momento de su definición y posee el operador () para invocarlas en otro momento.

Basada en Prototipos 

Prototipos JavaScript usa prototipos en vez de clases para el mecanismo de herencia. Es posible simular muchas características de la orientación a objetos basada en clases con prototipos.

 



Funciones y métodos A diferencia de otros lenguajes orientados a objetos, en JavaScript no se distingue entre la definición de una función o la de un método. Uso en páginas Web El uso primario de JavaScript es escribir funciones que son incrustados o incluidas en páginas HTML y que interactúan con el Modelo de Objetos de Documentos (DOM) de la página. Por el hecho de que el código en este lenguaje se ejecuta en el navegador del usuario, y no en un servidor, el navegador puede responder a tales acciones rápidamente, haciendo una aplicación más sensible. Compatibilidad







Ya que se ejecuta en ambientes variables, una parte importante de las pruebas y de la depuración de su código consiste en la verificación de la compatibilidad entre los distintos navegadores. Para lidiar con esas diferencias, los desarrolladores de JavaScript intentan con frecuencia escribir códigos que sean conformes con el patrón común de la mayoría de los navegadores. Accesibilidad Asumiendo que el usuario no tenga deshabilitada su ejecución, se puede utilizar JavaScript del lado cliente para mejorar la experiencia de un usuario con deficiencia física o visual. No se recomienda utilizar este lenguaje de manera que resulte confusa o desorientadora para cualquier usuario de internet. Seguridad JavaScript y el DOM representan un gran potencial para los desarrolladores maliciosos que escriben scripts para ejecutar en un cliente mediante web. Los navegadores están preparados para evitar y contener este riesgo de dos maneras: La primera es que scripts sean ejecutados usando sandbox y la segunda es que los scripts están limitados por la regla del mismo origen. Vulnerabilidad entre webs Un problema común relacionado a la seguridad es la escritura de scripts entre-webs, una violación de la regla del mismo origen. Tales vulnerabilidades ocurren cuando un atacante está preparado para atacar en una web objetiva, como una web de un banco, el script de este ejemplo puede acceder a la aplicación del banco con los privilegios de la víctima.

Herramientas Básicas 1. Frameworks “En general, con el término framework, nos estamos refiriendo a una estructura software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación. En otras palabras, un framework se puede considerar como una aplicación genérica incompleta y configurable a la que podemos añadirle las últimas piezas para construir una aplicación concreta” [3]. 

Express.js

Es un framework por el lado del servidor que permite a los desarrolladores crear aplicaciones web con Node.js. Es un marco de desarrollo muy flexible, ágil y que dispone de una comunidad de programadores que mejoran el producto y ayudan en su utilización con mucha documentación adicional en plataformas como GitHub. Además es un framework sólido, estable y fácil de aprender. Está inspirado en Sinatra, el marco de desarrollo para Ruby. [4]

Figura 1. Logo Express.js. Recuperado de: https://codecondo.com/15-websites-builtwith-express-js/ 

Angular.js

Angular.js es un framework de JavaScript de código abierto y totalmente libre, que permite el desarrollo de aplicaciones web en el lado del cliente y utiliza un patrón del tipo Modelo-Vista-Modelo de Vista. Detrás de su lanzamiento y mantenimiento se encuentra Google, lo que lo convierte en una opción estable y sólida, con documentación constante, para la comunidad de desarrolladores. [4] Algunas de sus características son: - Sistema bidireccional de data-binding. El Modelo y la Vista siempre se actualizan de forma sincronizada con cualquier cambio en los datos. - Tiene patrón de Inyección de Dependencias. - Cualquier aplicación desarrollada en AngularJS es compatible con varios navegadores. El JavaScript se adapta a cada uno de ellos.

Figura 2. Logo Angular.js. Recuperado de: https://programacion.net/articulo/aprende_como_funciona_angularjs_con_este_sencill o_ejemplo_1239 

Ember.js

Ember.js es un framework JavaScript que permite a cualquier desarrollador crear aplicaciones web de una sola página del lado del cliente. Es de código abierto y usa un patrón del tipo Modelo-Vista-Controlador (MVC). Algunas de las características fundamentales de este marco de desarrollo son: - Modificación automática entre los objetos JavaScript y el DOM: esta relación entre los datos que permite agilizar el desarrollo de las aplicaciones se debe a la integración de la librería Handlebars.js. - Clases y procedimiento para renderizar de forma sencilla una app.

- Dispone de un sistema de plantillas para programar el HTML de la aplicación. Este sistema se llama HTMLbars, y sería la variación para el DOM de la librería Handlebars. [4]

Figura 3. Ejemplo de codigo utilizando Ember.js. Recuperado de: https://www.lynda.com/Ember-js-tutorials/Ember-js-Essential-Training/480960-2.html



Knockout.js

Knockout.js es un marco de desarrollo basado en un patrón tipo Modelo-Vista-Modelo de Vista (MVVM). Es de código abierto, dispone de una licencia MIT. Cualquier desarrollador que quiera empezar a usarlo para el desarrollo de una interfaz de usuario tiene tutoriales y documentación en el site del propio framework. [4]

Figura 4. Logo Knockout.js. Recuperado de: https://firebearstudio.com/blog/magento2-knockout.html 2. Librerías  JQuery Esta es la librería JavaScript más utilizada por los desarrolladores. Permite, de una forma sencilla, interactuar con el HTML, el DOM, hacer todo tipo de animaciones, introducir funcionalidades AJAX al proyecto… JQuery le permite a un desarrollador aportar un valor añadido con pocas líneas de código. Es una biblioteca de código abierto, bajo licencia MIT y GNU v.2. [4] 

Backbone.js

Backbone.js es una librería JavaScript que permite programar por el lado del cliente. Se utiliza para el desarrollo de aplicaciones de una única página, donde el uso del

JavaScript y AJAX son esenciales para dotar a las apps de funcionalidades para el usuario. Usa un patrón Modelo-Vista-Controlador. [4] 

Kendo UI

Kendo UI es una librería, o más bien un paquete de librerías, que proporciona a los desarrolladores todos los elementos necesarios para crear aplicaciones web por el lado del cliente, con una interfaz de usuario dinámica basada en JQuery. Al final Kendo UI suele ser utilizada para el desarrollo de una interfaz de usuario intuitiva, sencilla e innovadora a través de distintos tipos de widgets que se montan como un mecano. Esos elementos predefinidos incluyen menús dinámicos, ventajas, sistemas de carga de archivos… [4] 

Modernizr

Modernizr es una librería JavaScript que nos permite detectar la falta de compatibilidad de nuestro proyecto con cada tipo de navegador. La idea es hacer desarrollos que se adapten a las características de cada navegador. Podemos usar determinadas funcionalidades o hacer ajustes en función de lo que use cada usuario. Estas pruebas se hacen a través de un sistema de test. Además, su API permite cargar test personalizados por proyectos. [4] Pasos para crear una aplicación 1. Lo primero que se necesita para crear una aplicación web con el lenguaje de programación JavaScript es tener instalado en nuestras computadoras un IDE que nos permita escribir el código. 2. El IDE escogido para el proyecto es WebStorm, el cual puede ser descargado gratuitamente desde internet, además de conseguir una licencia estudiantil con el correo institucional, también será necesario descargar una extensión en nuestros navegadores para que nuestra aplicación se pueda ejecutar. 3. Hay que tener claro la estructura básica que debe tener un programa para una aplicación web con un código HTML; consta de tres partes principales que se separan mediante etiquetas las cuales son : , , ; la primera sirve para indicar que el estándar que se usara es HTML, puede ser cambiada; la segunda conocida como cabecera, incluye al título y otras etiquetas que permiten la vinculación de código externo; y por ultimo body, es el cuerpo del programa donde se coloca el contenido de la página.

Figura 5. Estructura de una aplicación Web

4. Es importante hacer referencia en que al momento de realizar aplicaciones que incluyan una cantidad significativa de funciones y métodos el proyecto completo se hará a partir de dos tipos de archivos: uno con extensión “.js”, en el que se encontrara todo el código de las funciones en un lenguaje muy parecido a C; y uno con extensión “.html” en donde se ubicaran los componentes que serán visibles en la página y que incluirá el archivo anterior para su ejecución. Desarrollo de Aplicaciones Aplicación “Hola Mundo”

Figura 6. Código Aplicación "Hola Mundo"

Dentro del mundo de la programación en cualquier lenguaje siempre se suele iniciar con un programa básico que sirve de introducción a dicho lenguaje, conocida como “Hola Mundo”, como se puede ver el código es sencillo y pone en pantalla el mensaje que se desea.

Figura 7. Aplicación "Hola Mundo" ejecutada en un navegador

Aplicación con funciones de entrada de texto

Figura 8. Código Aplicación con funciones de entrada de texto

A partir de la aplicación anterior se puede explotar aún más al lenguaje JavaScript a partir del uso de más etiquetas que brindan una optimización del programa y ayudan a personalizarlo a partir del uso del framework Angular.js con el cual se puede vincular código externo y de ese modo reducir el código para hacer más eficiente a la aplicación, en caso de esta aplicación busca que, a partir del texto escrito en una entrada, se puede ver “Hola” y el nombre escrito.

Figura 9. Ejecución de la aplicación

Aplicación Lista

Figura 10. Código Aplicación Lista extensión html

Para esta aplicación también fue necesario aplicar el framework Angular.js el cual se declara en la cabecera del código junto con los otros dos archivos que forman parte del programa principal, este framework permite utilizar funciones como TodoListController que están incluidas en la directiva ng-controller la cual permite manejar listas a partir del código escrito en todo.js

Figura 11. Código Aplicación Lista extensión js

A diferencia de las anteriores aplicaciones que solo utilizaban la extensión html, debido a que solo se necesitaba mostrar en la página principal de la página un mensaje; aquí se incluyen dos archivos en todo.js irá todo el código JavaScript de la aplicación, mientras que Lista.html será la página principal.

Figura 12. Código Aplicación Lista extensión css

El archivo todo.css es un código simple de personalización de la vista externa que tendrá el código en este caso se coloca una línea de color gris que atraviesa de borde a borde de la página.

Figura 13. Ejecución de la Aplicación Lista

Se puede ver tres secciones importantes dentro del programa: el número de archivos restantes, la lista y la opción a agregar más materias; las dos primeras partes fueron programadas en el archivo de todo.js donde se realizaron las funciones de manejo de la lista y la última se realizó directamente en Lista.html debido a que era una función que se iba a ver directamente desde la página principal, apoyada con los métodos propios de todoList.

Figura 14. Materia agregada a la aplicación

Aplicación Proyectos En este programa al igual que en el anterior se elaborará una lista, pero en este caso se utilizarán enlaces donde se podrá re direccionar hacia otras páginas que contengan la información que se desea ver

Figura 15. Aplicación Proyectos extensión html

Dentro de la página principal se incluyen en la cabecera el código externo de la fuente de Angular.js para poder realizar todas las funciones pertinentes a la aplicación que se realiza y también se incluyen Project.js y Project-list.js cuyo código se mostrara más adelante

Figura 16. Aplicación Proyectos: project.js (1)

Se establece un módulo al que se le coloca el nombre de “Project” con el cual se puede usar funciones existentes; la primera función permite guardar una dirección URL y la segunda permite agregar o modificar estas direcciones.

Figura 17.Aplicación Proyectos: project.js (2)

En esta parte se puede ver algunas funciones que hacen que el URL guardado se vuelva parcial, la función .controller(“ProjectListController”) permite abrir la ubicación del hipervínculo con el que se vincula un miembro de la lista.

Figura 18. Aplicación Proyectos: project-list.js

En esta parte del código se crea la lista preestablecida que aparecerá en la página principal del programa en la cual se incluye el nombre y la dirección del sitio web con la cual será vinculado, así como una pequeña descripción del contenido que se encontrara en esa página.

Figura 19. Ejecución de la Aplicación Proyectos

El tema escogido para la elaboración de la lista fue: Proyectos con Diodos, y en la lista se establecen algunos proyectos de este tipo así como los links de redirección a la página original donde se puede encontrar materiales y pasos para elaborar dichos proyectos, la página principal también incluye una barra de filtrado con la cual en caso de tener muchos más proyectos incluidos en la lista su búsqueda será más eficiente, en Figura 19 se puede ver que se ha escogido el link del proyecto Vúmetro.

Diagramas

Figura 20. Proceso de programación

Para poder iniciar a programar siempre necesario partir de un diagrama de flujo en el cual se indiquen las variables que serán parte del programa, así como la relación existente entre ellas y las funciones que deberá realizar, se realiza esto como una línea base que le brinda estructura al programa, luego de esto viene la parte de elaboración del código en algún IDE con el lenguaje de programación que se desee y por último la parte de compilación y ejecución donde se verán los resultados del código fuente generado.

Figura 21. Estructura de una aplicación web

Como se explicó anteriormente una aplicación web constaba de 3 etiquetas principales entre las cuales se distribuye el programa: html, head y body; en este diagrama se puede ver la interacción entre estas etiquetas, así como otras que pueden ser utilizadas dentro de las principales a conveniencia del programador.

Figura 22. Arquitectura básica de Angular.js

En la parte superior, el modulo funciona como un contenedor de todos los elementos visuales, lógica de la vista y manejo del comportamiento; Vista tiene directivas que preprocesan y generan el html final; Controlador adapta la vista con el modelo final y habla con las fabricas para manejar la comunicación con los orígenes de datos; Fabricas

reutilizan funcionalidades comunes entre controladores, tales como obtener o actualizar información desde los orígenes de datos locales o remotos. Conclusiones  El lenguaje de programacion JavaScript es un lenguaje utilizado para elaborar aplicaciones web a partir del uso de la estructura HTML, actualmente todo navegador puede ejecutar este lenguaje, en un principio tenia una programacion con base en el lado del cliente, pero actualmente también esta en el lado del servidor.  La necesidad de crear el lenguaje JavaScript fue para hacer que las paginas web no fueran tan estáticas y monocromas como eran al principio, con la introducción de este lenguaje en la programacion nace un nuevo termino conocido como HTML dinamico, con el cual se hace referencia a las diversas funcionalidades que ofrece el uso de este lenguaje como: vinculación con otras paginas web, decoración de paginas a partir de colores, movimientos, sonidos, entre otras  Angular.js es el framework de codigo abierto mas utilizado por JavaScript para el desarrollo de aplicaciones web del lado del cliente, con cual se puede incluir codigo que facilita al programador hacer uso de diversas funciones que viene preestablecidas dentro del framework. Recomendaciones 



Utilizar el IDE WebStorm para programar aplicaciones web ya que es gratuito para estudiantes y profesores, además de instalar la extension en el navegador para poder visualizar su ejecución. Investigar acerca de todas las funciones que puede ofrecer Angular.js para la elaboración de aplicaciones web, en este proyecto se utilizaron las funciones mas básicas con las cuales se podía mostrar el funcionamiento y aplicación del lenguaje JavaScript