Grandes Avances de Tecnologia para Desarrollo con JS desde el Frontend

    En el mundo de desarrollo web frontend, hay que destacar aquellas tecnologías  que transfomaron la forma de trabajar de los desarrolladores entre ellos se encuentran:

    HTML, CSS3 y Javscript (Nivel de complejidad: Básico)

    Antiguamente los desarrolladores frontend, para realizar desarrollo web, necesitaban aprender sobre 3 lenguajes que integran la estructura de cualquier sitio o aplicación que puede correr sobre la Internet que son HTML, CSS y Javascript, con eso se puede realizar paginas completas sobre estas teconologías, hablando en la época de los 2000. Cabe destacar que JavaScript en ese momento no poseia estandares dentro de los navegadores asi que tenias que probar en diferentes navegadores y realizar ajustes al codigo en cada navegador durante las pruebas.

     JQuery (Nivel de complejidad: Básico)

    Para dar solución a ese problema de las imcompatibilidades de naegadores, la comunidad creó unas de las primeras librerías que pudo estandarizar el desarrollo de las interfaces de usuario en la web, llamada JQuery,  logrando crear desarrollos mas complejos, gracias a que esa tecnología estandarizo la forma de escribir Javascript en esa época y se sigue usando hoy en día. 

    NodeJS (Nivel de complejidad: Intermedio) 

      NodeJS en resumidas cuentas es un interprete de Javascript en el lado del servidor, con esta tecnología expande el desarrollo de aplicaciones con este lenguaje. Puedes acceder a sistemas de archivos, datos del sistema operativo, manipular procesos, scripts de automatización, desarrollo backend, manipulacion de bases de datos, desarrollo interfaces graficas de usuario, internet de las cosas, entre otros. Conviertiendose en el lenguaje mas popular del mundo por unos cuantos años, gracias a los trabajos de los freelancers y la popularidad de uso en las grandes tecnologicas, porque no tenian que aprender otro lenguaje para crear desarrollos en el servidor, aumentando su productividad notablemente a la hora de entregar sus productos.

     Cabe destacar que NodeJS no es el unico interprete estan Bun y Deno, pero no posee la misma popularidad que Node que posee un enorme ecosistema y confiabilidad de su comunidad.

    Empaquetadores y Transpiladores (Nivel de complejidad: Intermedio)

     Con el surgimiento de NodeJS, se empezaron a crear los primeros prototipos de empaquetadores y transpiladores para codigo JS. En el proyecto podías escribir codigo moderno y los transforma a una versión antigua soportado por los navegadores, siendo altamente personalizables, utilizando una configuración en concreto. En la actualidad sigue siendo una gran tecnología porque resuelve el problema de tener multiples versiones del codigo, en el mismo proyecto. Un ejemplo son Webpack, Typescript, Vite y Esbuild. Actualmente estos transpiladores buscan a que sean archivos binarios, como si fueran compiladores nativos, porque son mas eficientes y rápidos a la hora de generar el codigo en producción.

     Single Page Applications (SPA) (Nivel de complejidad: Intermedio)

    A partir del 2015 con el uso masivo de los empaquetadores empezó una nueva forma de desarrollo en la Web, utilizando peticiones HTTP para solicitar datos al servidor en un formato especifico, siendo independiente de la logica del servidor. El desarrollador recibe y acomoda los datos desde el frontend mostrando el resultado al usuario. Los primeros en hacer popular estas tecnologías son Backbone y AngularJS. Con ello nacieron un sin fin de librerias y paquetes, que personalmente hacen lo mismo. Actualmente existen 3 que lideran el mercado que son React, Vue y Angular, comprendiendo ecosistemas mas complejos a la hora de desarrollar.    

    Websockets (Nivel de complejidad: Avanzado)

    Los Websockets es una tecnología incorporada en el navegador que permite la comunicacion con el tiempo real con el servidor utilizando protocolo web. El servidor mantiene la comunicacion abierta y el cliente puede recibir mensajes de él y vicerversa. Tiene mucho uso en las aplicaciones de chats, videojuegos en linea u otro tipo de aplicaciones que requiera una cominucacion abierta al servidor. Para los que quieran iniciar con WebSockets necesitas de un backend. Los lenguajes PHP, y GO tienen excelentes paquetes nativos para practicar, puedes buscar en su documentacion. El más utilizado y fácil de configurar es NodeJS con la librerias: ws y socket.io

    Antiguamente se utilizaba bucles infinitos desde el sitio para hacer las llamadas al servidor para estar constantemente actualizando la interfaz del usuario, personalmente era una locura aquel entonces.

   WebAssembly (Nivel de complejidad: Avanzado)

    Es la tecnologia, mas incomprendida de la web. Pero una de las mas poderosas, debido a que puedes escribir modulos personalizados a cualquier navegador que la soporte, Los modulos se escriben en lenguajes compilados como C++, Go, y Rust. Generando un ejecutable binario en formato .wasm o las instrucciones .wat y se compila dentro del navegador utilizando JS añadiendo funcionalidades a la ventana del navegador. Un uso que se da es utilizar herramientas especializadas construidas en esos lenguajes adaptadas para la web, librerias de realidad aumentada, cifrado de datos, machine learning, modelos, escalas en 3d, motores de videojuegos, compiladores de lenguajes para la web, entre otros. 

    Consejo personal: Como superar la fatiga de JS   

    Para superar la fatiga de JS personalmente no hay que agustiarse en aprender todo lo que sale al mercado, concentrate en los fundamentos en la que se desarrolla la tecnología que quieres conocer, comprender su uso en el mercado laboral y porque la necesitas. Porque con paciencia lo dominas, haciendo habito leer y practicar. En consecuencia, mejoras tu código y  tu comprensión a la hora de escoger las mejores herramientas para agilicen tu desarrollo, aumentando tu productividad. Es bueno en tu tiempo libre echale un vistazo a una tecnologia de cada sección, para ver como puedes integrarlas a tu portafolio personal.

Entradas más populares de este blog

La Explosion de las Tecnologias IA y saber como aprovecharlas

Experiencias y Consejos de un Desarrollador: El paradigma de trabajar con versiones antiguas de software y librerias