Vamos a hacer una aproximación a las SPA, Angular, su funcionamiento y cómo deberíamos usarlos.
¿Que es una SPA?
Hace tiempo pensábamos que las aplicaciones eran desarrollos independientes. Ajenos al mundo de las páginas web. Para realizar una procedimiento informático estábamos condenados a realizar una instalación y llenar nuestro disco duro de programas.
Eso cada día dista un poco más de la realidad. Ya podemos manejar nuestros movimientos bancarios, convertir un archivo de ofimática en PDF o viceversa y cada día las posibilidades que nos ofrecen las páginas web rompen alguna posibilidad. Como por ejemplo Google que ha dado a conocer recientemente su portal Stadia, donde se podrá jugar a videojuegos de última generación desde su propia web.
Como decimos muchas veces al realizar diferentes procesos en páginas web vamos pasando de una tarjeta a otra, por ejemplo, cuando metemos nuestro nombre de usuario y contraseña, cuando seleccionamos diferentes opciones y entre cada una de ellas una URL y una nueva recarga, lo cual es el punto flaco de las aplicaciones web.
¡Hasta ahora! Para acabar con esos tiempos de carga nacen las ‘Single Pages Aplications’. Son aplicaciones que tienen una sola URL y que se cargan de una sola vez, a partir de ahora vas a saber identificar cuando estás ante una de ellas ya que verás que solo cargan al principio y luego todos tus procedimientos se harán bajo la misma URL. Y está demostrado que eso anima al usuario de la web a permanecer más tiempo en ella ya que no se aburre entre procesos de carga.
¿Qué es Angular?
Si buscas vas a ver la definición de que Angular, es un ‘framework de JavaScript desarrollado por Google’, y sí, es cierto pero, yo me atrevería a decir que es más que eso, es una manera diferente de desarrollar páginas web, vas a montar una aplicación web con componentes aislados y que luego serán montados, la aplicación se cargará en una sola URL y por medio de su router podrás navegar por los componentes de tu portal y aprovechar las funcionalidades de cada uno de ellos.
En Google no suelen dar puntada sin hilo y tienen un tutorial que se llama Tour of Heroes para aprender a usar Angular, está sólo en inglés y puede resultar un tanto difuso. Lo que ellos buscan es crear un estándar, ya que han dado una tecnología que funciona bastante bien y cada seis meses presentan renovaciones de la misma. El pasado 28 de mayo presentaron su versión 8.
Angular se convierte en una opción genial para crear estas aplicaciones a una página en las que podremos complicar todo lo que queramos y ver cómo funcionan de una manera ágil en nuestros navegadores, conectandolas con APIS externas, APIS a nuestro propio servidor y bases de datos y creando entornos complejos de una manera elegante y profesional. Esta manera de proceder ha sido compartida por otros Frameworks con mayor o menor fortuna como VUE JS y por otro lado, se está empezando a utilizar también lo que se llaman Componentes Web Nativos.
¿Cómo funciona Angular?
Al igual que pasaba cuando hablábamos de Laravel, Angular da importancia al MVC (modelo-vista-controlador) y por lo tanto separa en diferentes archivos y en diferentes directorios cada uno de sus componentes. Luego tendremos el concepto del router el cual se encargará de tejer esa tela de araña. También hay que resaltar que la comunicación con servidores se hará utilizando tecnología AJAX y por medio de APIS. El concepto más importante para entender el funcionamiento de Angular es que los componentes serán los que al conjuntarse formen el total del aplicativo. El lenguaje de programación que se usará es TypeScript, framework al uso de JS y que se programa exactamente igual en más de un 90%.
Si te decides por Angular deberías investigar para partir de una base. Realmente configurar un proyecto en Angular desde cero es tedioso y un tanto inútil. Ya que la mayoría de la configuración sirve para muchos proyectos. Para esto Angular sacó ANGULAR-CLI que es como un proyecto base que te instalará la estructura básica de cualquier proyecto. El CLI te configurará un .htaccess que te permitirá compartir tu proyecto en con tus compañeros sin exponer tu seguridad. Además hará mucho mas fácil el camino del desarrollador.
¿Cúando debería usar Angular?
Si tan bueno es Angular, ¿por qué no usarlo en todos los desarrollos? Pues no es tan sencillo, si bien es cierto que Angular representa una ventaja competitiva en ciertos tipos de desarrollo, como en las aplicaciones complejas, puede que para otras pueda suponer un incómodo problema.
Es bueno recordar que crear con Angular es ‘desarrollo a medida’. Por lo tanto más costoso y no es autoeditable, vas a depender siempre de un programador web frente a la creación en CMS para un negocio. Aunque dependas de un profesional para ponerlo en marcha y orientarte. Luego podrás hacer pequeñas personalizaciones del trabajo por tu cuenta, lo cual es algo pensado para hacerlo muy fácil.
Al final, todo depende de ti y tu negocio. Saber identificar lo que te hace falta te puede ayudar a no vagar de forma errática entre CMS y desarrollos a medidas que nunca te dejarán contento. En Synergy contamos con un equipo de profesionales que te ayudarán a poner al descubierto cuales son las necesidades que tienes. Estamos para orientarte en tu camino al éxito.