Tecnologías que hay que conocer para desarrollar sitios webs modernos

Nunca pierdo la oportunidad de comentar lo difícil que se ha vuelto el diseño, desarrollo y mantenimiento de sitios webs. Disciplinas tan dispares que van desde la experiencia del usuario, hasta el desempeño técnico de un sitio web deben ser conocidos y aplicados por los responsables de un sitio web. En muchos casos no existe la posibilidad de contar con un equipo que reúna todas esas facetas, así que implica que el responsable o los pocos responsables, comprendan y estén al día de multitud de aspectos relacionados con la profesión.

El desarrollo web es una profesión vocacional

La frenética evolución de la tecnología implica una constante actualización de las competencias, que sin duda, transciende de una jornada laboral. Cualquiera que se toma en serio una profesión relacionada con la programación y el diseño, sabe que hay escasas líneas definidas entre su trabajo y su pasión. Y esto es una cuestión importantísima porque, si bien pasa en otras profesiones, en lo relacionado con la programación y el desarrollo puede llegar a ser obsesivo. Así que es impensable que un buen profesional no tenga hambre de conocimientos, porque el propio entorno de su trabajo le fuerza a adaptarse a una velocidad que sin una fuerte vocación le haría desistir

Por tanto teniendo en cuenta los retos afrontados ¿hacia dónde se encaminarán las competencias en desarrollo web los próximos años? Opino que no hay mejor forma de verlo que comparando la progresión y los cambios que se han producido y se siguen produciendo en la informática personal y profesional. Por eso me voy a aventurar con un listado de tecnologías y competencias que son necesarias para los profesionales del desarrollo web.

Github lo cambia casi todo

El control de versiones es el paradigma de la nueva forma de trabajar y en este campo el rey indiscutible es Git. La capacidad de desarrollar, modificar y experimentar con el código gracias a Git ha permitido que un servicio como Github sea ahora mismo el eje de miles de proyectos. Es en Github donde se propicia lo mejor que ofrece internet: la capacidad de compartir código y conocimientos, agrupando esfuerzos y organizando una comunidad de desarrollo. Github es un paradigma incontestable de como se trabaja y se trabajará en el futuro. Colaboración, escasa jerarquía, distribución y comunicación centralizada.

En definitiva Git es una herramienta a conocer y Github un entorno de colaboración con un lenguaje y técnica propia acorde a la nueva forma de trabajar en internet. Y todo desde una perspectiva de código abierto.

La web es móvil y lo será más

El acceso a la información a través de los dispositivos móviles sigue creciendo y se afianzan las tecnologías utilizadas para el desarrollo. Posiblemente esté pasando el efecto moda con respecto a las aplicaciones móviles y se esté orientado más hacia una web accesible desde cualquier dispositivo, sin importar sus características. Con todo siguen siendo muy válidos los conceptos de “Responsive Design” y “Mobile First”, con unas técnicas cada vez más estandarizadas para poder desarrollarlas.

Asimismo el acceso desde móviles obliga a unas webs cada vez más sencillas, ligeras, intuitivas y centradas en la experiencia del usuario.

Tomamos el control del servidor con la virtualización

Tradicionalmente el desarrollo web se ha centrado más en la parte cliente que en la parte servidor, donde se asumían los servicios como una “caja negra”. El servidor estaba ahí, ofreciendo servicios una instalado y exigía escasas modificaciones. Entre otras cosas porque no tenías control sobre la configuración y el rendimiento.

Gracias a la virtualización y al descenso en los precios de servicios como los servidores privados virtuales (VPS), el mundo del desarrollo web está esforzándose en obtener rendimientos superiores en el lado servidor. El objetivo es conseguir mejoras del desempeño, facilidad de mantenimiento y una colaboración más estrecha entre desarrolladores.

Surgen herramientas que permiten trabajar con entornos de servidor desde un equipo local y poder “imitar” las tecnologías disponibles en una máquina de desarrollo. Se están popularizando mucho los servicios de VPS como Digital Ocean, donde es posible “levantar” un servidor para tu aplicación o sitio web en cuestión de minutos. En el lado cliente herramientas como Vagrant, permiten reproducir estos entornos para obtener “copias” en local de servidores en producción.

Frameworks más maduros

El desarrollo web sigue imparable y nuevas herramientas surgen, pero también se renuevan las conocidas. Tal es el caso de frameworks que están revolucionando el trabajo en la web y que cuentan con una solidez formidable. Proyectos como Laravel en PHP, Rails con Ruby y por supuesto el mundo JavaScript están revolucionando la forma de trabajar los sitios web. Hay mucha vida más allá de WordPress en el mundo del desarrollo web y merece la pena ir descubriéndola. De hecho existen proyectos con WordPress que intentan aprovechar los conceptos de estas tecnologías. Mi favorito sin duda: Trellis. Absolutamente recomendable.

Gestores de tareas y preprocesadores

La complejidad de la web sólo es posible “domesticarla” con herramientas que te permitan hacer más en menos tiempo. Y en este aspecto las herramientas que más han mejorado el día a día de los desarrolladores web son los gestores de tareas. Con ellas podemos automatizar y programar un sinfín de tareas como procesar, minificar, compactar y verificar código, optimizar recursos y mejorar el flujo de trabajo de un sitio web. Ahora mismo las más conocidas son Grunt y Gulp.

Otra de las herramientas que más se utilizan y que es necesario conocer son los preprocesadores para CSS. Estas herramientas permiten dotar de lógica a las hojas de estilo, ofreciendo la capacidad de utilizar variables y fórmulas en nuestro estilo. Con los gestores de tareas mencionados, es relativamente fácil poder “procesar” tu código CSS para obtener una hoja de estilo ordenada y estructurada.

Conclusión

Concluyo para no extender demasiado esta entrada indicando el fabuloso reto que consiste ser desarrollador web. Creo que no hay disciplina con más demanda de energía y conocimientos ahora mismo. Y precisamente por este motivo es importante ir adaptándose y afianzar tus competencias en función de las mismas.