Estudio Del Framework Angularjs Y Su Uso En El Desarrollo Web

1y ago
7 Views
2 Downloads
2.92 MB
97 Pages
Last View : 20d ago
Last Download : 3m ago
Upload by : Mia Martinelli
Transcription

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile FACULTAD DE CIENCIAS EMPRESARIALES Departamento de Ciencias de la Computación y Tecnologías de la Información ESTUDIO DEL FRAMEWORK ANGULARJS Y SU USO EN EL DESARROLLO WEB Memoria para optar al título de Ingeniero Civil en Informática AUTOR: CAMILO ANDRES STUARDO MÜLCHI Profesor Guía: Rodrigo Ariel Torres Avilés Chillán, Diciembre de 2016

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile AGRADECIMIENTOS A mis padres Por siempre apoyarme y motivarme en este proceso, por la paciencia y cariño que tuvieron, ya que no fue corto. A mis compañeros de Generación Por su amistad y compartir tantas experiencias conmigo, en especial a German, Guillermo, Francisca, Christian, Naaman y Alejandra. Gracias a todos. Al profesor Luis Gajardo Por ayudarme en mi primera memoria, la cual no cumplió con los objetivos, pero a pesar de mis reiterados errores siempre estuvo ahí para apoyarme. Al profesor Rodrigo Torres Por ayudarme en esta memoria, y estar presente cada vez que necesitaba de su ayuda. Camilo Andres Stuardo Mülchi 2

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile RESUMEN Actualmente, los framework basados en JavaScript se usan en el desarrollo de la mayoría de las aplicaciones web y siempre están apareciendo herramientas novedosas que buscan liderar el mercado. Además, con la contaste evolución de las tecnologías web, se pueden materializar ideas que años atrás sería impensable realizar, debido a que no existía los recursos para construirlas. El objetivo de este proyecto es el estudio del framework AngularJS uno de los más usados del mercado. Se realiza un análisis comparativo que permite dar a conocer al lector las características que proporciona AngularJS y que lo ha llevado a ser uno de los líderes del mercado. Es un estudio que, además, incluye el desarrollo de un caso práctico para mostrar el funcionamiento de esta herramienta. Para realizar el estudio, se ha decidido analizar tres frameworks basados en JavaScript: AngularJS, BackboneJS, Ember. Se detallan las características de cada una, su arquitectura y tipos de aplicaciones que se puede realizar con ellas. El estudio determinó que AngularJS es la más completa en comparación a BackboneJS y Ember, debido a que presenta más y/o mejores funcionalidades con respecto a las otras herramientas. Además, el estudio permitió observar todas las principales características que brinda AngularJS al mundo de las aplicaciones web. 3

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile SUMMARY Currently, JavaScript-based frameworks are used in the development of most web applications and new tools are always emerging that seek to lead the market. In addition, with the evolution of the web technologies, you can materialize ideas that years ago would be unthinkable to do, because there were no resources to build them. The objective of this project is to study the AngularJS framework one of the most used on the market. A comparative analysis is carried out that allows the reader to know the characteristics that AngularJS provides and that has led him to be one of the leaders in the market. It is a study that, in addition, includes the development of a practical case to show the operation of this tool. To perform the study, it has been decided to analyze three frameworks based on JavaScript: AngularJS, BackboneJS, Ember. They detail the characteristics of each one, its architecture and types of applications that can be realized with them. The study determined that AngularJS is the most complete in comparison to BackboneJS and Ember, because it presents more and/or better functionalities with respect to the other tools. In addition, the study allowed to observe all the main features that AngularJS provides to the world of web applications. 4

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile INDICE GENERAL 1. 2. Introducción . 12 1.1. Introducción General . 12 1.2. Especificaciones del estudio. . 13 1.3. Especificaciones del prototipo. . 13 1.4. Objetivos. . 14 1.5. Metodología . 14 1.6. Alcances y Limitaciones . 15 1.7. Definiciones y abreviaturas . 15 Marco Teórico . 18 2.1. Tecnología JavaScript. 18 2.1.1. Introducción. 18 2.1.2. Como identificar JavaScript dentro de las aplicaciones web. . 18 2.1.3. Ventajas. 19 2.1.4. Desventajas . 20 2.2. Arquitectura MVC . 20 2.2.1. Patrón de arquitectura Modelo Vista Controlador (MVC) . 20 2.2.2. Capa Modelo . 21 2.2.3. Capa Vista . 21 2.2.4. Capa Controlador . 21 2.3. Framework AngularJS . 22 2.3.1. Introducción. 22 2.3.2. Cronología de AngularJS . 22 2.3.3. Instalación. 23 2.3.4. Conceptos Generales . 24 2.3.5. Características de AngularJS . 25 5

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile 3. 2.3.5.1. scope . 25 2.3.5.2. Data Binding . 26 2.3.5.3. Directivas. 28 2.3.5.4. Expresiones . 31 2.3.5.5. Módulos . 32 2.3.5.6. Controladores . 33 2.3.5.7. Servicios . 34 2.3.5.8. Routing . 36 Estudio Comparativo. 37 3.1. Introducción . 37 3.2. Presentación de los Framework . 37 3.2.1. 3.2.1.1. Logo . 38 3.2.1.2. Ventajas . 38 3.2.1.3. Desventajas . 39 3.2.1.4. Resumen Gráfico . 39 3.2.2. BackboneJS . 40 3.2.2.1. Logo . 40 3.2.2.2. Ventajas . 40 3.2.2.3. Desventajas . 41 3.2.2.4. Resumen Gráfico . 41 3.2.3. 3.3. AngularJS . 38 Ember . 42 3.2.3.1. Logo . 42 3.2.3.2. Ventajas . 42 3.2.3.3. Desventajas . 42 3.2.3.4. Resumen Gráfico . 43 Análisis Comparativo . 43 6

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile 3.3.1. Definición de parámetros de comparación . 45 3.3.2. Análisis de parámetros y variables de comparación. 47 AngularJS . 47 3.3.2.2. BackboneJS . 48 3.3.2.3. Ember . 49 3.3.3. Tabla de Pesos . 50 3.3.4. Tabla comparativa resumen frameworks Cliente MVC . 51 3.4. 4. 3.3.2.1. Conclusiones de la comparación entre frameworks . 52 Caso Práctico . 53 4.1. Introducción . 53 4.2. Caso Práctico: Prototipo página de noticias Talleres ICI. 53 4.2.1. Objetivo . 53 4.2.2. Descripción . 53 4.2.2.1. MongoDB . 54 4.2.2.2. ExpressJS . 58 4.2.2.3. AngularJS . 58 4.2.2.4. Node.js . 58 4.2.3. Implementación. 59 4.2.4. Capturas de la aplicación . 71 4.2.5. Resultado. 77 5. Conclusiones . 78 6. Recomendaciones . 79 7. Bibliografía . 80 8. Anexo: Código fuente del caso práctico . 83 7

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile INDICE DE TABLAS Tabla.1. Conceptos importantes AngularJS. . 24 Tabla.2. Principales Directivas en AngularJS. . 29 Tabla.3. Notas para las características analizadas. . 44 Tabla.4. Valores para los distintos pesos. 45 Tabla.5. Análisis de los parámetros a comparar en AngularJS. . 47 Tabla.6. Análisis de los parámetros a comparar en BackboneJS. . 48 Tabla.7. Análisis de los parámetros a comparar en Ember. . 49 Tabla.8. Tabla de pesos con la nota resultado por cada característica. . 50 Tabla.9. Tabla resumen con los resultados obtenidos. . 51 8

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile INDICE DE IMÁGENES Figura.1. Ejemplo uso de ficheros externos en JavaScript. 18 Figura.2. Arquitectura MVC. . 21 Figura.3. Instalación AngularJS utilizando el CDN de Google. 23 Figura.4. Ejemplo Framework AngularJS. . 23 Figura.5. scope en Angular. . 25 Figura.6. Ejemplo funcionamiento scope entre vista y controlador. . 26 Figura.7. One-Way Data Binding. . 27 Figura.8. Ejemplo de uso de ng-model. 27 Figura.9. Enlace de datos Bidireccional AngularJS. . 27 Figura.10. Two-Way Data Binding. . 28 Figura.11. Tipos de Directivas en AngularJS. . 29 Figura.12. Ejemplo de Directivas personalizada en AngularJS. . 30 Figura.13. Ejemplo de Directivas personalizada en AngularJS (Vista). . 30 Figura.14. Plantilla que retorna la directiva personalizada. . 31 Figura.15. Ejemplo de expresión numérica aceptada por Angular. . 31 Figura.16. Ejemplo de expresión en cadena de texto aceptada por Angular. 31 Figura.17. Ejemplo de expresión con Arrays aceptada por Angular. 32 Figura.18. Ejemplo de expresión con Objetos aceptada por Angular. . 32 Figura.19. Declaración de un módulo en Angular. . 32 Figura.20. Declaración de un módulo con sus dependencias en Angular. . 33 Figura.21. Módulo enlazado en la vista mediante la directiva ng-app. . 33 Figura.22. Ejemplo de declaración del controlador. . 33 Figura.23. Ejemplo de declaración del controlador con dependencias. . 34 Figura.24. Ejemplo de controlador enlazado a la vista. . 34 Figura.25. Ejemplo de uso de Factory y Service. . 35 9

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile Figura.26. Ejemplo de uso de Routing. . 36 Figura.27. Logo AngularJS. . 38 Figura.28. Gráfico resumen de áreas en evaluación para AngularJS. . 39 Figura.29. Logo BackboneJS. 40 Figura.30. Gráfico resumen de áreas en evaluación para BackboneJS. . 41 Figura.31. Logo ember. . 42 Figura.32. Gráfico resumen de áreas en evaluación para Ember. . 43 Figura.33. Comparación entre el funcionamiento de NoSQL y RDBMS. . 54 Figura.34. Sintaxis JSON. . 55 Figura.35. Ejemplo Objeto en JSON. . 56 Figura.36. Ejemplo Arreglo en JSON. . 56 Figura.37. Ejemplo JSON. . 57 Figura.38. Ejemplo Path en JSON. . 57 Figura.39. Ilustración de la interacción de los elementos de MEAN.js. . 59 Figura.40. Clonación del repositorio de MEAN.js. . 60 Figura.41. Estructura del prototipo. . 60 Figura.42. Archivo package.json incluido en el paquete de MEAN.js. . 62 Figura.43. Comando “npm install” genera la instalación de las dependencias. . 62 Figura.44. Comando “npm start” inicia la aplicación. . 63 Figura.45. Fichero app.js. . 64 Figura.46. Fichero Comments.js. . 65 Figura.47. Fichero Images.js. . 66 Figura.48. Fichero Posts.js. . 67 Figura.49. Fichero Users.js. . 68 Figura.50. Extracto del fichero index.ejs. . 70 Figura.51. Home de la aplicación sin usuario logeado. . 71 Figura.52. Home de la aplicación con usuario logeado. . 72 10

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile Figura.53. Segundo Post con comentario agregado sin usuario logeado. . 73 Figura.54. Segundo Post con comentario agregado con usuario logeado. . 74 Figura.55. Pantalla de log in. 75 Figura.56. Pantalla de formulario de registro. . 76 Figura.57. Fichero index.js (parte 1). . 83 Figura.58. Fichero index.js (parte 2). . 84 Figura.59. Fichero index.js (parte 3). . 85 Figura.60. Fichero index.js (parte 4). . 86 Figura.61. Fichero index.js (parte 5). . 87 Figura.62. Fichero index.js (parte 6). . 88 Figura.63. Fichero angularApp.js (parte 1). . 89 Figura.64. Fichero angularApp.js (parte 2). . 90 Figura.65. Fichero angularApp.js (parte 3). . 91 Figura.66. Fichero angularApp.js (parte 4). . 92 Figura.67. Fichero index.ejs (parte 1). 93 Figura.68. Fichero index.ejs (parte 2). 94 Figura.69. Fichero index.ejs (parte 3). 95 Figura.70. Fichero index.ejs (parte 4). 96 11

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile 1. Introducción 1.1. Introducción General Este proyecto tiene como propósito obtener el título profesional de ingeniero civil en informática, demostrando que el autor tiene las aptitudes y conocimientos necesarios para optar a dicho título a través de la investigación llamada “ESTUDIO DEL FRAMEWORK ANGULARJS Y SU USO EN EL DESARROLLO WEB”, la cual consiste aprender el funcionamiento y las ventajas de uno de los framework más usados del mercado para luego compararla con diferentes herramientas de desarrollo de este tipo de tecnología en plataforma web para posteriormente implementar un prototipo. AngularJS es un framework tipo cliente MVC, el proyecto fue puesto en marcha en 2009 y es patrocinado por Google desde entonces, en esencia esta tecnología entrega al desarrollador muchas herramientas que facilitan y disminuyen la codificación de las aplicaciones web. La investigación se centra en describir las características de las herramientas de desarrollo con AngularJS que existen actualmente, además de indicar los requerimientos técnicos necesarios para utilizar las herramientas estudiadas. Para realizar la comparación entre las herramientas se seleccionan distintos parámetros que fueron escogidos durante el proceso de investigación y se justifica el “¿por qué?” se eligió esa medida. Al final de la investigación se presentan las conclusiones extraídas del estudio y se sugiere al lector qué herramienta utilizar en las diferentes situaciones que se puedan presentar al momento de implementación de una aplicación con AngularJS. Finalmente, se desarrolla un prototipo con AngularJS, de manera de proporcionar una guía de desarrollo para los futuros programadores. El prototipo es una aplicación web que permite a los alumnos inscribirse en los talleres extra programáticos de la carrera (Robótica y Videojuegos) y posteriormente ver noticias y programaciones de estos. Esta memoria consta de siete capítulos, en el primero se especifican los objetivos de este informe, además de mencionar la metodología usada en el estudio comparativo y por último definir las limitaciones del éste. El segundo capítulo consta con el marco teórico de la tecnología y una explicación de cómo funciona cada atributo de ésta para una mejor compresión del lector. 12

