¿Qué es Angular y por qué elegirlo?

Angular, un framework poderoso para el desarrollo de aplicaciones SPA mantenido por Google y su comunidad.

Torres, Ricardo
2020-12-01 | 1,963 lecturas
angular

Angular es un Framework gratuito y de código abierto pensando para aplicaciones SPA (de una sola página), se encuentra en su versión 9 y es actualizado por el gigante de Google y la comunidad de sus desarrolladores.

Como bien mencionamos, Angular nos permite crear aplicaciones SPA, lo cual quiere decir que nuestra aplicación cargará los datos sin interrumpir nuestra navegación con la aplicación. En una aplicación tradicional, cuando interectuamos con un formulario se suelen hacer PostBacks (viajes al servidor para procesar la información).

Es común que cuando te sientas a aprender un lenguaje lo primero que consideras es ¿cuánto tiempo me tomará aprender y hacerlo rentable?.

Si bien es cierto que Angular aumenta una mayor curva de aprendizaje sin lo comparamos con Vue por ejemplo, este ha trabajado bastante para que reducir dicha curva. Asimismo, tenemos a una gran comunidad dispuesta a solventar nuestras dudas.

¿Por qué Angular?

Angular en su primera versión era una librería prometedora pero con ciertas limitantes. Las nuevas versiones incorpora muchas buenas prácticas de desarrollo de software haciéndolo un framework más robusto que va madurando con cada versión.

Cuando comienzas a trabajar con Angular, sientes que ya tienes todo lo necesario para realizar un proyecto sin tener que hacer tanto uso de terceros. Asimismo, personas que vengan de Java o C# se encontrará mas familiarizados debido a que angular respira TypeScript.

Lo mejor de todo es que tiene un estructura, marco de trabajo a seguir a diferencias de otros frameworks. Lo cual facilita que otros desarrolladores se puedan acoplar fácilmente.

Características

CLI Integrado

Permite que podamos escribir comandos para crear scaffolding, asi como crear módulos, componentes, servicios, clases, etc, de igual forma crear versiones para publicar en ambiente de desarrollo, pruebas, producción y aplicar pruebas unitarias.

Estructura MVC

Este patrón de arquitectura muy utilizado en otras tecnologías como .net o php, que se enfoca en separar las responsabilidades, de acuerdo a los roles, en el caso del Modelo, es la representación de las entidades de tu proyecto y el reflejo de la estructura de la base de datos, el Controlador, actúa como mediador entre el Modelo y la Vista para controlar las solicitudes y las respuestas a la Vista, quien finalmente es la encargada de mostrar los datos al usuario final.

angular

Data binding

Puedes fácilmente trasladar datos desde tu código Typescript hasta la vista, por medio de algo conocido como la Manipulación del DOM, lo cual antes solo se lograba con JavaScript puro o con librerías como Jquery.

Inyección de Dependencias

A través de Angular podemos hacer uso de la inyección de dependencia para tener nuestros diferentes funcionalidades como podría ser un servicio que haga consultas a nuestra API, tenerlo disponible para usarlo en cualquier parte de nuestro proyecto solo con especificarlo en nuestro constructor. De esta manera creamos un sistema más modular.

Veamos la siguiente figura en la cual se inyectan diversos servicios a nuestro componente.

angular

Componentes

Los componentes son una característica muy poderosa en Angular que nos permite desarrollar porciones de código Html con código TypeScrtipt para que tengan una funcionalidad especifica. Por ejemplo, para listas datos, mostrar el detalle de un item, presentar una ventana emergente o llenar una cuadricula.´

angular
Directivas

Las directivas nos permiten extender la cantidad de atributos que no son parte de HTML, y que al colocarlos a los elementos HTML, estamos definiendo un comportamiento o una apariencia especial, y esto no es todo, Angular nos permite crear nuestras propias plantillas que harán nuestras aplicaciones mas extensibles. Existen 2 tipos de directivas, las estructurales y las de apariencia.

La Comunidad

Angular cuenta con una comunidad que provee apoyo en el aprendizaje y creación de componentes reutilizables que los encuentrasn en lugares como GitHub. Asimismo, puedes encontrar ejemplos en vivo en plataformas como stackblitz o codepen.

Si necesitas resolver bugs es muy posible que en Stack Overflow ya ha sido resuelto previamente antes de realizar la pregunta.

KODOTI

De nuestra parte vamos a comenzar una serie de artículos muy interesantes a través de Anexsoft sobre Angular y TypeScript. Asimismo, estamos preparando cursos profesionales orientados a proyectos reales para que puedas agilizar tu etapa de aprendizaje.