语言 & 框架
采纳
-
83. OpenTelemetry
OpenTelemetry 正迅速成为可观察性领域的行业标准。随着 OpenTelemetry 协议 (OTLP) 规范的发布,行业内有了一个标准化的方式来处理追踪 (traces)、指标 (metrics) 和日志 (logs)。这减少了在监控分布式解决方案和满足互操作性需求时的多重集成或主要代码重构的需要。随着 OpenTelemetry 扩展对日志和性能分析的支持,OTLP 为所有遥测数据提供了一个一致的传输格式,简化了应用的仪表化过程,使全栈可观察性对于微服务架构更加易于实现且具有可扩展性。OTLP 已被诸如 Datadog 、New Relic 和 Grafana 等供应商采纳,帮助企业构建灵活的、与供应商无关的可观察性技术栈,避免被锁定在专有解决方案中。OTLP 支持 gzip 和 zstd 压缩,大幅减少遥测数据的大小并降低带宽使用——这对于处理高遥测数据量的环境尤为关键。为了支持长期发展,OTLP 确保 OpenTelemetry 保持强大且面向未来的标准,巩固了其作为遥测传输事实标准的地位。
评估
-
91. .NET Aspire
.NET Aspire 旨在简化开发者本地机器上分布式应用的编排工作。Aspire 允许您在本地开发环境中编排多个服务,包括多个 .NET 项目、依赖的数据库和 Docker 容器——所有这些都可以通过一条命令完成。此外,Aspire 为本地开发提供了观察工具,包括日志记录、跟踪和指标仪表板,这些工具与用于预生产或生产环境的工具解耦。这大大改善了开发者在构建、调整和调试任何系统的可观察性方面的开发体验。
-
92. Android XR SDK
Google 和三星与高通合作推出了 Android XR, 这是一款专门为扩展现实(Extended Reality, XR)设计的操作系统。它在未来计划支持智能眼镜以及其他智能设备。大多数的安卓应用无需修改或者只需少量修改即可运行在该系统上,但它的核心理念是从零构建全新的空间应用,或者将现有的应用“空间化”。目前,全新的 Android XR SDK 被指定为此类项目的首选开发工具。Google 还提供了开发指南帮助开发者选择 SDK 内集成的工具与技术。目前,该 SDK 已经推出开发预览版本。
-
93. Browser Use
Browser Use 是一个开源的 Python 库,使基于 LLM 的 AI 代理能够使用网页浏览器并访问 Web 应用。它可以控制浏览器并执行包括页面导航、输入操作和文本提取在内的各种步骤。该库支持多标签页管理,能够在多个 Web 应用之间协调执行操作。在需要 LLM 代理访问网页内容、执行操作并获取结果的场景中,该库非常有用。它支持多种 LLM,并利用 Playwright 来控制浏览器,结合视觉理解与 HTML 结构提取,以优化 Web 交互体验。该库在多代理场景中正逐渐受到关注,使代理能够协作完成涉及 Web 交互的复杂工作流。
-
94. CrewAI
CrewAI 是一个专为构建和管理 AI 代理而设计的平台,它能让多个 AI 代理协同工作,共同完成复杂任务。我们可以将其理解为一群 AI 工作者组成的团队,每个成员都有自己的专长,并能齐心协力以达成共同目标。我们曾经在雷达中的LLM 驱动自主代理中提及过它。除了现有的 Python 开源库以外,CrewAI 现在还推出了企业级的解决方案,使组织可以创建基于代理的应用程序并应用于真实业务场景,在云基础设施上运行,并连接到现有的数据源(如 SharePoint 或者 JIRA)。我们已经多次使用 CrewAI 去应对生产环境中出现的问题,例如自动验证促销码,调查交易失败的原因以及处理客户支持相关的请求。在代理技术快速发展的背景下,我们对 CrewAI 的能力充满信心,因此将其归入“评估”类别。
-
95. ElysiaJs
ElysiaJS 是一个端到端类型安全的 TypeScript Web 框架,最初主要为 Bun 设计,但也兼容其他的 JavaScript 运行环境。与tRPC等替代方案不同(这类方案会强制要求特定的 API 接口结构),ElysiaJS 不强制任何特定的 API 接口结构。这使得开发者可以创建符合行业标准的 API,如 RESTful、JSON: API 或 OpenAPI,同时仍能提供端到端的类型安全。ElysiaJS 在 Bun 运行环境上运行表现极好,在某些基准测试中甚至可与 Java 或 Go Web 框架相媲美。如果你在构建backend-for-frontend (BFF),ElysiaJS 是一个尤其值得考虑的选择。
-
96. FastGraphRAG
FastGraphRAG 是 GraphRAG 的一个开源实现,专为高检索准确性和性能而设计。它利用个性化 PageRank 限制图导航范围,仅关注图中与查询最相关的节点,从而提升检索准确性并改善大语言模型(LLM)的响应质量。FastGraphRAG 还提供图形的可视化表示,帮助用户理解节点关系及其检索过程。该工具支持增量更新,非常适合处理动态和不断演变的数据集。针对大规模 GraphRAG 用例进行了优化,FastGraphRAG 在提升性能的同时有效降低了资源消耗。
-
97. Gleam
Erlang/OTP 是一个强大的平台,用于构建高并发、可扩展且具备容错能力的分布式系统。传统上,其语言是动态类型的,而 Gleam 在语言层面引入了类型安全。Gleam 构建于 BEAM 之上,将函数式编程的表达能力与编译时的类型安全相结合,从而减少运行时错误并提高可维护性。Gleam 拥有现代化的语法,与 OTP 生态系统高度集成,充分利用了 Erlang 和 Elixir 的优势,同时确保了强大的互操作性。Gleam 社区活跃且友好,我们期待它的持续发展。
-
98. GoFr
-
99. Java后量子密码学(Java post-quantum cryptography)
非对称加密——这一保障了多数现代通信安全的核心概念——依赖于数学上难以求解的问题。然而,今天使用的算法中的问题在量子计算机面前将变得容易解决,这推动了替代方案的研究。基于格的密码学是其中最被看好的候选技术。尽管与密码学相关的量子计算机仍需多年以后才能面世,对于那些需要长期保证安全的应用来说,后量子密码学已成为一个值得关注的领域。此外还存在一种风险,攻击者可能会记录当前的加密数据并等待量子计算机推出后破解。
Java 后量子密码学 在 JDK 24 中迈出了第一步,该版本预计在 3 月底正式发布。此次更新引入了JEP 496 和 JEP 497 ,分别实现了一种密钥封装机制以及一套数字签名算法。二者均基于标准并设计为可以抵挡未来可能的量子计算攻击。虽然来自 Open Quantum Safe 项目的liboqs已经提供了基于 C 语言的实现并提供了 JNI 封装,但原生 Java 版本实现的出现依旧鼓舞人心。
-
101. PydanticAI
随着构建基于 LLM 的应用程序以及代理的技术的快速发展,构建和编排这种应用的框架往往难以跟上步伐,或者找到合适的长期适用的抽象。PydanticAI是该领域的最新成员,旨在简化实现过程的同时,避免不必要的复杂度。它由著名的Pydantic的开发者们打造,并吸收了早期框架的经验——其中的很多框架已经依赖 Pydantic。PydanticAI 没有尝试成为一个多功能工具,而是提供了一个轻量级但是功能强大的方案。它不仅兼容主流的模型 API,而且内置了结构化输出处理的特性,并且引入了基于图形的抽象层来管理复杂的代理工作流。
-
102. 资源受限应用中使用 Swift
自从 Swift 6.0 发布以来,这门语言已经超越了 Apple 生态系统的限制,通过对主要操作系统的改进支持,使在 资源受限应用中使用 Swift 变得更加可行。传统上,这一领域主要由 C、C++ 以及近年来的 Rust 占据,因为它们具备低级别的控制、高性能以及符合诸如 MISRA、ISO 26262 和 ASIL 等标准的认证编译器和库。尽管 Rust 已逐步获得类似的认证,但 Swift 尚未开始这一认证过程,这限制了其在安全关键型应用中的使用。
Swift 的日益普及,得益于其在性能与安全特性之间的良好平衡,包括强类型安全和自动引用计数(ARC)内存管理功能。虽然 Rust 的所有权模型提供了更强的内存安全保证,但 Swift 提供了一种不同的权衡方式,这种方式对某些开发者来说更加易于接受。Swift 和 Rust 都基于 LLVM/Clang 编译器后端,这使得一方的技术进步也能惠及另一方。凭借其将代码编译为优化机器码的能力、开源的开发模式以及不断扩展的跨平台支持,Swift 正逐步成为应用范围更广的有力竞争者——远远超越了其最初的 iOS 根基。
暂缓
-
105. Node超载
几年前,我们观察到了一种现象,即 Node 超载 :Node.js 经常被用在一些不合理的场景中,甚至在没有考虑其他替代方案的情况下就被选择了。尽管我们理解某些团队倾向于使用单一语言栈——即便要付出一些权衡的代价——但我们仍然倡导 多语言编程(Polyglot Programming) 。当时,我们指出 Node.js 因在 IO 密集型工作负载中的高效性而享有应得的声誉,但也提到其他框架已经赶上,提供了更好的 API 和更优越的整体性能。同时,我们警告说,Node.js 从未适合计算密集型工作负载,这一局限性至今仍然是一个重大的挑战。如今,随着数据密集型工作负载的兴起,我们看到团队在应对这些问题时也面临着越来越大的困难。
无法找到需要的信息?
每期技术雷达中的条目都在试图反映我们在过去六个月中的技术洞见,或许你所搜索的内容已经在前几期中出现过。由于我们有太多想要谈论的内容,有时候不得不剔除一些长期没有发生变化的条目。技术雷达来自于我们的主观经验,而非全面的市场分析,所以你可能会找不到自己最在意的技术条目。