Enable javascript in your browser for better experience. Need to know to enable it? Go here.
Volume 32 | April 2025

Languages & Frameworks

  • Languages & Frameworks

    Adopt Trial Assess Hold Adopt Trial Assess Hold
  • New
  • Moved in/out
  • No change

Languages & Frameworks

Adopt ?

  • 83. OpenTelemetry

    OpenTelemetry is quickly becoming the industry standard for observability. The release of the OpenTelemetry protocol (OTLP) specification established a standardized way to handle traces, metrics and logs, reducing the need for multiple integrations or major rewrites as monitoring distributed solutions and interoperability requirements grow. As OpenTelemetry expands to support logs and profiling, OTLP ensures a consistent transport format across all telemetry data, simplifying instrumentation and making full-stack observability more accessible and scalable for microservices architectures.

    Adopted by vendors like Datadog, New Relic and Grafana, OTLP enables organizations to build flexible, vendor-agnostic observability stacks without being locked into proprietary solutions. It supports gzip and zstd compression, reducing telemetry data size and lowering bandwidth usage — a key advantage for environments handling high volumes of telemetry data. Designed for long-term growth, OTLP ensures OpenTelemetry remains a robust and future-proof standard, solidifying its position as the de-facto choice for telemetry transport.

  • 84. React Hook Form

    We noted React Hook Form as an alternative to Formik. By defaulting to uncontrolled components, it delivers significantly better out-of-the-box performance, especially for large forms. React Hook Form is well-integrated with various schema-based validation libraries, including Yup, Zod and more. Additionally, React Hook Form offers a lot of flexibility, making it easy to integrate with existing codebases and other libraries. You can use React Hook Form with external controlled components libraries such as shadcn or AntD. With strong performance, seamless integration and active development, it’s a solid choice for building large form or form-heavy application.

Trial ?

  • 85. Effect

    Effect is a powerful TypeScript library for building complex synchronous and asynchronous programs. Web application development often requires boilerplate code for tasks such as asynchrony, concurrency, state management and error handling. Effect-TS streamlines these processes using a functional programming approach. Leveraging TypeScript’s type system, Effect helps catch hard-to-detect issues at compile time. Our team previously used fp-ts for functional programming but found that Effect-TS provides abstractions that align more closely with daily tasks. It also makes code easier to combine and test. While traditional approaches like Promise/try-catch or async/await can handle such scenarios, after using Effect, our team found no reason to go back.

  • 86. Hasura GraphQL engine

    The Hasura GraphQL engine is a universal data access layer that simplifies building, running and governing high-quality APIs on different data sources. It provides instant GraphQL APIs over various databases (including PostgreSQL, MongoDB and ClickHouse) and data sources, enabling developers to fetch only the data they need quickly and securely. We found Hasura easy to implement GraphQL for server-side resource aggregation and have applied it in multiple data product projects. However, we remain cautious about its powerful federated query and unified schema management. A noteworthy recent addition is Hasura's PromptQL feature, which allows developers to leverage LLMs for more natural and intuitive data interactions.

  • 87. LangGraph

    LangGraph is an orchestration framework designed to build stateful multi-agent applications using LLMs. It provides a lower-level set of primitives like edges and nodes compared to LangChain’s higher-level abstractions, offering developers fine-grained control over agent workflows, memory management and state persistence. This graph-based approach ensures predictable and customizable workflows, making debugging, scaling and maintaining production applications easier. Although it has a steeper learning curve, LangGraph's lightweight design and modularity make it a powerful framework for creating agentic applications.

  • 88. MarkItDown

    MarkItDown converts various formats (PDF, HTML, PowerPoint, Word) into Markdown, enhancing text readability and context retention. Since LLMs derive context from formatting cues like headings and sections, Markdown helps preserve structure for better comprehension. In RAG-based applications, our teams used MarkItDown to pre-process documents into Markdown, ensuring logical markers (headers, subsections) remained intact. Before embedding generation, structure-aware chunking helped maintain full section context which improves the clarity of query responses, especially for complex documents. Widely used for documentation, Markdown also makes MarkItDown’s CLI a valuable developer productivity tool.

  • 89. Module Federation

    Module Federation allows for the specification of shared modules and dependency deduplication across micro frontends. With version 2.0, it has evolved to function independently of webpack. This update introduces key features, including a federation run time, a new plugin API and support for popular frameworks like React and Angular as well as popular bundlers like Rspack and Vite. By adopting Module Federation, large web applications can be divided into smaller, manageable micro frontends, allowing different teams to develop, deploy and scale independently while sharing dependencies and components efficiently.

  • 90. Prisma ORM

    Prisma ORM is an open-source database toolkit that simplifies working with databases in Node.js and TypeScript applications. It offers a modern, type-safe approach to database access, automates database schema migrations and provides an intuitive query API. Unlike typical ORMs, PrismaORM uses plain JavaScript objects to define database types without decorators or classes. Our experience with Prisma ORM is positive; we find it not only better aligns with the general TypeScript development landscape, it also neatly integrates with the functional programming paradigm.

