y objetos basados en clases. Extiende la sintaxis de JavaScript. Angular no obliga a utilizar TypeScript sin embargo lo recomienda fuertemente. Ayuda a que la documentación y la estructura del código sea más estandarizada.
ofrece muchas opiniones sobre como hacer las cosas. Esto evita que el desarrollador invertir tiempo en la toma de decisiones sobre como organizar su aplicación, que librerías básicas necesita para empezar, cuál debe ser la arquitectura, etc.
desde aplicaciones de escritorio con Electron hasta aplicaciones móviles, utilizando estrategias de Cordova, Ionic o NativeScript. También permite la creación de de aplicaciones web progresivas (PWAs), cuyo objetivo es semejar la experiencia de usuario de una aplicación nativa.
una aplicación Angular. Se definen por medio del decorador @Component. Una aplicación Angular se conforma por un conjunto de componentes. Un componente siempre va a tener una plantilla.
en base a las instrucciones de las directivas. Las directivas se utilizan para transformar el DOM. Existen tres tipos de directivas: estructurales, atributos y componentes.
por Angular. Angular crea el componente, lo procesa, crea y procesa sus componentes hijos, comprueba cuando cambian sus propiedades enlazadas a los datos y lo destruye antes de eliminarlo del DOM. Angular ofrece ganchos para el ciclo de vida que proporcionan visibilidad de estos momentos clave de la vida y la capacidad de actuar cuando se producen.
inyectadas en los componentes. La responsabilidad de acceso a los datos se le delega a los servicios, de manera que los componentes no sepan nada de cómo se realiza. Además de esto, permiten compartir datos entre componentes que no están relacionados entre sí de ninguna manera.
dependencias esta cableada por todo Angular y permite proveer a los componentes de los servicios que necesiten. Los componentes consumen servicios, de manera que los servicios se pueden inyectar en los componentes para darles acceso a estos. Por cada dependencia se debe registrar un proveedor. Los proveedores se declaran en el módulo.
contener componentes, servicios, directivas, y cualquier pieza de código relacionada con un mismo conjunto de capacidades. La cantidad de módulos que se utilicen depende de cada aplicación pero puede utilizarse una estrategia tan granular como sea necesario.
de programación asíncrona que abarca los flujos de datos la propagación de los cambios. RxJS es una librería de JavaScript que utiliza observables que facilita el manejo del llamados asíncronos y el código basado en call-backs.
el manejo de múltiples valores y eventos de manera síncrona o asíncrona. Define una función para publicar valores que pueden ser mensajes, literales o eventos. En otras palabras, es posible suscribirse a un observable y cuando los valores están listos, este va a emitirlos a un subscriptor.
declarativos y no comienzan su ejecución hasta que exista una subscripción. Las promesas se ejecutan directamente cuando son creadas. • Los observables pueden devolver muchos valores, las promesas solamente uno. • Los observables se pueden cancelar por medio de cancelar la subscripción mientras que una promesa eventualmente llamará al callback de éxito o rechazo.
ya que permiten manejar la información del usuario para gran cantidad de tareas como autenticación, actualizar el perfil personal, crear nueva información, etcétera. Existen dos tipos de formularios: • Formularios manejados por plantilla. (Template-driven). • Formularios reactivos. (Reactive Forms).
formulario de contacto o de subscrición. • Más fáciles de implementar. • Los enlaces de datos y directivas ocurren “por debajo”. • Difíciles de probar por medio de unit testing.
a otra por medio de una ruta. Es un servicio opcional que puede inyectarse en el módulo principal para configurar rutas para los distintos componentes de la aplicación. Permite añadir seguridad a nuestra aplicación por medio de rutas restringidas utilizando guards.
de manera sencilla. Es una herramienta de línea de comandos que permite generar, probar y desplegar aplicaciones Angular. Es desarrollada por el mismo equipo de desarrollo de Angular.
de rendimiento por medio de la optimización de pollyfils.ts • Drag and Drop en Angular Material • Lanzamiento de Stackblitz 2.0 • Versión estable de @angular/fire
de Angular. Permitirá que una aplicación “hola mundo” pese 3.2kb. • Contará con mejores técnicas de Tree Shaking. • Mejoras en la compilación de las plantillas. • Mejoras en el uso de la memoria.
El código generado es más fácil de debuggear. • Compila un archivo a la vez. • Remueve el archivo de metadata. • Los templates serán parte del stack trace.