Universidad del Bío-Bío. Sistema de Bibliotecas - Chile El tercer capítulo corresponde al estudio comparativo entre AngularJS y otros dos framework de características similares. En el capítulo cuatro se muestran los resultados del caso práctico desarrollado con AngularJS. El capítulo cinco habla de las conclusiones del estudio. El capítulo seis presenta una serie de recomendaciones a la hora de elegir una herramienta de este tipo para desarrollar una aplicación web. Y por último el capítulo siete se encuentra la bibliografía usada para llevar a cabo el estudio comparativo e implementación del prototipo. 1.2. Especificaciones del estudio. Primero se investigan todas las funcionalidades de Angular

El estudio determinó que AngularJS es la más completa en comparación a BackboneJS y Ember, debido a que presenta más y/o mejores funcionalidades con respecto a las otras herramientas. Además, el estudio permitió observar todas las principales características que brinda AngularJS al mundo de las aplicaciones web. Universidad del Bío-Bío.

Related Documents:

AngularJS uses dependency injection and make use of separation of concerns. AngularJS provides reusable components. AngularJS viii With AngularJS, the developers can achieve more functionality with short code. In AngularJS, views are pure html pages, and controllers written in JavaScript do the business processing. On the top of everything, AngularJS applications can run on all major browsers .

