Ferramentas
Adote
-
42. Bruno
Bruno é uma alternativa de código aberto para desktop do Postman e Insomnia para testes, desenvolvimento e depuração de APIs. Seu objetivo é oferecer colaboração, privacidade e segurança superiores com seu design simples, exclusivo para uso offline. As coleções são armazenadas diretamente no seu sistema de arquivos — escritas em uma linguagem de marcação de texto personalizada, chamada Bru Lang — e podem ser compartilhadas com Git ou uma ferramenta de controle de versão de sua escolha para colaboração. Bruno está disponível tanto como uma aplicação desktop e uma ferramenta de CLI. Ele também oferece uma extensão oficial para o VS Code, com planos para suporte adicional a IDEs. O Bruno se tornou a escolha padrão para várias equipes da Thoughtworks, mas também aconselhamos as equipes a ficarem atentas ao trabalhar em ambientes com VPN e proxy, já que as requisições feitas nessas condições têm apresentado falhas inesperadas.
-
43. K9s
K9s melhorou suas capacidades de visualização integrando gráficos e visualizações mais detalhados. Agora ele oferece uma melhor representação de logs e métricas e é mais flexível em como exibe recursos personalizados (CRDs). As operações nos pods foram expandidas e incluem uma melhor integração com ferramentas de depuração, como kubectl debug), e suporte aprimorado a ambientes muti-cluster. O suporte a CRDs melhorou significativamente e agora fornece uma melhor navegação e gerenciamento desses recursos bem como uma interação mais suave com recursos personalizados. O painel de atalhos também foi melhorado para deixá-lo mais acessível para as desenvolvedoras que são menos experientes com o kubectl. Isso é uma melhora significativa, já que o K9s inicialmente era focado prioritariamente em equipes de DevOps.
-
44. SOPS
SOPS é um editor de arquivos criptografados que suporta vários formatos de arquivo criptografados com KMS. Nosso conselho em relação ao gerenciamento de segredos sempre foi desacoplá-lo do código-fonte. No entanto, quando confrontadas com a escolha entre automação completa (no princípio de infraestrutura como código) e algumas etapas manuais (usando ferramentas como vaults) para gerenciar, gerar e rotacionar segredos iniciais, as equipes geralmente enfrentam um dilema. Por exemplo, nossas equipes utilizam o SOPS para gerenciar as credenciais iniciais de segurança necessárias para a inicialização da infraestrutura. Em algumas situações, no entanto, é impossível remover segredos de repositórios de código legados. Nessas situações, usamos o SOPS para criptografar segredos em arquivos de texto. O SOPS integra-se com serviços de gerenciamento de chaves na nuvem, tais como AWS e GCP Key Management Service (KMS) ou Azure Key Vault, que fornecem as chaves de criptografia. Ele também funciona em várias plataformas e suporta chaves PGP. Várias de nossas equipes usam o SOPS por padrão quando precisam gerenciar segredos no repositório de código.
-
45. Ferramentas de teste de regressão visual
Já destacamos ferramentas de teste de regressão visual previamente e observamos seus algoritmos evoluírem da comparação primitiva em nível de pixel para sofisticados métodos de correspondência de padrões e reconhecimento óptico de caracteres (OCR). As primeiras ferramentas de regressão visual geravam muitos falsos positivos e só foram úteis em estágios finais do desenvolvimento, quando a interface já estava estável. BackstopJS evita esse problema configurando seletores e viewports para apontar testes visuais para elementos específicos na página. O aprendizado de máquina tornou mais fácil detectar e comparar elementos visuais com mais precisão, mesmo que eles tenham se movido ou contenham conteúdo dinâmico. Essas ferramentas se tornaram cada vez mais úteis e estão bem posicionadas para aproveitar os últimos desenvolvimentos em IA e aprendizado de máquina. Várias ferramentas comerciais, como Applitools e Percy, agora afirmam usar IA em seus testes de regressão visual. Uma de nossas equipes tem usado o Applitools Eyes extensivamente com resultados satisfatórios. Embora os testes de regressão visual não substituam os bem formulados testes funcionais de ponta a ponta, eles são uma adição valiosa à caixa de ferramentas de teste. Estamos incentivando sua adoção porque eles se tornaram uma opção padrão segura como um elemento de uma estratégia abrangente de teste de IU.
-
46. Wiz
Wiz se destacou como a plataforma de segurança em nuvem preferida em muitos dos nossos projetos. Nossos times apreciam o fato de que ela permite detectar riscos e ameaças mais rápido do que ferramentas semelhantes, pois realiza varreduras contínuas para identificar mudanças. A Wiz pode detectar e alertar sobre configurações incorretas, vulnerabilidades e segredos vazados, tanto em artefatos que ainda não foram implantados em ambientes de produção — imagens de contêiner e código de infraestrutura — quanto em cargas de trabalho em execução — contêineres, VMs e serviços em nuvem. Também valorizamos a capacidade de relatórios poderosos, tanto para times de desenvolvimento quanto para a liderança. Essa análise nos ajuda a entender como uma vulnerabilidade pode afetar um determinado serviço, permitindo que possamos resolver os problemas dentro desse contexto.
Experimente
-
47. AWS Control Tower
AWS Control Tower continua sendo nossa principal escolha para gerenciar contas AWS em um ambiente com vários times. Ele oferece um mecanismo conveniente para pré-configurar controles de segurança e conformidade que serão automaticamente aplicados a novas landing zones. Isso é um exemplo de conformidade no ponto de mudança, pois os controles são aplicados e verificados sempre que uma nova infraestrutura é criada, eliminando a necessidade de verificações manuais de conformidade posteriormente. O AWS Control Tower Account Factory for Terraform (AFT) continuou a evoluir desde nossa última análise e agora está disponível em mais regiões da AWS. O AFT permite que as contas do Control Tower sejam provisionadas por meio de um pipeline de infraestrutura como código. Gostamos do fato de o AFT poder ser customizado para enviar webhooks ou realizar ações específicas para integrar de forma segura com ferramentas externas, como o GitHub Actions. Nossos times relataram ótimos resultados usando o AWS Control Tower para gerenciar contas, mas gostaríamos que a AWS aceitasse contribuições da comunidade para o projeto quando oportunidades de melhorias são identificadas.
-
48. CCMenu
Para equipes que praticam integração contínua, é importante estar ciente do estado da build central no sistema de integração contínua (CI). Antes da pandemia, dashboards em grandes telas de TV nas salas de equipe forneciam essas informações de relance. Como o trabalho remoto chegou para ficar, é necessária uma solução que funcione nas estações de trabalho individuais das desenvolvedoras. Para o Mac, esse nicho é coberto pelo CCMenu, um pequeno aplicativo escrito por uma Thoughtworker. Originalmente parte do CruiseControl, ele funciona com todos os servidores que podem fornecer informações no formato cctray, incluindo Jenkins e TeamCity. Uma reescrita recente adicionou suporte para GitHub Actions e abriu caminho para uma integração mais profunda com mais servidores de CI e estilos de autenticação.
-
49. ClickHouse
ClickHouse é um banco de dados de processamento analítico on-line em colunas (OLAP) de código aberto para análises em tempo real. Começou como um projeto experimental em 2009 e desde então amadureceu como um banco de dados analítico de alto desempenho e linearmente escalável. Seu motor de processamento de consultas eficiente, juntamente com a compactação de dados, o torna ideal para consultas interativas sem pré-agregação. ClickHouse é também uma ótima escolha de armazenamento para dados do OpenTelemetry. Sua integração com o Jaeger permite que você armazene grandes volumes de traces e os analise de forma eficiente.
-
50. Devbox
Apesar dos avanços nas ferramentas de desenvolvimento, manter ambientes de desenvolvimento locais consistentes continua a ser um desafio para muitas equipes. O onboarding de pessoas engenheiras frequentemente envolve a execução de comandos ou scripts customizados que imprevisivelmente podem falhar em diferentes máquinas e resultar em inconsistências. Para vencer esse desafio, nossas equipes têm se apoiado cada vez mais no Devbox. Dexbox é uma ferramenta de linha de comando que fornece uma interface acessível para criar ambientes de desenvolvimento reproduzíveis por projeto, aproveitando o gerenciador de pacotes Nix sem usar máquinas virtuais ou contêineres. Ela tem simplificado notavelmente o onboarding de nossas equipes porque, uma vez configurado para uma codebase, é necessário um comando CLI (
devbox shell
) para reproduzir o ambiente definido em um novo dispositivo. Devbox suporta shell hooks, scripts customizados e geração de devcontainer.json para integração com VSCode. -
51. Difftastic
Difftastic é uma ferramenta para destacar diferenças entre arquivos de código fonte de uma maneira que reconhece a sintaxe. Isso é bem diferente de ferramentas de comparação textual, como o venerável comando Unix
diff
. Por exemplo, o Difftastic ignora novas linhas inseridas para quebrar instruções longas em linguagens como Java ou TypeScript que são delimitadas por ponto e vírgula. A ferramenta destaca apenas as alterações que impactam a sintaxe do programa. Ela faz isso primeiro analisando os arquivos em árvores de sintaxe abstratas e, em seguida, calculando a distância entre eles usando o algoritmo de Dijkstra. Descobrimos que Difftastic é particularmente útil para entender as alterações ao revisar grandes quantidades de código fonte. Difftastic pode ser usado em qualquer linguagem de programação para a qual um analisador esteja disponível e, nativamente, suporta mais de 50 linguagens de programação, bem como formatos de texto estruturados como CSS e HTML. Essa não é uma ferramenta nova, mas achamos que valeria a pena chamar a atenção na era dos assistentes de codificação LLM, onde revisões humanas de código fonte cada vez maiores são gradualmente mais críticas. -
52. LinearB
LinearB é uma plataforma de inteligência em engenharia de software que tem empoderado nossas lideranças de engenharia com insights orientados por dados para apoiar a melhoria contínua. A plataforma alinha áreas chave como benchmarking, automação de fluxo de trabalho e investimentos direcionados para aprimorar a experiência e a produtividade das desenvolvedoras. Em nossa experiência com o LinearB, destacamos sua capacidade de promover uma cultura de melhoria e eficiência dentro das equipes de engenharia. Nossas equipes têm utilizado a plataforma para acompanhar métricas chave de engenharia, identificar áreas para aprimoramento e implementar ações baseadas em evidências. Essas capacidades estão bem alinhadas com a proposta de valor central do LinearB: benchmarking, automação da coleta de métricas e habilitação de melhorias orientadas por dados. O LinearB integra-se com ferramentas de código-fonte, ciclo de vida de aplicativos, CI/CD e comunicação e utiliza métricas de engenharia pré-configuradas e personalizadas para fornecer insights quantitativos abrangentes sobre a experiência da desenvolvedora, produtividade e desempenho da equipe. Como defensoras do DORA, valorizamos a forte ênfase do LinearB nessas métricas específicas e sua capacidade de avaliar aspectos cruciais de desempenho da entrega de software, essenciais para aprimorar a eficiência. Historicamente, as equipes enfrentaram desafios para coletar métricas específicas do DORA, muitas vezes dependendo de dashboards personalizados e complexos ou processos manuais. O LinearB continua a oferecer uma solução convincente que automatiza o rastreamento dessas métricas e entrega dados em tempo real que suportam a tomada de decisão proativa em torno da experiência da desenvolvedora, da produtividade e previsibilidade.
-
53. pgvector
pgvector é uma extensão de código aberto para busca de similaridade para o PostgreSQL, permitindo o armazenamento de vetores juntamente com dados estruturados em uma única e bem estabelecida base de dados. Embora careça de alguns recursos avançados de bancos de dados vetoriais especializados, ele se beneficia da conformidade com ACID, recuperação de pontos no tempo e outras funcionalidades robustas do PostgreSQL. Com o aumento de aplicações impulsionadas por IA generativa, identificamos um padrão crescente de armazenamento e busca eficiente de vetores de embeddings por similaridade, algo que o pgvector aborda de forma eficaz. Com o uso crescente do pgvector em ambientes de produção, especialmente onde equipes já utilizam um provedor de nuvem que oferece PostgreSQL gerenciado, e sua comprovada capacidade de atender às necessidades comuns de busca vetorial sem exigir um banco de dados vetorial separado, estamos confiantes de seu potencial. Nossos times o consideram valioso em projetos que comparam dados estruturados e não estruturados, demonstrando seu potencial para uma adoção mais ampla, e por isso, estamos movendo-o para o anel Experimente.
-
54. Ferramenta de construção Snapcraft
Snapcraft é uma ferramenta de linha de comando de código aberto para construir e empacotar aplicativos independentes chamados snaps no Ubuntu, outras distribuições Linux e macOS. Os snaps são fáceis de implementar e manter em plataformas de hardware, incluindo máquinas Linux, ambientes virtuais e sistemas de computador de bordo de veículos. Enquanto o Snapcraft oferece uma loja de aplicativos pública para publicação de snaps, nossas equipes usam a ferramenta de construção para empacotar o sistema de direção autônoma como um snap sem publicá-lo na loja de aplicativos pública. Isso nos permite construir, testar e depurar o sistema de software embarcado localmente enquanto o publicamos em um repositório de artefatos internos.
-
55. Spinnaker
Spinnaker é uma plataforma open-source de entrega contínua criada pela Netflix. Ela implementa gerenciamento de clusters e imagens preparadas para a nuvem como funcionalidade principal. Gostamos da abordagemopinionada da Spinnaker para a implantação de microsserviços. Nas edições anteriores, notamos a falta da capacidade em configurar pipelines como código, mas isso foi solucionado com a adição do spin CLI. Embora não recomendemos a Spinnaker para cenários simples de CD, ela se tornou uma ferramenta de escolha para situações complexas com pipelines de implantação igualmente complexas.
-
56. TypeScript OpenAPI
TypeScript OpenAPI (ou tsoa) é uma alternativa ao Swagger para gerar especificações OpenAPI a partir do seu código. Ela adota uma abordagem code-first, com controladores e modelos TypeScript como a única fonte de verdade, utilizando anotações ou decoradores TypeScript em vez de exigir arquivos e configurações mais complexos, como os que são necessários ao usar ferramentas OpenAPI para TypeScript. Ela gera especificações de API nas versões 2.0 e 3.0, e as rotas podem ser geradas para Express, Hapi e Koa. Se você está escrevendo APIs em TypeScript, esse projeto vale a pena ser explorado.
-
57. Unleash
Embora o uso de feature toggle mais simples possível continue sendo nossa abordagem recomendada, o crescimento das equipes e o desenvolvimento mais ágil tornam a gestão de toggles feitos manualmente mais complexa. Unleash é uma opção amplamente utilizada por nossas equipes para lidar com essa complexidade e viabilizar o CI/CD. A ferramenta pode ser usada tanto como serviço quanto de forma auto-hospedada. Oferece SDKs em várias linguagens com uma boa experiência para desenvolvedoras e uma interface amigável de fácil administração. Embora ainda não haja suporte oficial para a especificação OpenFeature, você pode encontrar providers mantidos pela comunidade para Go e Java. A Unleash pode ser utilizada tanto para feature toggles simples quanto para segmentação e lançamentos graduais, tornando-se uma opção adequada para o gerenciamento de features em larga escala.
Avalie
-
58. Astronomer Cosmos
Astronomer Cosmos é um plugin Airflow desenvolvido para prover mais suporte nativo para workflows dbt no Airflow. Com o plugin instalado, quando
DbtDag
é usado para empacotar um workflow dbt, ele transforma nodos dbt em grupos de tarefas/tarefa Airflow, permitindo que pessoas engenheiras visualizem grafos de dependência dbt e os seus progressos de execução diretamente na interface Airflow. Ele também suporta a utilização de conexões Airflow ao invés de perfis dbt, potencialmente reduzindo configuration sprawl. Estamos experimentando o potencial da ferramenta de tornar o trabalho com dbt no Airflow mais fácil. -
59. ColPali
ColPali é uma ferramenta emergente para recuperação de documentos PDF utilizando modelos de linguagem visual (VLMs), abordando os desafios de construir uma aplicação robusta de geração aumentada por recuperação (RAG) que pode extrair dados de documentos multimídia contendo imagens, diagramas e tabelas. Diferentemente dos métodos tradicionais que dependem de embeddings baseados em texto ou técnicas de reconhecimento óptico de caracteres (OCR), o ColPali processa páginas inteiras de PDFs, utilizando um transformador visual para criar embeddings que consideram tanto o conteúdo textual quanto o visual. Essa abordagem holística permite uma recuperação mais eficaz, além de fornecer justificativas para a seleção de certos documentos, aprimorando significativamente o desempenho do RAG em relação a PDFs ricos em dados. Nós testamos o ColPali com várias clientes e ele demonstrou resultados promissores, mas a tecnologia ainda está nos estágios iniciais. Vale a pena avaliar, particularmente para organizações com dados em documentos visuais complexos.
-
60. Cursor
A corrida por ferramentas de programação assistidas por IA continua, e a mais chamativa é Cursor. O Cursor é um editor de código com foco em IA projetado para aumentar a produtividade do desenvolvedor, integrando profundamente a IA ao fluxo de trabalho de codificação. Temos prestado atenção a ele em edições anteriores do radar, mas é claro que a recente melhoria contínua do Cursor inaugurou uma mudança qualitativa. Em nosso uso, o Cursor demonstrou fortes capacidades de raciocínio contextual com base na base de código existente. Enquanto outras ferramentas de código de IA como GitHub Copilot tendem a gerar e colaborar em torno de trechos de código, as operações de edição multi-linha e multi-arquivo do Cursor o destacam. O Cursor é um fork do VSCode e desenvolvido com base nele, fornecendo um método de interação rápido e intuitivo que está em conformidade com a intuição do desenvolvedor. Operações poderosas podem ser concluídas com
ctrl/cmd+K
ectrl/cmd+L
. O Cursor está liderando uma nova rodada de competição em ferramentas de programação de IA, especialmente em relação à interação da desenvolvedora e à compreensão das bases de código. -
61. Data Mesh Manager
Data Mesh Manager fornece camada de metadados de uma típica plataforma de data mesh. Particularmente, ela foca na definição de produtos de dados e na especificação de contratos de dados fazendo uso da iniciativa OpenContract e pode ser integrada à construção de pipelines usando o DataContract CLI associado. A aplicação também disponibiliza um catálogo de dados para a descoberta e análise de produtos de dados e seus metadados, além de permitir a governança federada, incluindo a definição de métricas de qualidade dos dados e o gerenciamento de suas regras. É uma das primeiras ferramentas nativas nessa categoria, o que significa que não está apenas tentando retroadaptar plataformas existentes ao paradigma do data mesh.
-
62. GitButler
Apesar de sua potência e utilidade, a interface de linha de comando do Git é notoriamente complexa quando se trata de gerenciar múltiplos branches e preparar commits dentro deles. O GitButler é um cliente Git que oferece uma interface gráfica com o objetivo de simplificar esse processo. Ele faz isso rastreando mudanças em arquivos não commitados de forma independente do Git e, em seguida, preparando essas mudanças em branches virtuais. Pode-se argumentar que isso é uma solução para um problema que não deveria existir; se você fizer pequenas alterações e enviar para a branch principal com frequência, não há necessidade de múltiplos branches. No entanto, quando seu fluxo de trabalho envolve pull requests, a estrutura de branches pode se tornar complexa, especialmente se houver um longo ciclo de revisão antes de um PR ser integrado. Para lidar com isso, o GitButler também se integra ao GitHub, permitindo que você agrupe seletivamente as alterações em pull requests e os envie diretamente da ferramenta. O GitButler é mais uma entrada na crescente categoria de ferramentas voltadas para gerenciar a complexidade inerente ao processo de PR.
-
63. Assistente de IA JetBrains
JetBrains AI Assistant é uma assistente de codificação projetada para se integrar perfeitamente com todas as IDEs da JetBrains para oferecer suporte com a autocomplementação do código, geração de testes e adesão a guias de estilo. Baseada em modelos como o OpenAI e o Google Gemini, destaca-se por sua capacidade de garantir consistência ao lembrar estilos de codificação para sessões futuras. Nossas pessoas desenvolvedoras acharam suas capacidades de geração de testes particularmente úteis e notaram sua habilidade de lidar com resultados mais longos sem problemas de estabilidade. No entanto, ao contrário de algumas concorrentes, a JetBrains não hospeda seus próprios modelos, o que pode não ser ideal para clientes preocupadas com o manuseio de dados por terceiros. Ainda assim, a integração da ferramenta com as IDEs da JetBrains faz dela uma escolha promissora para times que buscam assistentes de codificação impulsionadas por IA.
-
64. Mise
Desenvolvedoras que trabalham em um ambiente poliglota frequentemente precisam gerenciar várias versões de diferentes linguagens e ferramentas. Mise mira resolver esse problema fornecendo uma única ferramenta para substituir o nvm, pyenv, rbenv, rustup, entre outros, e é um substituto direto para o asdf. Mise é escrito em Rust para garantir maior velocidade na interação com o shell e, ao contrário do asdf, que usashims baseados em shell, o Mise modifica a variável de ambiente PATH antecipadamente, de modo que as ferramentas sejam chamadas diretamente. É em parte por isso que o Mise é mais rápido que o asdf. Para aquelas desenvolvedoras que já estão familiarizadas com o asdf, ele oferece a mesma funcionalidade, mas com algumas diferenças importantes. Por ser escrito em Rust, ele é mais rápido e tem alguns recursos que o asdf não tem, como a capacidade de instalar várias versões da mesma ferramenta ao mesmo tempo e comandos mais tolerantes, incluindo correspondência difusa. Ele também fornece um executor de tarefas integrado, útil para executar linters, testes, builders, servidores e outras tarefas específicas de um projeto. Se você está um pouco cansada de usar várias ferramentas para gerenciar seu ambiente de desenvolvimento, ou da sintaxe às vezes complicada de outras ferramentas, o Mise definitivamente vale a pena ser considerado.
-
65. Mockoon
Mockoon é uma ferramenta open-source para simulação de APIs. Possui uma interface intuitiva, rotas personalizáveis e respostas dinâmicas, bem como a capacidade de automatizar a criação de conjuntos de dados simulados. Mockoon é compatível com OpenAPI e permite gerar diferentes cenários que podem ser testados localmente e integrados a uma pipeline de desenvolvimento. Você também pode criar "mocks parciais" interceptando as solicitações e simulando apenas as chamadas definidas no Mockoon. Os partial mocks ajudam a simular rotas ou endpoints específicos da API e encaminhar outras solicitações para servidores reais. Embora os partial mocks possam ser úteis em certos cenários, existe o risco de uso excessivo, o que pode resultar em complexidade desnecessária. Além disso, o Mockoon continua sendo uma ferramenta valiosa para configurar rapidamente APIs simuladas e melhorar e automatizar os fluxos de trabalho de desenvolvimento.
-
66. Raycast
Raycast é um inicializador de modelo freemium (combinação das palavras "gratuito" e "premium") para macOS que permite iniciar rapidamente aplicativos, executar comandos, buscar arquivos e automatizar tarefas diretamente do teclado. Nossas equipes valorizam seus recursos prontos para desenvolvedoras e sua fácil extensibilidade, que permite interação com aplicativos e serviços de terceiros, como VSCode, Slack, Jira e Google, entre muitos outros. O Raycast é voltado para a produtividade e minimiza a troca de contexto, tornando-se uma ferramenta útil para quem busca otimizar suas tarefas diárias. Usuárias da versão Pro têm acesso ao Raycast AI, um assistente de busca especializado em tecnologia de IA.
-
67. ReadySet
ReadySet é um cache de consultas para MySQL e PostgreSQL. Ao contrário das soluções de cache tradicionais que dependem de invalidação manual, o ReadySet utiliza fluxos de replicação do banco de dados para atualizar seu cache de forma incremental. Através da materialização parcial de views, o ReadySet alcança latências finais mais baixas do que uma réplica de leitura tradicional. O ReadySet é compatível com os protocolos de MySQL e PostgreSQL, permitindo que você o implante entre sua aplicação e seu banco de dados para escalar horizontalmente as cargas de leitura sem exigir mudanças na aplicação.
-
68. Rspack
Muitas de nossas equipes que trabalham em frontends baseados na web mudaram de ferramentas de empacotamento mais antigas, como a Webpack, para Vite. Uma nova participante nesse campo é a Rspack, que, após um ano e meio de desenvolvimento, acaba de lançar sua versão 1.0. Projetada como um substituto direto para a Webpack, é compatível com plugins e loaders do ecossistema Webpack. Isso pode ser uma vantagem sobre a Vite ao migrar configurações complexas do Webpack. A principal razão pela qual nossas equipes estão migrando para ferramentas mais recentes como Vite e Rspack é a experiência da desenvolvedora e, em particular, a velocidade. Nada interrompe mais o fluxo de desenvolvimento do que ter que esperar um ou dois minutos para obter feedback sobre as últimas alterações no código. Escrita em Rust, Rspack oferece um desempenho significativamente mais rápido do que a Webpack e, em muitos casos, é até mais rápido que a Vite.
-
69. Semantic Router
Ao desenvolver aplicações baseadas em LLM, é fundamental determinar a intenção da usuária antes de direcionar uma solicitação para um agente especializado ou iniciar um fluxo específico. O Semantic Router atua como uma camada de tomada de decisão ultrarrápida para LLMs e agentes, permitindo o roteamento eficiente e confiável de solicitações com base no significado semântico. Usando vector embeddings para inferir a intenção, o Semantic Router reduz chamadas desnecessárias aos LLMs, proporcionando uma abordagem mais enxuta e econômica para entender a intenção da usuária. Seu potencial vai além da inferência de intenção, atuando como um bloco de construção versátil para diversas tarefas semânticas. A velocidade e flexibilidade que ele oferece o posicionam como um forte concorrente em ambientes que exigem tomada de decisão rápida e em tempo real, sem o custo adicional dos LLMs.
-
70. Agentes de engenharia de software
Um dos tópicos mais comentados, atualmente, no espaço de IA generativa, é o conceito de agentes de engenharia de software. Essas ferramentas de assistência de codificação fazem mais do que apenas ajudar a pessoa engenheira com trechos de código aqui e ali; elas ampliam o tamanho do problema que podem resolver, idealmente de forma autônoma e com o mínimo de interferência de uma pessoa. A ideia é que essas ferramentas possam pegar um problema do GitHub ou um tíquete do Jira e propor um plano e alterações de código para implementá-lo, ou até mesmo criar uma pull request para uma pessoa revisar. Embora este seja o próximo passo lógico para aumentar o impacto da assistência de codificação com IA, a meta frequentemente anunciada de agentes genéricos que podem cobrir uma ampla gama de tarefas de codificação é muito ambiciosa, e o estado atual das ferramentas ainda não está mostrando isso de forma convincente. No entanto, podemos acompanhar isso funcionando mais cedo ou mais tarde para um escopo mais limitado de tarefas diretas, liberando tempo da pessoa desenvolvedora para trabalhar em problemas mais complexos. As ferramentas que estão lançando e comercializando versões beta de agentes incluem GitHub Copilot Workspace, qodo flow, Tabnine's agents for JIRA e Amazon Q Developer. O comparador SWE Bench lista ferramentas neste contexto, mas alertamos para levar as comparações no campo da IA com cautela.
-
71. uv
Rust é uma boa indicação para escrever ferramentas de linha de comando devido a sua rápida performance de inicialização, e acompanhamos pessoas reescrevendo algumas toolchains com a linguagem. Nós mencionamos o Ruff, um linter Python escrito em Rust, no Radar anterior. Para esta edição, nós avaliamos uv, uma ferramenta de gerenciamento de pacotes Python escrita em Rust. A proposta de valor da uv é serextremamente rápida e ela supera outras ferramentas de gerenciamento de pacotes Python por uma grande margem em seus benchmarks. No entanto, durante nossa avaliação para o Radar, nós discutimos se otimizar em segundos para ferramentas de construção é uma melhoria significativa. Comparado ao desempenho, o mais importante para um sistema de gerenciamento de pacotes é o ecossistema, uma comunidade madura e suporte a longo prazo. Dito isso, o feedback da equipe do projeto nos mostrou que essa melhoria pequena de velocidade pode ser um grande benefício para melhorar os ciclos de feedback e a experiência geral da pessoa desenvolvedora, uma vez que temos a tendência de manualmente tornar o cache de CI/CD muito complexo para conseguir este pequeno ganho de performance. uv simplifica nosso ambiente de gerenciamento Python. Considerando que ainda há muito espaço para melhorias no gerenciamento de pacotes e ambientes para desenvolvimento Python, nós achamos que a uv é uma opção que vale a pena avaliar.
-
72. Warp
Warp é um terminal para macOS e Linux. Ele divide as saídas de comandos em blocos para melhorar a legibilidade. Warp oferece recursos orientados por IA como sugestão inteligente de comandos e processamento de linguagem natural. Também inclui funcionalidades de anotação que permitem às usuarias organizar comandos e saídas, além de adicionar anotações e documentação. Você pode aproveitar esses recursos para criar arquivos LEIAME ou materiais de onboarding, oferecendo uma maneira estruturada e interativa de apresentar e gerenciar fluxos de trabalho de terminal. Warp se integra facilmente com Starship, um prompt flexível com suporte a múltiplos shells, permitindo personalizar a experiência no terminal e recuperar informações sobre processos em execução, a versão específica da ferramenta que você está usando, detalhes do Git ou da usuária atual do Git, entre outras informações.
-
73. Zed
Depois da descontinuação do projeto do editor de textos Atom, as pessoas responsáveis pela sua criação desenvolveram um novo editor chamado Zed. Escrito em Rust e otimizado para aproveitar os hardwares atuais, o Zed parece rápido. Ele possui todas as funcionalidades que esperamos em um editor moderno: suporte a muitas linguagens de programação, um terminal integrado e edição multi-buffer. Codificação assistida por IA está disponível através da integração com diversos provedores de LLM. Como entusiastas da programação em pares, estamos interessadas pela funcionalidade de colaboração remota integrada ao Zed. As pessoas desenvolvedoras podem se encontrar através de seus IDs do Github e podem colaborar no mesmo workspace em tempo real. É muito cedo para dizer se as equipes de desenvolvimento podem e querem sair da atração do ecossistema Visual Studio Code, mas o Zed é uma alternativa a ser explorada.
Evite
-
74. CocoaPods
CocoaPods tem sido uma ferramenta popular de gerenciamento de dependências para projetos Cocoa em Swift e Objective-C. No entanto, a equipe do CocoaPods anunciou que o projeto está em modo de manutenção após mais de uma década sendo uma ferramenta essencial para desenvolvedoras em iOS e macOS. Embora a ferramenta e seus recursos permaneçam disponíveis, o desenvolvimento ativo será interrompido. As desenvolvedoras são encorajadas a transicionar para o Swift Package Manager, que oferece integração nativa com o Xcode e um melhor suporte a longo prazo da Apple.
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.