Cuando empecé en el 2011 a trabajar en el desarrollo Front End, mi primer trabajo fue maquetar una newsletter para una empresa de mailing. En aquel entonces, no tenía muchos conocimientos de maquetación. Sin embargo, pronto conocí lo que conlleva y entendí porqué algunos desarrolladores de Back End no querían ni ver el html o el css. En concreto, la maquetación de email es un trabajo muy meticuloso, pero a mi me relajaba.
Un programador Front End es aquel que trabaja del lado el cliente, es decir, en el navegador. Principalmente, se ocupa de la parte visible de la web o aplicación. Por su parte, el desarrollador Back End trabaja del lado del servidor. El segundo es el que hace la parte menos visible y que permite que se sostenga el trabajo de Front End.
El boom de los CMS
Lo siguiente que cayó en mis manos fue el mantenimiento de una web hecha en Joomla. Joomla 1.4 para ser exactos. Esto nos sitúa en el boom de los CMS o gestores de contenidos. Por esta época, se empezó a popularizar el uso de estas plataformas, especialmente WordPress, que permiten crear contenido online sin tener nociones técnicas.
Por mi parte, veía que se me empezaba a dar bien el tema de la maquetación por lo que decidí estudiar algo más en profundidad html, css y Javascript. Estos son los básicos para el desarrollo Front End. Una vez aprendido, conocí una librería que iba a empezar a cambiar el modelo de la construcción de las páginas web, y era jQuery. Esta librería permite simplificar la manera de interactuar con el html, manipular el árbol DOM y agregar interacción a las páginas.
El siguiente paso fue trabajar con WordPress, el más popular de los CMS. Esto me llevó a aprender algunos conocimientos básicos de PHP, que es el lenguaje de programación en el que está construido WordPress. Y así fue como un día me vi haciendo una web desde cero, con PHP, Javascript, Jquery, html y css.
Smartphones, desarrollo Front End responsive y aplicaciones
La popularización de los SmartPhones hizo que apareciera un a nueva versión de html y css, llamados HTML5 y CSS3. Estos introdujeron elementos como las MediaQueries, una técnica que permite adaptar la representación del contenido a las características de tu pantalla. Esto permitía crear y adaptar un css a diferentes dispositivos. Al principio, era un trabajo casi tan meticuloso como el de mis primeras maquetaciones, pero la aparición de frameworks como Bootstrap o Foundation cambiaron las reglas del juego, ya que agruparon nuevas herramientas que facilitaban el trabajo.
Entonces empieza lo que yo viví como otro nuevo boom, el boom de los frameworks Javascript. Aparecen librerías para crear aplicaciones para móviles como jQueryMobile, Phonegap o Cordova. Librerías para crear aplicaciones web con el modelo MVC( Modelo, Vista, Controlador) como AngularJS, Ember, BackBone o React. Todas estas librerías permitían mejorar el código y el mantenimiento del mismo. En mi caso, empecé a dedicarle tiempo a Angular JS, ya que descrubrí el framework Ionic que combinaba Cordova, Angular y Boostrap para crear aplicaciones móviles.
¿Se puede hacer desarrollo Back End con Javascript?
Tradicionalmente, para los desarrolladores de Front End había sido difícil construir aplicaciones con mucho peso de Back End. En mi caso, el lenguaje de programación PHP fue una manera fácil de empezar a hacerlo. De hecho, este es un terreno que también ha evolucionado mucho con frameworks como Symfony, tecnología en la que està hecho el CMS Drupal 8.
Más recientemente, la aparición de NodeJs, un entorno Javascript pensado para la capa del servidor, ha introducido una manera fácil para los desarrolladores de Javascript de acceder al mismo y de poder crear una API REST. Una API consigue que los desarrolladores interactúen con los datos de la aplicación de un modo planificado y ordenado. Así, podemos decir que en la actualidad, solo con Javascript, puedes crear una aplicación muy completa. Por ejemplo una MEAN(MongoDb, ExpressJs, Angular).
¿Qué es lo último en desarrollo Front End?
Personalmente, me gustaría experimentar nuevos frameworks JavaScript como vue.js, del que oigo hablar mucho desde hace dos años. También tengo pendiente trabajar con React, librería que parece estar superando a la nueva versión de Angular y con la que algunos compañeros de Jamgo ya están trabajando. O, por ejemplo, aprender a crear Test Unitarios para probar el código en Javascript, con MOCHA.
La verdad que es difícil aprender todas las nuevas tecnologías que están apareciendo pero la mejor manera de estar al día es aplicarla a los nuevos retos que van surgiendo. Os mantendremos al día en el área de proyectos!