Universidad Privada Domingo Savio: Cochabamba, Bolivia

UNIVERSIDAD PRIVADA DOMINGO SAVIO INVESTIGACION FRAMEWORK EMBER.JS Nombres: García Ayllon Miguel Ángel Materia: Diseño

Views 92 Downloads 7 File size 67KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD PRIVADA DOMINGO SAVIO

INVESTIGACION FRAMEWORK EMBER.JS

Nombres: García Ayllon Miguel Ángel Materia: Diseño Web 2 Docente: María Antonieta Vallejos Troncoso

Cochabamba, Bolivia

Introducción Ember.js es un marco web JavaScript de código abierto, basado en el patrón Modelo-vista-modelo de vista (MVVM). Permite a los desarrolladores crear aplicaciones web escalables de una sola página incorporando modismos comunes y mejores prácticas en el marco. Ember se usa en muchos sitios web populares, incluidos Apple Music , Square, Inc. , Discourse , Groupon , LinkedIn , Vine , Live Nation , Nordstrom , Twitch y Chipotle . Aunque se considera principalmente un marco para la web, también es posible crear aplicaciones móviles y de escritorio en Ember. El ejemplo más notable de una aplicación de escritorio Ember es Apple Music, una característica de la aplicación de escritorio iTunes. La marca registrada Ember es propiedad de Tilde Inc.

Filosofía y diseño Desde el principio, Ember se diseñó en torno a varias ideas clave: Centrarse en aplicaciones web ambiciosas Ember se propone dar una solución general al problema de la aplicación del lado del cliente. Esto contrasta con muchos marcos JavaScript que comienzan por proporcionar una solución a la V en MVC (Modelo-Vista-Controlador) e intentan crecer a partir de ahí. Más productivo fuera de la caja Ember es un componente de un conjunto de herramientas que trabajan juntas para proporcionar una pila de desarrollo completa. El objetivo de estas herramientas es hacer que el desarrollador sea productivo de inmediato. Por ejemplo, Ember CLI, proporciona una estructura de aplicación estándar y una tubería de compilación. También tiene una arquitectura conectable y más de 3500 complementos para mejorarlo y ampliarlo. Estabilidad sin estancamiento Esta es la idea de que la compatibilidad con versiones anteriores es importante y puede mantenerse mientras se sigue innovando y evolucionando el marco. Futura previsión de estándares web Ember ha sido uno de los primeros en adoptar y pionero de muchos estándares en torno a JavaScript y la web, incluyendo promesas, componentes web y sintaxis. Yehuda Katz, uno de los cofundadores de Ember, es miembro de TC39, que es el comité responsable de las futuras versiones del lenguaje JavaScript.

Al igual que Ruby on Rails, Ember sigue la Convención sobre configuración (CoC) y el principio de No repetir (DRY). Se ha descrito como un marco altamente obstinado creado para ser muy flexible.

Conceptos básicos Ember consta de cinco conceptos clave: Rutas En Ember, el estado de una aplicación está representado por una URL. Cada URL tiene un objeto de ruta correspondiente que controla lo que es visible para el usuario. Modelos Cada ruta tiene un modelo asociado, que contiene los datos asociados con el estado actual de la aplicación. Si bien uno puede usar jQuery para cargar objetos JSON desde un servidor y usar esos objetos como modelos, la mayoría de las aplicaciones usan una biblioteca de modelos como Ember Data para manejar esto. Plantillas Ember incorpora plantillas que están escritas haciendo uso de Handlebars. El uso de plantillas hace posible la gran cantidad de características en Ember, como componentes, outlets y expresiones. Las plantillas se actualizan automáticamente cuando una data del modelo cambia, gracias al databinding. Gracias a esto, cuando una se produce una actualización en el modelo estos cambios son reflejados automáticamente en las plantillas, sin necesidad de un trabajo extra. Componentes Un componente es una etiqueta HTML personalizada. El comportamiento se implementa usando JavaScript y su apariencia se define usando plantillas HTMLBars. Los componentes "poseen" sus datos. También se pueden anidar y pueden comunicarse con sus componentes principales a través de acciones (eventos). Otras bibliotecas de componentes como Polymer también se pueden usar con Ember. Servicios Los servicios son solo objetos únicos para contener datos de larga duración, como sesiones de usuario. Ember también proporciona inyección de dependencia, enlace de datos bidireccional declarativo, propiedades calculadas y plantillas de actualización automática.