Assess ?

  • 91. .NET Aspire

    .NET Aspire está diseñado para simplificar la orquestación de aplicaciones distribuidas en la máquina local de un desarrollador. Aspire permite orquestar múltiples servicios en un entorno de desarrollo local; incluyendo múltiples proyectos .NET, bases de datos dependientes y contenedores Docker, todo con un solo comando. Además, Aspire proporciona herramientas de observabilidad; incluyendo logs, trazabilidad y paneles de métricas, para el desarrollo local, desacopladas de las herramientas utilizadas en entornos de pruebas o producción. Esto mejora significativamente la experiencia del desarrollador al crear, ajustar y depurar los aspectos de observabilidad de cualquier sistema en el que esté trabajando.

  • 92. SDK para Android XR

    Google, en colaboración con Samsung y Qualcomm presentó Android XR, un nuevo sistema operativo diseñado para visores XR. El soporte ha sido planificado para gafas y otros dispositivos. La mayoría de las aplicaciones Android son compatibles con pocos o ningún cambio, pero la idea es construir nuevas aplicaciones espaciales desde cero o “espacializar” las aplicaciones existentes. El nuevo Android XR SDK se posiciona como el SDK de referencia para este tipo de proyectos y Google proporciona una guía sobre cómo escoger herramientas y tecnologías que forman parte del SDK. Actualmente está disponible una versión en vista previa para desarrolladores.

  • 93. Browser Use

    Browser Use Es una biblioteca de código abierto que permite a los agentes de IA basados en LLM, usar navegadores web para acceder a aplicaciones web. Puede controlar el navegador y realizar acciones que incluyen navegaciones, entrada y extracción de textos. Con la capacidad de manejar múltiples pestañas, puede orquestar acciones coordinadas a través de múltiples aplicaciones web. Es útil en escenarios donde los agentes basados en LLM necesitan acceso a contenido web, realizar acciones en él y obtener los resultados. La biblioteca puede trabajar con una variedad de LLMs. Utiliza Playwright para controlar el navegador web, combinando la comprensión visual con la extracción de estructura HTML para mejorar la interacción web. Esta biblioteca está ganando terreno en entornos multiagente, permitiendo a los agentes colaborar en flujos de trabajo complejos que involucran interacciones web.

  • 94. CrewAI

    CrewAI es una plataforma diseñada para ayudarte a construir y gestionar agentes de IA que pueden trabajar juntos para llevar a cabo tareas complejas. Piénsalo como una forma de crear una tripulación de trabajadores de IA, cada uno con sus propias habilidades especiales, que pueden colaborar para alcanzar un objetivo común. Hemos mencionado anteriormente en el Radar bajo agentes autónomos impulsados por LLM. Además de la biblioteca de Python de código abierto, CrewAI ahora cuenta con una solución empresarial para que las organizaciones puedan crear aplicaciones basadas en agentes para casos de negocio reales, ejecutarlas en su infraestructura en la nube y conectarlas a fuentes de datos existentes, como Sharepoint o JIRA. Hemos utilizado CrewAI en múltiples ocasiones para abordar desafíos de producción, desde la validación automatizada de códigos promocionales hasta la investigación de fallas en transacciones y consultas de soporte al cliente. Mientras el panorama de los agentes de IA sigue evolucionando rápidamente, estamos seguros de ubicar a CrewAI en Assess.

  • 95. ElysiaJS

    ElysiaJS es un framework web con seguridad de tipos de extremo a extremo para TypeScript, diseñado principalmente para Bun pero también compatible con otros entornos de ejecución de JavaScript. A diferencia de alternativas como tRPC, que impone estructuras específicas de interfaz de API, ElysiaJS no impone ninguna estructura de interfaz de API. Esto permite a los desarrolladores crear APIs que sigan prácticas establecidas en la industria, como RESTful, JSON: API u OpenAPI, y también proporciona seguridad de tipos de extremo a extremo. ElysiaJS ofrece un alto rendimiento cuando se utiliza con el entorno de ejecución de Bun, llegando a ser comparable a frameworks web de Java o Go en algunos benchmarks. ElysiaJS es una opción que vale la pena considerar, especialmente al crear un backend-for-frontend (BFF).

  • 96. FastGraphRAG

    FastGraphRAG es una implementación de código abierto de GraphRAG diseñada para ofrecer gran precisión y alto rendimiento en la recuperación de información. Emplea Personalized PageRank para limitar la navegación del grafo únicamente a los nodos más relevantes, mejorando así la precisión de la recuperación y la calidad de las respuestas del LLM. También proporciona una representación visual del grafo, ayudando a los usuarios a comprender mejor las relaciones entre nodos y el proceso de búsqueda. Con compatibilidad para actualizaciones incrementales, se adapta muy bien a conjuntos de datos dinámicos y en constante evolución. Optimizado para casos de uso de GraphRAG a gran escala, FastGraphRAG mejora el rendimiento al tiempo que minimiza el consumo de recursos.

  • 97. Gleam

    Erlang/OTP es una plataforma potente para construir sistemas distribuidos altamente concurrentes, escalables y tolerantes a fallos. Tradicionalmente, sus lenguajes han sido de tipado dinámico, pero Gleam introduce seguridad de tipos a nivel de lenguaje. Construido sobre BEAM, Gleam combina la expresividad de la programación funcional con la seguridad de tipos en tiempo de compilación, reduciendo errores en tiempo de ejecución y mejorando la mantenibilidad. Con una sintaxis moderna, se integra bien con el ecosistema OTP, aprovechando las fortalezas de Erlang y Elixir al mismo tiempo que garantiza una interoperabilidad sólida. La comunidad de Gleam es activa y acogedora, y esperamos con interés su desarrollo continuo.

  • 98. GoFr

    GoFr es un framework para construir microservicios en Golang, diseñado para simplificar el desarrollo al abstraer el código repetitivo de funcionalidades comunes de microservicios, como el registro de logs, trazabilidad, métricas, gestión de configuración y documentación de API con Swagger. Soporta múltiples bases de datos, gestiona migraciones y facilita la comunicación pub/sub con brokers como Kafka y NATs. Además, GoFr incluye la programación de tareas con cron jobs. Reduce la complejidad de crear y mantener microservicios, y permite a los desarrolladores centrarse en escribir la lógica de negocio en lugar de preocuparse por la infraestructura. Aunque existen otras librerías populares de Go para construir APIs web, GoFr está ganando reconocimiento y vale la pena explorarlo para microservicios basados en Golang.

  • 99. Criptografía postcuántica con Java

    La criptografía asimétrica, que hace seguras la mayoría de las comunicaciones modernas, está basada en la resolución de un problema matemáticamente difícil. Sin embargo, el problema utilizado en los algoritmos actuales será fácil de resolver con computadoras cuánticas, lo que impulsa la investigación en alternativas. La criptografía basada en retículos es actualmente la candidata más prometedora. Aunque a las computadoras cuánticas les faltan años para ser criptográficamente relevantes, vale la pena considerar la criptografía postcuántica para aplicaciones que deben permanecer seguras durante décadas. También existe el riesgo de que datos cifrados estén siendo recolectados ahora mismo para ser descifrados una vez que se pueda hacer uso de las computadoras cuánticas.

    La criptografía postcuántica en Java dará sus primeros pasos en JDK 24, que estará disponible de forma general a finales de marzo. Esta versión de lanzamiento incluye JEP 496 y JEP 497, que implementan un mecanismo de encapsulación de claves y un algoritmo de firma digital, ambos basados en estándares y diseñados para ser resistentes a futuros ataques de computación cuántica. Aunque liboqs, parte del proyecto Open Quantum Safe, proporciona implementaciones en C con un contenedor JNI, es grato también ver emerger una implementación nativa en Java.

  • 100. Presidio

    Presidio es un SDK de protección de datos para identificar y anonimizar datos sensibles en texto estructurado y no estructurado. Presidio detecta información de identificación personal (PII) como números de tarjetas de crédito, nombres y ubicaciones, usando reconocimiento de nombres, expresiones regulares y lógica basada en reglas. Presidio admite reconocimiento de entidades de PII personalizable, lo que permite a las empresas adaptarlo a sus requisitos específicos de privacidad. A pesar de que, Presidio automatiza la identificación de información sensible, no es infalible y puede perder o identificar erróneamente los datos. Tenga cuidado al confiar en sus resultados.

  • 101. PydanticAI

    A medida que las tecnologías para construir aplicaciones y agentes basados en LLM continúan evolucionando rápidamente, los frameworks para construir y orquestar tales aplicaciones a menudo luchan por mantenerse actualizados o encontrar las abstracciones correctas y eternas. PydanticAI es el último participante en este espacio, con el objetivo de simplificar las implementaciones mientras se evita complejidad innecesaria. Desarrollado por los creadores del popular Pydantic, se basa en las lecciones aprendidas de marcos anteriores, muchos de los cuales ya dependen de Pydantic. En lugar de intentar ser aplicable para toda situación, PydanticAI ofrece un enfoque ligero pero poderoso. Se integra con todas las principales APIs de modelos e incluye herramientas integradas de salida estructurada de LLMs e introduce una abstracción basada en grafos para gestionar flujos de trabajo complejos de agentes.

  • 102. Swift para aplicaciones con recursos limitados

    Desde el lanzamiento de Swift 6.0, el lenguaje ha expandido su alcance más allá del ecosistema de Apple con un soporte mejorado para los principales sistemas operativos, lo que hace que sea más viable usar Swift para aplicaciones con recursos limitados. Tradicionalmente, este espacio ha sido dominado por C, C++ y, más recientemente, Rust, debido a su control de bajo nivel, alto rendimiento y disponibilidad de compiladores y bibliotecas certificadas que cumplen con los estándares como MISRA, ISO 26262 y ASIL. Mientras Rust ha comenzado a obtener certificaciones similares, Swift aún no ha iniciado este proceso, lo que limita su uso en aplicaciones críticas para la seguridad.

    La creciente adopción de Swift se debe a su equilibrio entre rendimiento y características de seguridad, que incluyen una robusta seguridad de tipos y el recuento automático de referencias para la gestión de memoria. Mientras el modelo de propiedad de Rust ofrece garantías más fuertes de seguridad de memoria, Swift ofrece un enfoque diferente que algunos desarrolladores encuentran más accesible. Tanto Swift como Rust comparten el backend del compilador LLVM/Clang, lo que permite que los avances en uno beneficien al otro. Con su capacidad para compilar código de máquina optimizado, su desarrollo de código abierto y su creciente soporte multiplataforma, Swift está emergiendo como un contendiente para una gama más amplia de aplicaciones — mucho más allá de sus raíces en iOS.

  • 103. Tamagui

    Tamagui es una biblioteca para compartir estilos de manera eficiente entre React web y React Native. Ofrece un sistema de diseño con componentes reutilizables, tanto con estilos como sin ellos, que se renderizan perfectamente en diversas plataformas. Su compilador optimizador opcional mejora el rendimiento al convertir los componentes con estilo en CSS atómico con divs en la web y objetos de estilo elevados en vistas nativas.

  • 104. torchtune

    torchtune es una librería de PyTorch para la autoría, post-entrenamiento y experimentación con LLMs. Soporta configuraciones individuales y multi-GPU y habilita entrenamiento distribuído con FSDP2. La librería provee de recipes basadas en YAML para tareas como ajustes finos, inferencia, evaluación y entrenamiento consciente de la cuantización. Cada receta ofrece un set de características enfocado, evitando configuraciones complejas basadas en flags. Prioriza simpleza, favoreciendo la caridad del código por sobre abstracciones excesivas. Además incluye un CLI para descargar modelos, administrando recetas y ejecutando experimentos de forma eficiente.

