Empezando a trabajar en Angular

Parece que ha pasado mucho tiempo desde que allá por el 2009 un tal Miško Hevery presentara un producto alternativo a jQuery y que nos permitía simplificar nuestros desarrollos… , y si, ha pasado mucho tiempo y muchas versiones, ya que ese producto empezó a ser realmente útil a partir de 2016, en que se presento la primera version de Angular2, y que pudo empezar a llamarse Angular.

Ahora, y después de terminar de impartir un curso, trabajando con la version 8 de dicho Framework, creo que ha llegado el momento de escribir un poco sobre el tema, y como inicio, quiero comentaros las ventajas e inconvenientes que he encontrado en este producto

Presentación de Angular

Angular es un Framework escrito en Typscript y que permite minimizar el cambio de paginas, de tal forma que podemos conseguir que nuestra aplicación web se asemeja a una antigua aplicación de escritorio, sin tenernos que estar preocupando continuamente por los problemas de la metodología AJAX

En efecto, Angular está pensado para desarrollar aplicaciones SPA (Single Page Application), y, por eso mismo, considero también bastante absurdo utilizar Angular en nuestras paginas de bienvenida.

En angular, el 90% de nuestro HTML estará encerrado en programas javascript, por lo que la mayoría de los programas de indexación no lo verán, y como consecuencia, nuestra valoración web, no es que decaiga, es, simplemente que no existirá.

Tras esta afirmación, si tu objetivo es hacer webs presencia, te aconsejo que no sigas perdiendo el tiempo leyendo. Aqui no encontraras ningún tema interesante, mientras que, si por el contrario, tu trabajo consiste en desarrollar aplicaciones web, te animo a que sigas, y te adentres mas en esta tecnología, que junto a React, y a Vue te pueden simplificar la vida mucho

Typescript

Otro tema que es necesario sacar a colacion, es que su desarrollo esta hecho en Typscript, y..¿que es typescript?,, Pues bien, Typescript es un lenguaje nuevo, basado en Javascript, pero con mucha mas potencia… esto es con mas comando, y orientado a objetos que hacen mas facil el entender un programa javascript

Tengo que compararlo con javascript, porque realmente Typescript nos aporta muchas cosas nuevas, pero…podríamos escribir nuestras instrucciones javascript sin ningún tipo de problemas..

¿Entonces…?, Entonces nos interesa utilizar typescript, por muchas razones:

  • Añade clase, tipos, interfaces
  • Sabe gestionar clases y funciones abstractas
  • Es capaz de trabajar con genéricos
  • Resuelve los problemas de escalabilidad
  • Soluciona problemas de compatibilidad con navegadores (con la compilación)
  • Tipado fuerte. (Se define el tipo de cada variable, y el transpilador verifica el buen uso)

Y muchas mas, que permiten que vuestro código sea claro, fácil de seguir y de mantener, en desarrollo, mientras que genera código javascript puro, sin comentarios ni espacios,  comprimido en un solo fichero, perfecto para entregar a produccion

La arquitectura Angular

Hace mucho tiempo que se ha intentado racionalizar el desarrollo web, intentando aumentar la reutilización de componentes, y  la arquitectura de Angular ha adoptado esa filosofía

  • Todo el desarrollo, basado en componentes
  • Cada componente, puede ser una Clase, con sus métodos y sus propiedades
  • Los componentes se pueden asociar en módulos
  • los módulos se pueden utilizar en múltiples proyectos
  • Pueden haber estilos asociados a componentes, y que solo existen en ellos
  • Las aplicaciones se componen de módulos
  • Tanto el HTML de un componente, como su CSS se puede independizar en ficheros propios

El patrón MVC o mas bien el MVVM

Si llevais tiempo trabajando en esto, supongo que estareis acostumbrados al patron MVC y las ventajas que conlleva su aplicación.

Si miramos una aplicación Angular, ya podemos pensar que dicho patrón no tiene mucho sentido, ya que toda su responsabilidad transcurre en lo que la aplicación host denomino Vista

Sin embargo, y dada las aspiraciones del framework, debemos plantear nuestro trabajo en cliente como una aplicación que solicita datos a un host (Modelo), y presenta esta información a un cliente (Vista), por lo que necesita «algo» que mantenga unida la vista y el modelo, y sepa llamar a los servicios que se requieran, y eso en host se llama «controlador»

Sin embargo, aquí podemos tener un problema, y es que en nuestras definiciones, afirmamos que la vista y el modelo SOLO están unidos por el controlador, cosa que en este entorno no es del todo cierto, ya que las herramientas de Angular nos permiten interacción directa y biyectiva entre modelo y vista, eso hace que nuestro «controlador» pueda tener necesidades especiales, y es lo que se ha dado en llamar en este entorno ViewModel (la VM final de nuestro MVVM)

Proximo articulo:

Instalación de nodejs, typescript y angular en una maquina de desarrollo

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Angular, Empezando en, Formacion, Javascript, Typescript y etiquetada , . Guarda el enlace permanente.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.