AngularJS Tutorial W3SCHOOLS.com AngularJS extends HTML with new attributes. AngularJS is perfect for Single Page Applications (SPAs). AngularJS is easy to learn. This Tutorial This tutorial is specially designed to help you learn AngularJS as quickly and efficiently as possible. First, you will learn the basics of AngularJS: directives, expressions, filters, modules, and controllers. Then you .

Beginning AngularJS Beginning AngularJS is your step-by-step guide to learning the powerful AngularJS JavaScript framework. AngularJS is one of the most respected and innovative frameworks for building properly structured, easy-to-develop web applications. This book will teach you the absolute essentials, from downloading and installing AngularJS, to using modules, controllers, expressions .

AngularJS provides data binding capability to HTML thus giving user a rich and responsive experience AngularJS code is unit testable. AngularJS uses dependency injection and make use of separation of concerns. AngularJS provides reusable components. With AngularJS,

Sugerencias Para el Estudio en Grupo, 3 Introducción, 5 Objetivos del Curso, 6 PARTE UNO: EL ASUNTO DEL ESTUDIO 1. Introduciendo La Biblia, 7 2. Los Libros De La Biblia, 19 . Estudio Devocional de la Biblia, 90 11. Estudio de Libros, 99 12. Estudio de Capítulos, 106 13. Estudio de Párrafos, 114 14. Estudio de Versículos, 123 15. Estudio .

AngularJS is a JavaScript framework. It is a library written in JavaScript. AngularJS is distributed as a JavaScript file, and can be added to a web page with a script tag: [3] AngularJS extends HTML with ng-directives. The ng-app directive defines that this is an AngularJS application.

AngularJS Tutorial, AngularJS Example pdf, AngularJS, AngularJS Example, angular ajax example, angular filter example, angular controller Created Date 11/29/2015 3:37:05 AM

Illustration by: Steven Birch, Mary Peteranna Date of Fieldwork: 9-18 February 2015 Date of Report: 17th March 2015 Enquiries to: AOC Archaeology Group Shore Street Cromarty Ross-shire IV11 8XL Mob. 07972 259 255 E-mail inverness@aocarchaeology.com This document has been prepared in accordance with AOC standard operating procedures. Author: Mary Peteranna Date: 24/03/2015 Approved by: Martin .