Los programadores solemos afirmar que no tenemos tiempo para preocuparnos por frivolidades como por ejemplo el mundo de la moda. Nos da igual si se llevan los pantalones flojos o ajustados; si la tonalidad de esta temporada es el color marsala; si antes era de nerd abrocharse hasta el último botón de la camisa y ahora es cool… Pasamos de tendencias... ¡O eso decimos! ;-)
Por mucho que nos pese, la programación no es una profesión carente de tendencias y modas. Aunque a nuestro favor hay que decir que en por regla general los cambios no suelen ser caprichosos, sino que responden a mejoras racionales que se traducen en mayor eficiencia, mejor usabilidad, etc.
A continuación veremos los cuatro must que todo programador debería seguir esta temporada, así como lo que debería guardar en el fondo del cajón:
Número Uno
In: SPA Web
Out: Páginas Web
¿Te acuerdas cuando escribías una URL y te llevaba a una página web llena de texto e imágenes estáticas? (Alguna perdida aún queda por ahí) Por aquél entonces un sitio web estaba compuesto por un conjunto de páginas HTML individuales guardadas en disco.
Actualmente las páginas web se pueden considerar en muchos casos una aplicación, que cuando necesita mostrar información “tira” de una base de datos. La capa de los datos está totalmente separada de la capa de presentación y del formato de la web. Y en lugar de mostrar una dirección diferente por cada página recargándose el navegador constantemente, se muestra solo la página inicial, que va mostrando a información a medida que se necesita.
¿Qué es SPA?. En este vídeo te lo contamos con detalle.
Número Dos
In: JavaScript MV* frameworks
Out: Ficheros JavaScript sueltos
Hace unos años el JavaScript de las aplicaciones Web de lado cliente se escribía desde cero. Como mucho se usaba jQuery o alguna biblioteca similar, ya que al fin y al cabo se utilizaba sobre todo para hacer validaciones, dotar a la interfaz de algún efecto llamativo, y cosas por el estilo.
En la actualidad, y en gran parte debido a las aplicaciones SPA de las que hablábamos en el punto anterior, las necesidades son mucho más complejas. Por ello casi nadie se plantea crear aplicaciones Front-End con JavaScript "a pelo". Los últimos años han visto la adopción masiva de bibliotecas especializadas de tipo MV*.
Éstas se llaman así por el nombre de los patrones de arquitectura que utilizan: Modelo, Vista, *, pudiendo ser el * varias cosas, pero siendo lo más común MVC: Modelo, Vista, controlador.
Existen decenas de bibliotecas MV*, casi todas gratuitas y de código abierto: AngularJS, Ember, Backbone, Durandal, Aurelia, Knockout...
Cada framework nos proporciona más o menos funcionalidad ya hecha, pero casi todos se encargan de generar la interfaz a través de plantillas, realizar enlazado entre la UI y los datos, reutilizar componentes, hacer routing de peticiones...
No utilizarlos es casi un pecado...
Número Tres
In: SVG + Canvas
Out: Flash
Amado por unos, odiado por la mayoría de los programadores, Flash ha permitido a muchos de ellos durante demasiados años (para algunos una eternidad) expresar su vena más artística.
Ahora que JavaScript tiene la capacidad de hacer más o menos lo mismo, los fabricantes de navegadores y los desarrolladores Front-End están encantados de poder decirle adiós a Flash.
Ahora es posible tener una integración estupenda entre el DOM y formatos vectoriales como SVG (Scalable Vector Graphics). HTML y SVG tienen un montón de etiquetas que aprender y dominar, pero aún así son mucho más fáciles de usar para un desarrollador web.
Por otro lado el elemento canvas de HTML5 es súper-potente y nos permite no solo crear animaciones, sino manipular pixel a pixel las imágenes, procesar vídeos y otras muchas acciones avanzadas.
Flash está muerto y enterrado. Adopta SVG y Canvas cuanto antes.
Número Cuatro
In: Node.js
Out: JavaEE, Ruby on Rails, PHP
En el modelo tradicional de programación de servidor, los diversos lenguajes dejan en manos del sistema operativo la gestión de los distintos hilos de ejecución. Cada petición crea un subproceso y el sistema operativo se encarga de balanzarlos, priorizarlos y devolverlos al "pool" para atender nuevas peticiones.
Pero entonces llegó Node.js junto con el tradicional modelo callback de JavaScript. El planteamiento parecía una locura: utilizar un único hilo de ejecución para atender todas las peticiones, pero hacer que todo el código fuera asíncrono para que no hubiese bloqueos. Y encima a partir de un lenguaje que ha sido menospreciado por algunos programadores durante muchos años.
Y, ¡sorpresa!, el código se ejecutó todavía más rápido, más rápido de lo que nadie esperaba. Y las aplicaciones con Node.js y este modelo de trabajo escalaban muchísimo, atendiendo a miles y miles de usuarios sin problema.
Además Node.js crea una simbiosis entre el navegador y el servidor: los programadores pueden aprovechar el mismo código para ambas partes sin necesidad de duplicidades.
Esta combinación de virtudes ha hecho que Node.js se haya convertido en muy poco tiempo en el framework de moda, el que los chicos más "guays" del barrio utilizan para desarrollar. Más allá de su factor "cool" es un entorno estable, escalable y productivo. Y más desde que el peligro de una posible escisión se ha disipado.
Tiene un futuro brillante. Y tu puedes formar parte de él.
---
En fin...como siempre ocurre cuando se habla de moda, en la variedad está el gusto. Seguro que habrá puntos con los que no estés de acuerdo, o bien pensarás que nos hemos dejado algunas tendencias importantísimas en el tintero. ¡No te quedes con las ganas de decir lo que piensas!, pero piénsalo bien antes de decirlo en los comentarios de más abajo ;-)