AngularJS y Angular principales diferencias
Las principales diferencias entre AngularJS y Angular es que AngularJS es un framework para el desarrollo web creado por Google basado en Javascript, y Angular, el cual se encuentra basado en Typescript y que inicialmente se llamó Angular 2, se vio en un principio como la siguiente versión de AngularJS, pero debido al cambio que hay entre estas dos versiones y a que no son retrocompatibles, se consideran dos frameworks diferentes.
AngularJS se mantiene para el versionamiento de Angular 1.x y en las versiones superiores se mantiene solo el nombre de Angular.
Tras esta breve explicación de los nombres (espero que no los haya confundido más) pasamos a ver un poco más en profundidad lo que es Angular.
Como mencioné anteriormente, uno de los mayores cambios que podemos ver en Angular es que utiliza TypeScript, un superconjunto de Javascript, lo que nos posibilita el tipado estático. Esto nos facilita mucho las cosas debido a que brinda la capacidad de usar enumerators, modules, namespaces, decorators, sin mencionar un sistema de import, que en Angular, vamos a utilizar frecuentemente.
Hablemos un poco de cómo está construido Angular en su core
Angular está construido para que podamos crear nuestras aplicaciones como Single Page Application.
“Single Page Application es una aplicación web de una sola página, es decir, la interacción de la aplicación es en una página. En una SPA el HTML, JavaScript, CSS se carga una sola vez, ¡Increíble!”
Usuario en Medium Programación JJE
Ahora, una vez empezamos a trabajar en Angular, nosotros ya tenemos acceso a un módulo principal llamado core con el cual podremos ejecutar nuestra primera y simple aplicación con sus componentes. Aquí quiero aclarar que con Angular se trabaja todo bajo componentes. Un componente puede ser una sección o un header, lo que sea que queramos mostrar, puede ser tan pequeño o grande como queramos pero, por lo general, suelen ser partes del front que no solo se muestran en un único lugar, pero para poder utilizar estos componentes, estos deben hacer parte de un módulo.
Entonces, tenemos una aplicación que consta de módulos. A su vez cada módulo contiene componentes que podremos utilizar.
Pero no solo vamos a utilizar módulos y componentes, también usaremos:
- Templates html con etiquetas Angular.
- Componentes de clase que gestionan los templates.
- Servicios que encapsulan la lógica de la aplicación.
- Y los módulos, como había dicho, que organizan los componentes pero también los servicios.
Aquí abajo podremos ver una imagen con la arquitectura de una aplicación Angular:
La imagen fue tomada de este enlace.
Una herramienta clave para trabajar con Angular sería su CLI (command line interface), que permite la creación de aplicaciones, facilitándonos una estructura base con archivos necesarios para el esqueleto del código y permitiéndonos originarlos en una estructura de directorios estandarizada con líneas de comando.
Como hemos podido ver, Angular es un framework que nos facilita la creación de aplicaciones web que pueden ser fácilmente escalables. Utilizándola de forma eficiente y conociendo su funcionamiento, podremos crear aplicaciones impresionantes.
Hay un montón de asuntos que aún estoy dejando por fuera y que no nombre aquí. Eso destaca lo grande que este framework… eso lo veremos en un futuro.