Community IntelliJ IDEA

Java 开源项目如何使用 IntelliJ IDEA:现实示例 – 第 2 部分

Read this post in other languages:

在本系列的第 1 部分中,我们介绍了 Java 社区最具影响力的一些开源项目。现在,我们再度带来更多优秀项目:这些项目既能加速构建、增强测试,又能简化现代 Web 技术栈的使用。一如既往,IntelliJ IDEA 致力于帮助项目维护者更高效、更自信地推进工作,同时始终聚焦质量。

🌿 jsoup

一款处理真实世界 HTML 的 Java 库。

jsoup 的命名源于早期网络内容中混乱的“tag soup”。2009 年,基于正则表达式的 HTML 解析被证实过于脆弱,而当时已有的 Java HTML 库又显得笨重且功能受限,jsoup 应运而生。受 jQuery 简洁性的启发,jsoup 旨在让 Java 中的 HTML 解析变得直观易用。如今,它为 HTML 的解析、清理与操作提供了一套简单易用的工具,同时支持 HTML5、XML、净化、W3C API 等功能。

IntelliJ IDEA 是我的首选 IDE,它直观、强大,在代码导航、数据流和测试方面表现出色。它的检查功能可以及早发现问题,而内置的测试、分析和依赖项管理工具直接提升了 jsoup 的开发。

— Jonathan Hedley,jsoup 创作者

尽管目前 jsoup 已相当成熟,但开发工作仍在持续推进。近期新增功能包括原生 HTTP/2 请求支持(可实现高效连接),以及一款快速的新型混合式 DOM+SAX 风格 StreamParser。未来计划涵盖自定义标记支持、改进的 pretty printer 和增强版 HTML 清理工具。如果您有意贡献力量或有其他想法,可以访问 jsoup 网站参与其中!

🚀 http4k

一款轻量且实用的工具包,专为使用 Kotlin 构建 HTTP 服务而设计。

受 Twitter 的 Your Server as a Function(您的服务器即函数)论文启发,http4k 最初只是一段 40 行代码的脚本,如今已发展为包含 180 个模块。它基于纯函数构建,无依赖项或反射机制,兼具高速与高可移植性,既可以在内存中运行,也支持 14 种服务器后端、6 种无服务器平台,或作为 GraalVM 二进制文件。http4k 以极致简洁和高度可测试性为核心设计理念,致力于成为当前市面上可测试性最强的 Web 工具包。

作为 IntelliJ IDEA 的重度用户,我们是 JetBrains 产品的忠实拥趸。我们不仅使用 IDE 的重构功能可靠地操作和重构代码,还能通过相同的按键绑定轻松开展跨语言开发。

— David Denton 和 Ivan Sanchez,http4k 创作者

http4k 持续拓展,近期新增功能包括用于无状态、无服务器部署的 Model Context Protocol (MCP) SDK;Datastar 集成;TracerBullet 模块(通过运行测试生成代码行为序列图),以及即将推出的事务性发件箱模块。一如既往,所有功能均基于可组合函数构建,并且非常注重可测试性。

🧞 Selenide

一款简洁的测试库,专为编写稳定、易读且快速的 UI 测试而设计。

Selenide 的诞生源于实际需求。当时,没有成熟的 Java UI 测试库,而 Selenium WebDriver 需要大量样板代码,这不仅降低了测试可读性,还拖慢了开发进度。为此,Andrei Solntsev 将其内部自动化工具提炼为一款简洁、表达性强的库,旨在简化浏览器测试的编写流程。

IntelliJ IDEA 在各方面都是我最青睐的 IDE,它甚至影响了 Selenide 的设计。我构建这款库的初衷就是为了让 IntelliJ IDEA 自动提示可用方法,让开发者无需查阅繁杂文档就能轻松探索功能。只需输入一个点,IDE 就会为您提供指引。

Andrei Solntsev,Selenide 创作者

如今,Selenide 团队仍持续聚焦于稳定易读的测试、快速的执行效率和流畅的开发者体验。他们正积极推进 BiDi 协议支持、优化文档,并加强与不断演进的 Selenium 标准的集成。

🧠 Flix

一门具备坚实理论基础的面向效应编程语言。

Flix 由奥胡斯大学 (Aarhus University) 开发,融合了函数式、命令式和逻辑式三种编程范式。它的核心是强大的效应系统,具备代数效应与处理程序以提升模块化程度和代码清晰度,支持局部可变状态以在纯函数内隔离副作用,还提供纯度反射功能,可以实现安全的自动并行化与惰性求值。

尽管源于学术研究,Flix 已用于真实应用程序开发,且始终聚焦于性能、可靠性与开发者体验。

Flix 编译器主要采用 Scala 编写,我们的开发团队几乎完全在 IntelliJ IDEA 中开展工作,它的内置分析器为高效类型推断实现的开发提供了关键支持,而调试工具则每天用于排查源代码中难以捕捉的 bug。

— Magnus Madsen,Flix 核心开发者

该团队正积极推进 1.0 版的发布工作,持续优化效应系统与开发者体验,并在错误位置提供更精确、更富有实用价值的反馈。

🌐 Kobweb

一款使用 Kotlin 构建 Web 应用程序的现代框架。

Kobweb 的诞生源于将 Compose 的强大功能引入 Kotlin Web 开发的愿望。当时,大多数 Web 框架都以 JavaScript 和 TypeScript 为核心,Kotlin 开发者的选择有限。Compose HTML 虽初露锋芒,但生态系统尚不成熟。Kobweb 应运而生,填补了这一空白。它以 IntelliJ IDEA 和 Compose 等开发者熟悉的工具为基础,为使用 Kotlin 实现现代化声明式 Web 开发迈出了重要一步。

Kobweb 鼓励开发者使用 IntelliJ IDEA,尤其对于 Kotlin 开发来说,没有比它更出色的工具了。它包含众多强大功能,例如业界领先的重构工具、代码分析与导航,以及多光标等高级编辑功能,这些都值得深入掌握。如果您每天都使用 IDE,不妨花时间真正了解一下工具,它们会让您效率倍增、表现更出色。

— David Herman,Kobweb 创作者

Kobweb 即将迎来 1.0 版,计划填补剩余的 API 缺口、引入新的 UI 微件、增强其 IntelliJ IDEA 插件,并为社区制作简短视频教程。您可以通过公开路线图关注进展。如果您有意参与贡献,且具备相关领域技能,团队非常期待您的加入!


无论您正在构建框架、编译器还是库,这些 OSS 项目都证明了一点 – 当开发者拥有趁手的工具时,一切皆有可能。JetBrains 为能支持这些助力社区持续发展的项目而倍感自豪。

Lena Morozova

Lena Morozova

image description

Discover more