Programación en el 2022

La programación web es el ahora y el futuro ¿Estas listo?

· 7 min de lectura
Programación en el 2022

Predecir el futuro es complicado y arriesgado. En la industria de la tecnología es todavía más difícil. Las tendencias de la tecnología en 2022 vienen con paso firme y gran crecimiento. En los últimos años la industria ha innovado y ha sufrido varias transformaciones.

Una mirada al futuro

Lo que en años anteriores era impensable hoy es algo que ya está aquí.

El impulso que ha experimentado la adopción de nuevas tecnologías durante el último año y medio es el preludio de las principales tendencias tecnológicas que veremos a lo largo del próximo 2022.

En un mayor auge estará la Inteligencia Artificial, la hiperautomatización y la creciente apuesta por las plataformas nativas en la nube son solo algunas de ellas.

Se espera que las principales tendencias tecnológicas en el desarrollo empresarial incluyan nuevos modelos comerciales de servicios públicos, digitalización, desarrollo y aplicación de inteligencia artificial e incluso una mayor popularidad de la tecnología en la nube, y más.

Entre los temas que mayor impulso pudiesen cobrar el 2022 son sin duda alguna los temas transversales de seguridad, el movimiento abierto de propiedad, impresión 3D, big data y analytics, biología computacional al igual que la bioinformática y robótica médica.

Desde ordenadores dentro de nuestros teléfonos móviles, hasta dispositivos informáticos y chips integrados en nuestra piel. Servidores domésticos, televisores y refrigeradores.

La nube informática a la que llegamos a través de Internet. Todas estas tendencias tecnológicas formarán en conjunto un sistema inteligente.

Mesh, un ecosistema de computación y comunicación que aumenta la realidad con información e inteligencia recopiladas de las yemas de nuestros dedos, ojos, oídos y otros sentidos. Incluso directamente interconectadas con nuestras ondas cerebrales.

via GIPHY

Una buena muestra de que el mundo TI avanza con gran rapidez y a pasos firmes es la aparición de nuevos lenguajes de programación, en este último año 2021 se obtuvo un preámbulo de algunas innovaciones tecnológicas que están dando nuevos horizontes a la programación.

¿Quién podría imaginar hace dos años que si existiría un metaverso? y en caso de imaginarlo y contarlo parecía algo tan fuera de la realidad y de poca credibilidad. Y sin embargo, hoy está aquí y es una realidad.

El internet de las cosas y las interfaces de usuarios naturales

Desde ropa que monitoriza nuestros movimientos hasta hogares y ciudades inteligentes. El Internet de las cosas no conoce límites. De este modo, la relación con nuestro entorno cambiara drásticamente.

Así nuestras prendas podrían darnos un análisis de nuestros datos biométricos o nuestros hogares realizar la compra de productos básicos de manera automatizada. Además, la conexión entre los elementos de nuestro entorno garantizaría una mayor seguridad individual.

via GIPHY

En cuanto a las interfaces de usuarios naturales hace referencia a los ordenadores que pueden interactuar con nosotros a través del tacto, los gestos y el habla finalmente se están haciendo realidad.

Los avances en este campo están dirigidos a que la interacción con los dispositivos tecnológicos cada vez se asemejen más a una interacción «natural», como se realizaría entre personas.

Lenguajes de programación

TypeScript

TypeScript (TS) es un lenguaje de programación construido a un nivel superior de JavaScript (JS). Esto quiere decir que TypeScript dota al lenguaje de varias características adicionales que hacen que podamos escribir código con menos errores, más sencillo, coherente y fácil de probar, en definitiva, más limpio y sólido.

Fue creado por Microsoft en 2012 y, desde entonces, su adopción no ha hecho más que crecer.

Especialmente, desde que Google decidió adoptarlo como lenguaje por defecto para desarrollar con Angular. Aunque, hoy en día, podemos desarrollar con TypeScript en cualquiera de los frameworks o librerías más punteras, como son React para el frontend o Node para el backend.

Micro Frontend

El término Micro Frontends apareció por primera vez en ThoughtWorks Technology Radar a finales de 2016.

Extiende los conceptos de los micro servicios al mundo del frontend. La tendencia actual es crear una aplicación de navegador potente y rica en características, también conocida como “single page app”, que se asiente sobre una arquitectura de microservicio.

Con el tiempo, la capa de frontend, a menudo desarrollada por un equipo independiente, crece y se vuelve más difícil de mantener. Eso es lo que llamamos una Interfaz Monolítica.

La idea detrás de Micro Frontends es pensar en un sitio web o aplicación web como una composición de características que son propiedad de equipos independientes. Cada equipo tiene un área de negocio definida o misión de la que se preocupa y se especializa.

Un equipo es cross functional y desarrolla sus características end-to-end, desde la base de datos hasta la interfaz de usuario.

Sin embargo, esta idea no es nueva, en el pasado se llamaba Integración de Frontend para Sistemas Verticales o Sistemas autocontenidos. Pero Micro Frontends es claramente un término más amigable y menos voluminoso.

Nestjs

Es un framework desarrollado completamente en TypeScript  para Node,js con un enfoque de lado servidor.

Este framework copia muchas de las ideas que tiene detrás Spring como Framework clásico. ¿Qué es lo que aporta NestJS?