Ember 2.0 Ember 2.0 se lanzó el 13 de agosto de 2015.Los principios rectores para el lanzamiento fueron la simplificación y la estabilidad sin estancamiento. Los cambios más importantes se producen en la capa de vista e incluyen: • Flujo de datos unidireccional por defecto. (Conocido como "datos desactivados, acciones activadas"). • "Simplemente actualízalo" cuando algo cambie. • Ganchos de ciclo de vida estándar para componentes. Otro cambio importante fue la introducción del motor de renderizado Glimmer con el objetivo de mejorar el rendimiento del renderizado. Glimmer adopta una estrategia de diferencia de valor, utilizando un árbol virtual de las áreas dinámicas del modelo de objeto de documento (DOM), similar a React. Se han publicado varios puntos de referencia que ilustran la aceleración del rendimiento. Desde la versión 1.8, las nuevas características identificadas para 2.0 se han enviado cuando están listas en la rama 1.x, manteniendo la compatibilidad con versiones anteriores. Las características que se eliminarán en 2.0 han quedado en desuso. Esto significa que 1.13 contiene prácticamente todos los cambios 2.0, y 2.0 trata principalmente de eliminar las características obsoletas de la base del código. En muchos casos, el código eliminado todavía está disponible en complementos.

Ember-CLI Hay que diferenciar entre Ember y Ember-CLI, son totalmente diferentes, pero no pueden vivir la una sin la otra. Ember-CLI es una utilidad de línea de comandos que viene incluida en la pila software del framework de Ember. Gracias a EmberCLI la filosofía de Ember de apostar por la productividad se dispara. Se utiliza para crear componentes, servicios, inicializadores, instalar addons, para todo lo que nos provee Ember y lo más importante es que nos hace la vida más fácil creando todos los ficheros necesarios.

Con Ember llegó el futuro Con la ayuda del transpilador de JavaScript Babel, Ember permite a los desarrolladores utilizar lo último de los estándares de JavaScript y transpilar (cuando hablamos de compilar nos referimos a transformar el código fuente de un lenguaje a otro que puede ser totalmente diferente, al contrario, transpilar se refiere a transformar un código fuente de un lenguaje a otro que es similar, por ejemplo, entre versiones de JavaScript.) para utilizarlo en los navegadores a día de hoy.

Convención sobre configuración Ember tiene buenas prácticas bien definidas sobre cómo está estructurado. Esto hace que los desarrolladores se centren más en la funcionalidad y características de sus aplicaciones, y menos en reinventar la rueda. En otras palabras, Ember apuesta por la productividad y sus convenciones son el núcleo de esto.

Addons Ember cuenta con un repositorio de plugins, que son desarrollados y proporcionados por la comunidad de Ember. Hay infinidad de addons, para casi cualquier cosa que un desarrollador necesita. Y su fácil instalación utilizando Ember-CLI hace que la instalación y puesta a punto del plugin instalado sea lo más cómodo posible. Por ejemplo, ¿necesitas un módulo para autenticación? sólo tienes que ejecutar el comando “ember install ember-simple-auth”.

Desventajas de Ember.js • Poca información y recursos para aprender y practicar que estén actualizados y de forma gratuita. • Curva de aprendizaje un tanto abrupta ya que es indispensable que respetemos todas las convenciones y el flujo de eventos del framework para aprovechar toda su potencia.

Conclusión Ember está estructurado de tal manera que el desarrollador se pueda centrar más en su proyecto, para esto ember proporciona al desarrollador librerías, plugins, etc. De esta manera se logra que el desarrollador posea una herramienta cómoda y completa. Ember está destinado a ser aplicado en proyectos ambiciosos dado la cantidad de plantillas, funciones y su fluyo de datos unidireccional. Es una herramienta que puede incluso transpilar código lo cual la hace altamente recomendable si aprendes a utilizarla de manera correcta, de lo contrario no aprovecharas al máximo todo el potencial del framework. Cuenta también con la propiedad de “si algo cambia solo actualízalo” lo cual evita tener que realizar cambios posteriores a una actualización pues estos se darán de manera natural y sin la intervención del usuario. Por esta y otras razones Ember.js es un framework bastante utilizado en la actualidad y también bastante recomendado.