Hold ?

  • 105. Sobrecarga de Node

    Hace unos años, observamos una sobrecarga de Node : Node.js se utilizaba a menudo por razones cuestionables o sin tener en cuenta otra alternativa. Aunque entendemos que algunos equipos prefieren un stack de un solo lenguaje, a pesar de las desventajas, seguimos defendiendo la programación políglota. En aquel momento, señalamos que Node.js tenía una merecida reputación de eficiencia en cargas de trabajo con uso intensivo de E/S, pero mencionamos que otros frameworks se habían puesto al día y ofrecían mejores APIs y un rendimiento general superior. También advertimos que Node.js nunca fue adecuado para cargas de trabajo de cómputo intensivo, una limitación que sigue siendo un desafío significativo. Ahora, con el auge de las cargas de trabajo con uso intensivo de datos, también vemos a los equipos tener dificultades con estas.

Unable to find something you expected to see?

 

Each edition of the Radar features blips reflecting what we came across during the previous six months. We might have covered what you are looking for on a previous Radar already. We sometimes cull things just because there are too many to talk about. A blip might also be missing because the Radar reflects our experience, it is not based on a comprehensive market analysis.

Download the PDF

 

 

 

English | Español | Português | 中文

Sign up for the Technology Radar newsletter

 

Subscribe now

Visit our archive to read previous volumes