被卖半年后的Hutool:还适合继续使用吗?

167 阅读4分钟

沉默是金,总会发光

大家好,我是沉默

最近发现了一个令人关注的话题——Hutool,这个备受欢迎的国产开源框架,自从被收购已经过去近7个月了。

在这段时间里,Hutool发布了少量更新,并且推出了它的新模块——Hutool AI,吸引了不少开发者的关注。

那么,Hutool现在的现状如何?它未来又将如何发展?如果你不打算继续使用Hutool,还有哪些替代框架可以考虑?让我们一起探讨。

**-**01-

近半年 Hutool 的发展状况

自 Hutool 被收购近7个月以来,尽管它发布了4个版本的更新,但大多数更新都是 Bug 修复,功能更新的数量并不多。然而,这其中最引人注目的是 Hutool AI 模块的发布——一个重要的里程碑。

图片
1. 收购公司背景

收购 Hutool 的公司与收购 AList 的公司是同一家(不够科技)。尽管这家公司曾因在收购 AList 代码中悄悄收集用户设备信息而遭遇广泛关注,但这并不影响 Hutool 的日常运营。然而,因收购而被怀疑“投毒”——这种负面情绪在开发者群体中传播开来,导致 Hutool 的部分忠实用户流失。

2. Hutool AI 模块的推出

Hutool AI 模块的发布成为了收购后最值得庆贺的事件之一。该模块提供了统一的API接口,能够轻松对接各大AI服务,如 DeepSeek、OpenAI、Grok 和豆包等主流大模型。使用Hutool AI,你只需简单配置,就可以轻松调用不同的AI服务。

图片
3. 更新与功能

Hutool 发布的 AI 模块支持了以下功能:

  • 统一API设计:简化了不同AI服务的调用。
  • 支持多种主流AI模型服务:包括 DeepSeek、OpenAI。
  • 开箱即用的工具方法:一行代码即可实现复杂的AI功能。
4. 未来更新计划
  • Hutool 5.x:主要基于 JDK 8 实现,未来的更新更多集中在 Bug 修复。
  • Hutool 6.x:尝试一些新的功能和特性,推动框架向更广泛的领域扩展。
  • Hutool 7.x:将基于 JDK 17,并移除一些过时的类,进行功能性和性能的提升。

- 02-

Hutool AI 模块的使用

对于那些希望集成AI服务的开发者,Hutool AI 提供了非常便利的接口。以下是如何使用 Hutool AI 模块的一些示例代码:

1. 添加依赖

<dependency>    <groupId>cn.hutool</groupId>    <artifactId>hutool-ai</artifactId>    <version>5.8.38</version></dependency>

2. 实现对话功能

DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel("your bots id").build(), DoubaoService.class);ArrayList<Message> messages = new ArrayList<>();messages.add(new Message("system","你什么都可以"));messages.add(new Message("user","你想做些什么"));String botsChat = doubaoService.botsChat(messages);

3. 识别图片

DoubaoServicedoubaoService= AIServiceFactory.getAIService(newAIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel(Models.Doubao.DOUBAO_1_5_VISION_PRO_32K.getModel()).build(), DoubaoService.class);Stringbase64= ImgUtil.toBase64DataUri(Toolkit.getDefaultToolkit().createImage("your imageUrl"), "png");StringchatVision= doubaoService.chatVision("图片上有些什么?", Arrays.asList(base64));

4. 生成视频

DoubaoServicedoubaoService= AIServiceFactory.getAIService(newAIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel("your Endpoint ID").build(), DoubaoService.class);StringvideoTasks= doubaoService.videoTasks("生成一段动画视频,主角是大耳朵图图,一个活泼可爱的小男孩。视频中图图在公园里玩耍,画面采用明亮温暖的卡通风格,色彩鲜艳,动作流畅。""your_image_url");

图片

- 03-

同类替代框架

如果你不希望继续使用 Hutool,或者对其安全性、更新等有疑虑,市面上也有一些成熟的替代框架:

  1. Apache Commons
    作为一个老牌的开源框架,Apache Commons 提供了丰富的工具类,涵盖了多种常见的开发需求,适合各类项目使用。

    图片

  2. Google Guava
    Google Guava 是一款功能强大的工具类库,提供了集合操作、缓存机制、并发工具等丰富的功能,适用于 Java 开发中的多种场景。

图片

**-****04-**总结

为了帮助开发者更好地理解 Hutool 和 Hutool AI 的使用,我还准备了相关的视频教程,帮助你更直观地学习如何集成和使用 Hutool。

尽管 Hutool 的收购背景让一些开发者有所担忧,但它的AI模块和后续的更新计划仍然为开发者带来了便利。对于那些不希望继续使用 Hutool 或者有替代需求的开发者,可以尝试使用其他成熟的开源框架如 Apache Commons 和 Google Guava。

对于开源框架的未来,我们无法预知它们的发展,但我们可以选择不断学习和适应,利用现有工具提升开发效率。希望今天的分享能够为你带来一些启发,也期待看到 Hutool 未来的发展。

图片

**-****05-**粉丝福利

我这里创建一个程序员成长&副业交流群, 


 和一群志同道合的小伙伴,一起聚焦自身发展, 

可以聊:


技术成长与职业规划,分享路线图、面试经验和效率工具, 




探讨多种副业变现路径,从写作课程到私活接单, 




主题活动、打卡挑战和项目组队,让志同道合的伙伴互帮互助、共同进步。 




如果你对这个特别的群,感兴趣的, 
可以加一下, 微信通过后会拉你入群, 
 但是任何人在群里打任何广告,都会被我T掉。