Linguagens & Frameworks
Experimente
-
85. Effect
Effect é uma poderosa biblioteca de TypeScript para construir programas síncronos e assíncronos complexos. O desenvolvimento de aplicações web frequentemente exige código repetitivo para tarefas como assincronia, concorrência, gerenciamento de estado e tratamento de erros. O Effect-TS simplifica esses processos utilizando uma abordagem de programação funcional. Aproveitando o sistema de tipos do TypeScript, o Effect ajuda a identificar problemas difíceis de detectar durante a compilação.
Nossa equipe anteriormente utilizava o TypeScript para programação funcional, mas descobriu que o Effect-TS oferece abstrações que se alinham melhor às tarefas do dia a dia. Além disso, ele facilita a composição e os testes do código. Embora abordagens tradicionais como
Promise/try-catch
ouasync/await
possam lidar com esses cenários, depois de usar o Effect, nossa equipe não encontrou motivo para voltar atrás. -
86. Hasura GraphQL engine
O Hasura GraphQL engine é uma camada de acesso a dados universal que simplifica a construção, execução e governança de APIs de alta qualidade em diferentes fontes de dados. Proporciona acesso instantâneo as APIs GraphQL sobre várias bases de dados (incluindo PostgreSQL, MongoDB e ClickHouse) e fontes de dados, permitindo que desenvolvedoras busquem apenas os dados de que precisam de forma rápida e segura. Achamos o Hasura fácil de implementar GraphQL para agregação de recursos no servidor e o aplicamos em múltiplos projetos de produtos de dados. No entanto, nós permanecemos cautelosas quanto à sua poderosa consulta federada e gestão de esquema unificado. Uma adição recente notável é o recurso PromptQL do Hasura, que permite às desenvolvedoras aproveitar modelos de linguagem de grande porte (LLMs) para interações de dados mais naturais e intuitivas.
-
87. LangGraph
LangGraph é um framework de orquestração projetado para criar aplicações multiagente com persistência de estado usando modelos de linguagem de grande porte (LLMs). Ele fornece um conjunto de primitivas de nível mais baixo, como nós e arestas, em comparação com as abstrações de nível mais alto do LangChain, oferecendo às desenvolvedoras controle mais detalhado sobre fluxos de agentes, gerenciamento de memória e persistência de estado. Essa abordagem baseada em grafos garante fluxos de trabalho previsíveis e personalizáveis, facilitando a depuração, escalabilidade e manutenção de aplicações em produção. Embora tenha uma curva de aprendizado mais íngreme, o design leve e modular do LangGraph o torna um framework poderoso para a criação de aplicações agentivas.
-
88. MarkltDown
MarkItDown converte vários formatos (PDF, HTML, PowerPoint, Word) em Markdown, melhorando a legibilidade do texto e a retenção de significado. Como os modelos de linguagem de grande porte (LLMs) extraem o contexto a partir de pistas de formatação, como títulos e seções, o Markdown ajuda a preservar a estrutura para uma melhor compreensão. Em aplicações baseadas em RAG, nossas equipes usaram o MarkltDown para pré-processar documentos em Markdown, garantindo que marcadores lógicos (títulos, subseções) permanecessem intactos. Antes da geração de embeddings, a segmentação estruturada ajudou a manter o contexto complexo das seções, melhorando a clareza das respostas às consultas, especialmente para documentos complexos. Amplamente utilizado para documentação, o Markdown também torna a CLI do MarkltDown uma ferramenta valiosa para a produtividade de desenvolvedoras.
-
89. Federação de módulos
A federação de módulos permite especificar módulos compartilhados e a deduplicação de dependências entre micro frontends. Com a versão 2.0, a federação de módulos evoluiu para funcionar de forma independente do webpack. Esta atualização introduz funcionalidades importantes, incluindo um runtime próprio, uma nova API de plugins e suporte para frameworks populares como React e Angular, além de empacotadores conhecidos, como Rspack e Vite. Ao adotar a federação de módulos, grandes aplicações web podem ser divididas em micro frontends menores e mais gerenciáveis, permitindo que diferentes equipes desenvolvam, implantem e escalem de forma independente, enquanto compartilham dependências e componentes de maneira eficiente.
-
90. Prisma ORM
O Prisma ORM é um kit de ferramenta de banco de dados de código aberto que simplifica o trabalho com bancos de dados em aplicações Node.js e TypeScript. Ele oferece uma abordagem moderna e segura para acesso a bancos de dados, automatiza a migração de esquema de bancos de dados e fornece uma API de consulta intuitiva. Ao contrário dos ORMs típicos, o PrismaORM usa objetos JavaScript simples para definir os tipos de bancos de dados sem usar decorators ou classes. Nossa experiência com o PrismaORM é positiva; achamos que ele não apenas se alinha melhor com o panorama geral de desenvolvimento do TypeScript, como também se integra bem com o paradigma de programação funcional.
Avalie
-
91. .NET Aspire
.NET Aspire foi projetado para simplificar a orquestração de aplicações distribuídas na máquina local da desenvolvedora. Ele permite orquestrar vários serviços em um ambiente de desenvolvimento local — incluindo múltiplos projetos .NET, bancos de dados dependentes e contêineres Docker — com um único comando. Além disso, Aspire oferece ferramentas de observabilidade — como logs, rastreamento e painéis de métricas — para desenvolvimento local, separadas das usadas em ambientes de teste ou produção. Isso melhora significativamente a experiência da desenvolvedora no momento de criar, ajustar e depurar os aspectos de observabilidade de qualquer sistema em que esteja trabalhando.
-
92. Android XR SDK
O Google, em parceria com a Samsung e a Qualcomm, lançou o Android XR, um novo sistema operacional projetado para headsets XR. O suporte está planejado para óculos e outros dispositivos. A maioria dos aplicativos Android é compatível, necessitando de poucas ou nenhuma modificação, mas a ideia é criar novos aplicativos espaciais do zero ou espacializar aplicativos existentes. O novo SDK Android XR é colocado como o kit de desenvolvimento de software (SDK) ideal para esses projetos, e o Google fornece orientações sobre como escolher as ferramentas e tecnologias incluídas no SDK. No momento, ele está disponível em versão prévia para desenvolvedoras.
-
93. Browser Use
Browser Use é uma biblioteca python de código aberto que permite que agentes de IA baseados em modelos de linguagem de grande porte (LLMs) usem navegadores da web e acessem aplicações web. Ela pode controlar o navegador e executar etapas que incluem exploração de páginas, entrada de dados e extração de textos. Com a capacidade de gerenciar várias guias, ela pode executar ações coordenadas em diferentes aplicações web. Isso é útil para cenários onde agentes baseados em LLM precisam acessar conteúdo da web, executar ações nele e obter resultados. A biblioteca pode trabalhar com uma variedade de LLMs. Ela aproveita o Playwright para controlar o navegador, combinando compreensão visual com extração de estrutura HTML para melhor interação na web. Esta biblioteca está ganhando força em cenários multiagentes, permitindo que os agentes colaborem em fluxos de trabalho complexos envolvendo interações na web.
-
94. Crew AI
CrewAI é uma plataforma projetada para ajudar a construir e gerenciar agentes de IA que podem trabalhar em conjunto para executar tarefas complexas. Pense nela como uma forma de criar um grupo de agentes de IA, cada um com suas próprias especialidades, colaborando para alcançar um objetivo comum. Nós já a mencionamos previamente no Radar, no tópico Agentes autônomos impulsionados por LLM. Além da biblioteca de código aberto em Python, a CrewAI agora oferece uma solução empresarial para que organizações possam criar aplicações baseadas em agentes voltadas a cenários reais de negócio, executá-las em sua própria infraestrutura de nuvem e conectá-las a fontes de dados existentes como Sharepoint ou JIRA. Já utilizamos CrewAI em vários desafios em produção, desde a validação automatizada de códigos promocionais até a investigação de falhas em transações e consultas de suporte ao cliente. Embora o cenário de agentes inteligentes continue evoluindo rapidamente, estamos confiantes em colocar a CrewAI na categoria Avalie.
-
95. ElysiaJs
ElysiaJS é um framework ponta a ponta com tipagem segura para TypeScript, projetado primariamente para Bun mas também compatível com outros runtimes JavaScript. Diferente de alternativas como tRPC que impõe estruturas de interface de API específicas, ElysiaJS não impõe nenhuma estrutura de interface de API. Isso permite que desenvolvedoras criem APIs que seguem práticas estabelecidas pela indústria como RESTful, JSON: API ou OpenAPI, garantindo ao mesmo tempo a segurança de tipos de ponta a ponta. Quando usado com o Bun, ElysiaJS apresenta alto desempenho, sendo comparável a frameworks web de Java ou Go em alguns benchmarks. Vale a pena considerar o ElysiaJS, especialmente ao desenvolver um backend-for-frontend (BFF).
-
96. FastGraphRAG
FastGraphRAG é uma implementação de código aberto do GraphRAG projetada para alta precisão e desempenho na recuperação de informações. Ele utiliza o Personalized PageRank para limitar a navegação no gráfico apenas aos nós mais relevantes entre todos os nós relacionados, aumentando a precisão da recuperação e melhorando a qualidade das respostas de modelos de linguagem de grande porte (LLMs). Ele também fornece uma representação visual do gráfico, ajudando as usuárias a entender os relacionamentos dos nós e o processo de recuperação. Com suporte para atualizações incrementais, é adequado para conjuntos de dados dinâmicos e em evolução. Otimizado para casos de uso do GraphRAG em larga escala, o FastGraphRAG melhora o desempenho ao mesmo tempo em que minimiza o consumo de recursos.
-
97. Gleam
O Erlang/OTP é uma plataforma poderosa para construir sistemas distribuídos altamente concorrentes, escaláveis e tolerantes a falhas. Tradicionalmente, suas linguagens são dinamicamente tipadas, mas o Gleam introduz, a nível de linguagem, segurança de tipos. Construído sobre o BEAM, o Gleam combina a expressividade da programação funcional com segurança de tipo em tempo de compilação, reduzindo os erros em tempo de execução e melhorando a manutenibilidade. Com uma sintaxe moderna, ele integra bem com o ecossistema OTP, aproveitando os pontos fortes do Erlang e do Elixir enquanto garante forte interoperabilidade. A comunidade do Gleam é ativa e acolhedora, e estamos ansiosas para o seu desenvolvimento contínuo.
-
98. GoFr
GoFr é um framework para a construção de microsserviços em Golang, projetado para simplificar o desenvolvimento ao abstrair o código repetitivo necessário para funcionalidades comuns de microsserviços, como logging, rastreamento, métricas, gerenciamento de configuração e documentação de API com Swagger. Ele suporta múltiplos bancos de dados, gerencia migrações de banco e facilita a comunicação pub/sub com brokers como Kafka e NATs. Além disso, o GoFr inclui agendamento de tarefas com cron jobs. Isso reduz a complexidade da criação e manutenção de microsserviços, permitindo que as pessoas desenvolvedoras se concentrem na escrita da lógica de negócio em vez de lidar com preocupações relacionadas à infraestrutura. Embora existam outras bibliotecas populares para construção de APIs web em Go, o GoFr está ganhando popularidade e vale a pena explorá-lo para microsserviços baseados em Golang.
-
99. Criptografia pós-quântica em Java
No cerne da criptografia assimétrica, que garante a segurança da maioria das comunicações modernas, está um problema matematicamente complexo. No entanto, o problema usado nos algoritmos atuais será facilmente resolvido por computadores quânticos, o que impulsiona a pesquisa por alternativas. A criptografia baseada em rede é atualmente a candidata mais promissora. Embora computadores quânticos relevantes para a criptografia ainda estejam a anos de distância, a criptografia pós-quântica merece consideração para aplicações que precisam permanecer seguras por décadas. Há também o risco de que dados criptografados sejam registrados hoje para serem descriptografados quando os computadores quânticos estiverem disponíveis.
A criptografia pós-quântica em Java dá seus primeiros passos no JDK 24, definido para disponibilidade geral no final de março. Esta versão inclui o JEP 496 e JEP 497, que implementam um mecanismo de encapsulamento de chaves e um algoritmo de assinatura digital, ambos baseados em padrões e projetados para serem resistentes a futuros ataques de computação quântica. Embora a liboqs do projeto Open Quantum Safe forneça implementações baseadas em C com um wrapper JNI, é encorajador ver uma implementação nativa em Java surgindo também.
-
100. Presidio
Presidio é um kit de desenvolvimento de software (SDK) de proteção de dados para identificar e anonimizar dados confidenciais em texto estruturado e não estruturado. Ele detecta informações de identificação pessoal (PII) — ou seja, dados sensíveis que podem identificar um indivíduo —, como números de cartão de crédito, nomes e locais, usando reconhecimento de entidade nomeada, expressões regulares e lógica baseada em regras. O Presidio suporta reconhecimento e desidentificação de entidades PII, permitindo que as empresas o adaptem aos seus requisitos de privacidade específicos. Embora o Presidio automatize a identificação de informações confidenciais, não é infalível e pode perder ou identificar dados incorretamente. Tenha cuidado ao confiar em seus resultados.
-
101. PydanticAI
Conforme as tecnologias para construir aplicativos e agentes baseados em modelos de linguagem de grande porte (LLMs) evoluem rapidamente, os frameworks para construir e orquestrar essas aplicações muitas vezes têm dificuldade em acompanhar ou encontrar as abstrações corretas e duradouras. PydanticAI é o mais novo membro deste espaço, buscando simplificar implementações, evitando complexidades desnecessárias. Desenvolvido pelas criadoras do popular Pydantic, ele é construído baseado nas lições aprendidas com frameworks anteriores — muitos dos quais já dependem do Pydantic. Ao invés de ser um canivete suíço, o PydanticAI oferece uma abordagem leve, porém poderosa. Ele se integra com todas as principais APIs de modelos, inclui gestão integrada de saída estruturada de LLMs e introduz uma abstração baseada em grafos para gerenciar workflows complexos de agentes.
-
102. Swift para aplicações com restrições de recursos
Desde o lançamento do Swift 6.0, a linguagem se expandiu além do ecossistema da Apple, com suporte aprimorado para sistemas operacionais importantes, tornando-a mais viável para uso em aplicações com restrições de recursos. Tradicionalmente, esse espaço foi dominado por C, C++ e, mais recentemente, Rust, devido ao seu controle de baixo nível, alto desempenho e disponibilidade de compiladores e bibliotecas certificados que cumprem padrões como MISRA, ISO 26262 e ASIL. Enquanto o Rust começou a alcançar certificações semelhantes, o Swift ainda não iniciou esse processo, limitando seu uso em aplicações críticas de segurança.
A crescente adoção do Swift é impulsionada por seu equilíbrio entre desempenho e recursos de segurança, incluindo forte segurança de tipo e contagem automática de referência para gerenciamento de memória. Enquanto o modelo de propriedade do Rust oferece garantias de segurança de memória mais fortes, o Swift oferece um compromisso diferente que algumas desenvolvedoras acham mais acessível. Ambos, Swift e Rust, compartilham o backend do compilador LLVM/Clang, permitindo que avanços em um beneficiem o outro. Com sua capacidade de compilar para código de máquina otimizado, seu desenvolvimento de código aberto e seu suporte expansivo multiplataforma, o Swift está emergindo como um concorrente para uma gama mais ampla de aplicações — muito além de suas raízes no iOS.
-
103. Tamagui
Tamagui é uma biblioteca que facilita o compartilhamento eficiente de estilos entre React web e React Native. Ela oferece um design system com componentes reutilizáveis, estilizados ou não, que funcionam perfeitamente em diferentes plataformas. Seu compilador de otimização opcional impulsiona o desempenho, convertendo componentes estilizados em CSS atômico com divs na web e objetos de estilo otimizados em visualizações nativas.
-
104. torchtune
torchtune é uma biblioteca do PyTorch para criação, pós-treinamento e experimentação com modelos de linguagem de grande porte (LLMs). Ela oferece suporte a configurações com uma ou múltiplas GPUs e permite treinamento distribuído com FSDP2. A biblioteca fornece receitas baseadas em YAML para tarefas como ajuste fino, inferência, avaliação e treinamento consciente de quantização. Cada receita apresenta um conjunto de recursos focado, evitando configurações complexas baseadas em flags. Ela prioriza a simplicidade, favorecendo a clareza do código em vez de abstrações excessivas. Além disso, inclui uma CLI para baixar modelos, gerenciar receitas e executar experimentos de forma eficiente.
Evite
-
105. Uso excessivo de Node
Alguns anos atrás, observamos o uso excessivo de Node: o Node.js era frequentemente utilizado por razões questionáveis ou sem sequer considerar alternativas. Embora entendamos que algumas equipes prefiram uma stack de linguagem única — apesar dos trade-offs — continuamos a defender a programação poliglota. Na época, destacamos que o Node.js tinha uma reputação merecida por sua eficiência em workloads intensivos em IO, mas mencionamos que outros frameworks haviam alcançado esse nível, oferecendo APIs melhores e um desempenho geral superior. Também alertamos que o Node.js nunca foi adequado para workloads computacionalmente intensivos, uma limitação que continua sendo um grande desafio. Agora, com o crescimento de workloads intensivas em dados, vemos equipes enfrentarem dificuldades também nesse aspecto.
Não encontrou algo que você esperava achar?
Cada edição do Radar inclui blips que refletem nossas experiências nos seis meses anteriores. Talvez já tenhamos falado sobre o que você procura em um Radar anterior. Às vezes, deixamos coisas de fora simplesmente porque há muitas a serem abordadas. Também pode faltar um tópico específico porque o Radar reflete nossa experiência, não se baseando em uma análise abrangente do mercado.
