Angular es un framework de JavaScript utilizado para desarrollar aplicaciones de pagina unica o single-page applications (SPA). Normalmente estas aplicaciones usan el entorno de JS para dar una experiencia mas fluida al estilo de una aplicación de escritorio.
Las ventajas de las SPAs son muchas, pueden hacer manejo del estado completamente del lado del cliente, y depender minimamente del servidor lo cual resulta en una experiencia muy similiar a lo que esperaríamos en una aplicación nativa.
Algunos ejemplos de Single Page Applications populares son: Youtube, Facebook, Github, Gmail, Netflix, entre muchos otros sitios que probablemente visitas a diario.
Sobre Angular
Este framework permite desarrollar este tipo de aplicaciones agregando capas de abstracción al lenguaje para poder proporcionarnos herramientas listas para su uso
Adicionalmente Angular se vale de TypeScript, un superset de JavaScript, esto quiere decir una capa encima de JS con más metodos y funcionalidades que obliga a seguir ciertas practicas de desarrollo mas estrictas y robustas. Basicamente es un JavaScript en esteroides :D
A diferencia de JS TypeScript es tipado (de allí su nombre), lo que significa que hay que establecer el tipo de las variables.
En ultima instancia TypeScript es transpilado a JavaScript, y es utilizado mayormente, al igual que este framework, para proyectos grandes.
Angular es mantenido por Google y cuenta con un gran ecosistema de herramientas que permiten el desarrollo de aplicaciones robustas sin depender mucho (o nada) de librerias de terceros. También cuenta con una exclente documentación y muchisimos recursos para apoyarse.
En el siguiente post veremos el AngularCLI y como crear una app inicial en Angular. Y probablemente en uno posterior entre en más detalle sobre TypeScript y sus caracteristicas. Angular on!