Modelar y crear APIS con NestJS es realmente sencillo además gracias al ecosistema de NodeJS nos permite hacer uso de servicios de forma sencilla como Swagger, JWT, Passport, entre otros.

Node

Node.js® Es un entorno en tiempo de ejecución multiplataforma, de código abierto, para la capa del servidor (pero no limitándose a ello) basado en el lenguaje de programación ECMAScript, asíncrono, con I/O de datos en una arquitectura orientada a eventos y basado en el motor V8 de Google, motor de JavaScript de Chrome.”

Más allá de eso, vale la pena señalar que el creador de Node.js, Ryan Dahl fue destinado a crear sitios web en tiempo real con función de inserción, “inspirado por aplicaciones como Gmail”. En Node.js, dio a los desarrolladores una herramienta para trabajar en la no-bloqueante, event-driven I/O paradigma.

Node.js brilla en aplicaciones web de tiempo real empleando la tecnología push a través de Websockets

Angular

Angular es una plataforma y un framework para crear aplicaciones de una sola página en el lado del cliente usando HTML y TypeScript. Angular está escrito en TypeScript. Implementa la funcionalidad básica y opcional como un conjunto de bibliotecas TypeScript que importas en tus aplicaciones.

La arquitectura de una aplicación en Angular se basa en ciertos conceptos fundamentales.

Los bloques de construcción básicos son los NgModules, que proporcionan un contexto de compilación para los componentes. Los NgModules recopilan código relacionado en conjuntos funcionales; una aplicación de Angular se define por un conjunto de NgModules. Una aplicación siempre tiene al menos un módulo raíz que permite el arranque y generalmente tiene muchos más módulos de funcionalidad.

Mongo

Es un sistema de base de datos NoSQL orientado a documentos de código abierto y escrito en C++, que en lugar de guardar los datos en tablas lo hace en estructuras de datos BSON (similar a JSON) con un esquema dinámico.

Al ser un proyecto de código abierto, sus binarios están disponibles para los sistemas operativos Windows, GNU/Linux, OS X y Solaris y es usado en múltiples proyectos o implementaciones en empresas como MTV Network, Craigslist, BCI o Foursquare.

La razón de esto es que MongoDB, al estar escrito en C++, cuenta con una más que notoria capacidad para aprovechar los recursos de la máquina y, al estar licenciado bajo una licencia GNU AGPL 3.0, es posible adaptarlo a nuestras necesidades.

Solidity

Es un lenguaje de programación de alto nivel cuya síntesis es similar a otro de los lenguajes de programación más usados hoy en día: Javascript, este lenguaje está orientado a objetos (OO) como C++ y C#.

Este lenguaje está diseñado y compilado en código de bytes (bytecode) para crear y desarrollar contratos inteligentes que se ejecuten en la Máquina Virtual Ethereum Solidity es un lenguaje de programación de alto nivel se refería a que era un lenguaje ‘Turing Complete’.

Este concepto, ideado por Alan Turing, que hace referencia en informática a aquel lenguaje que tiene un poder computacional equivalente a lo que se denomina una “Máquina de Turing Universal”.

La Ethereum Virtual Machine (EVM) es considerada una Máquina de Turing Universal, término que se refiere al software que es lo suficientemente hábil como para ejecutar cualquier código definido por el desarrollador.

Es importante tener en consideración que este lenguaje de programación fue diseñado específicamente para desarrollar aplicaciones para la red Ethereum. Por lo que sólo corre en la blockchain Ethereum o derivadas compatibles.

Una ventaja que posee  es que el código fuente de los programas que son realizados con el mismo puede ser accedido públicamente desde la blockchain. Incluso estando en bytecode, es posible descompilarlo y obtener una muestra bastante clara del código fuente original.

Solidity soporta la herencia y la herencia múltiple, dotándolo de una gran flexibilidad a la hora de programar elementos complejos.

Este lenguaje también proporciona una serie de bibliotecas muy útiles que facilitan la programación de los smart contracts, haciendo que el  código sea reutilizable y más sencillo de mantener.

Socket io

Socket.io es una librería open source de JavaScript basada en el protocolo Websocket para Node.js que permite una comunicación TCP bidireccional en tiempo real entre clientes y servidores.

Para ello se basa principalmente en Websocket pero también puede usar otras alternativas como sockets de Adobe Flash, JSONP polling o long polling en AJAX, seleccionando la mejor alternativa para el cliente justo en tiempo de ejecución.

Como mencionamos al inicio está desarrollado completamente en Javascript y su objetivo es hacer que las aplicaciones en tiempo real tengan posibilidad de ejecutarse en cualquier navegador, incluidos los dispositivos móviles, salvando las diferencias entre los diferentes protocolos.

Plataforma de cursos gratis sobre programación

Artículos Relacionados

¿Cómo crear un microservicio NestJS Redis?
· 4 min de lectura
Tenemos Twitter Spaces 🥳
· 6 min de lectura
¿Cómo implementar Redis PubSub en NodeJS?
· 3 min de lectura
Bootcamp Real
· 8 min de lectura
Standalone components en Angular
· 8 min de lectura
Arquitectura Hexagonal
· 8 min de lectura