La programación web ya no es lo que era

Con tan sólo situarnos diez años atrás, nos encontramos con que la programación web tenía muy pocos protagonistas tecnológicos. Y con esto nos referimos a que quizás con conocer JQuery y muy poco de HTML y CSS podíamos crear diversos sitios o herramientas para la web de aquel momento.

En la actualidad, esa realidad se vio modificada al ingresar al mercado muchas herramientas que buscan “simplificar” el uso de Javascript, CSS o HTML. Sin embargo, con lo primero que nos encontramos es que para desarrollar aplicaciones web requerimos de una capacitación aún mayor y esto se debe a que los usuarios web pretenden realizar muchas actividades que antes no llevaban a cabo. Actualmente, un gran porcentaje (por no decir casi todas) de las operaciones sobre computadoras o smartphones pasan por la web.

La tecnología por sí sola no es la solución, pero aporta herramientas para crearlas. Es responsabilidad de los profesionales determinar cuál se adapta mejora a la problemática planteada.

Las tecnologías web por lo general se basan en Javascript, pero se agrupan en marcos de trabajo (o frameworks) que establecen una forma de trabajo más estructurada para desarrollar sistemas que sean escalables en el tiempo y modificables, ya sea por los mismos programadores que hicieron el desarrollo inicial o por nuevos programadores.

Un ejemplo claro utilizado por las plataformas web más modernas es Angular, un framework mantenido por Google con licencia libre. Utiliza Typescript (que aunque parezca extraño es mantenido por Microsoft) como lenguaje de programación, que básicamente se basa en el poder de Javascript pero agrega “tipos de datos”. Estos últimos son un punto fuerte a la hora de desarrollar sistemas a gran escala puesto que garantizan la correctitud del código y previenen muchos errores en tiempo de ejecución.

Pero no sólo los lenguajes de programación web evolucionaron, también lo hicieron las hojas de estilo (CSS) y el propio lenguaje de marcado (HTML). Esta evolución fue necesaria para desterrar viejas soluciones como lo fueron Flash en su momento, permitiendo el uso de videos, animaciones y otros elementos visuales que mejoran significativamente la experiencia de los usuario en la web.

En el caso de CSS, surgieron abstracciones de más alto nivel como Sass (SCSS) que como ellos mismos lo definen, es un “CSS con superpoderes”. Básicamente permite estructurar grandes hojas de estilo para que puedan manipularse, compilarse y optimizarse.

Todo lo que hablamos hasta el momento nos permite desarrollar la cara visible de las herramientas, es decir, todo aquello con lo que interactúa el usuario en su computadora o teléfono móvil.

En toda esta historia, nos falta conocer al último protagonista que representa un gran porcentaje de un proyecto web e incluso mobile. La otra cara del desarrollo es todo lo que tenga que ver con los datos, la seguridad y la lógica del negocio. En la jerga de los programadores se conoce como “backend” y básicamente implica el desarrollo de una API o punto de acceso a nuestro servidor que provea de datos a la aplicación.

Antiguamente, en lenguajes como PHP, se acostumbraba a que convivan ambos mundos y eso a veces confundía a los programadores en sus comienzos y dificultaba la creación de plataformas complejas.

Lo importante de esta separación es que pueden crearse equipos que trabajen en paralelo, mejorando la calidad y los tiempos del desarrollo. Además, permite utilizar distintos lenguajes de programación, siempre que se respete la forma de comunicación.

Sin dudas la programación evoluciona día a día y requiere capacitación en pos de la creación de mejores herramientas para los usuarios. Es de esperar que todo esto lo queramos rápido, simple y atractivo. Para lograrlo necesitaremos mejorar al máximo la experiencia de usuario (UX), aunque eso ya es tema para una próxima columna.

Mauro David Gesuitti
Ingeniero en Sistemas
Presidente de Neocomplexx Group SA
@maurogesuitti

Etiquetas
Mostrar más

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Close