初心与迷茫:开源聊天软件的开发历程与自我思考

601 阅读7分钟

开源软件--林语

官网预览

image.png

项目介绍

官网基于 Nuxt.js 开发,采用 Nuxt Content 和 Nuxt Docus 构建内容管理与文档展示。网站界面使用 TailwindCSS 进行样式设计。

官网地址:linyu.chat
开源的地址:github.com/linyu-im/li…

迷你版预览

mini.png

项目介绍

林语mini是一款基于 Vue 3 和 Spring Boot 开发的轻量级在线聊天室,适合快速部署和扩展,支持以下核心功能:

  • 实时消息交互:基于 WebSocket 消息传输。
  • 高质量音视频通话:借助 WebRTC 技术,提供音视频通讯体验。
  • 文件共享:借助WebRTC实现便捷高效的文件传输功能。

技术栈

  • 前端:Vue 3 + Pinia,前端框架。
  • 后端:Spring Boot + MyBatis,后端开发解决方案。
  • 实时通讯:WebSocket 技术实现即时通信。
  • 音视频能力:采用 WebRTC 实现音视频交互。
  • 数据库:MySQL 提供可靠的数据存储支持。

在线体验地址:mini.linyu.chat/login?p=sun…
开源地址:github.com/linyu-im/li…

桌面端预览

desktop.png

项目介绍

桌面端基于 Tauri 框架开发,提供桌面端跨平台的即时通讯功能,支持以下核心功能:

  • 好友系统:支持添加、删除好友及好友状态管理。
  • 朋友圈:用户可以发布、查看、评论朋友圈动态。
  • 即时通讯:支持文本消息、语音消息、图片消息、文件消息等多种类型的聊天信息。
  • 音视频聊天:基于 WebRTC 实现的音视频通话。
  • 截图分享:支持截屏并快速分享至聊天窗口。
  • 群聊功能:支持创建和管理群聊,满足团队沟通需求。

技术栈

  • 桌面端:Tauri + React,实现跨平台的桌面应用。
  • 后端:Spring Boot + MyBatis,简洁灵活的后端开发框架。
  • 实时通讯:WebSocket 实现即时消息推送,WebRTC 提供音视频通讯能力。
  • 消息队列:RocketMQ 支持高效的消息分发与处理。
  • 缓存与存储:Redis 用于缓存管理,MySQL 提供持久化数据存储。

开源地址:github.com/DWHengr/lin…

移动端预览

mobile.png

项目介绍

移动端是一款基于 Flutter 开发的即时通讯应用,提供移动端跨平台的即时通讯功能,支持以下核心功能:

  • 好友管理:支持添加、删除好友、查看好友状态及管理好友列表。
  • 朋友圈:发布、查看、评论朋友圈动态,社交互动便捷。
  • 多种消息类型:支持文本、语音、图片、文件消息、截图、语音消息等多种聊天信息。
  • 音视频聊天:基于 WebRTC 实现的音视频通话。
  • 群聊功能:创建和管理群聊,支持群内消息交流和文件共享。
  • 扫码登录:通过二维码快速安全地登录应用。
  • 主题切换:用户可根据需要切换界面主题。

技术栈

  • 移动端:Flutter 提供移动端跨平台支持。
  • 后端:Spring Boot + MyBatis,简洁灵活的后端开发框架。
  • 实时通讯:WebSocket 实现即时消息推送,WebRTC 提供音视频通讯能力。
  • 消息队列:RocketMQ 支持高效的消息分发与处理。
  • 缓存与存储:Redis 用于缓存管理,MySQL 提供持久化数据存储。

开源地址:github.com/DWHengr/lin…

管理端预览

1730540920135.jpg

项目介绍

管理端基于 Vue 3 和 Pinia 开发,提供后台管理功能。支持以下核心功能:

  • 登录信息统计:实时统计用户登录情况及活跃度。
  • 用户管理:支持用户的增删改查操作,管理用户账户及权限。
  • 在线聊天:管理员可查看和参与在线聊天,实时响应用户需求。
  • 系统通知管理:发布和管理系统通知,确保用户及时获取重要信息。
  • 第三方会话管理:集成第三方会话平台,统一管理各类三方会话。

开源地址:github.com/DWHengr/lin…

自我思考

辗转反侧到深夜思考

凌晨两点多,我辗转反侧,拿起手机刷了会儿抖音,又看了会儿B站,也不知道要干嘛。时间又这样悄然流逝,本想学习点3D设计相关的内容,却被烦躁的情绪打断。烦躁的来源有对未来的思考,也有对当下的焦虑。正好耳机中响起了一首歌--于和伟的《只字不提》,于是我决定写点什么。

从梦想到实践:林语的诞生

打开电脑,我记录下此刻的自己,对现在和未来的思考。从去年8月份开始,我尝试开发了一款开源的聊天软件--林语。到今天已经过去了六个多月,我完成了桌面端、移动端、迷你版、以及管理端的开发。起初做这款软件,一方面是为了实现儿时的梦想:设计一款属于自己的聊天软件;另一方面,是希望通过开源与大家交流学习,同时提高一些知名度,也为未来的计划做些铺垫。

内容创作的初尝

基于林语,我还制作了几期视频上传到B站。从小伙伴们的反馈来看,大家感官还不错,数据表现也较为合理。然而,我清楚地知道,仍有许多地方需要提升,无论是代码质量、UI设计,还是视频剪辑,都还有很大的改进空间。

名字背后的故事:林语的由来

关于这个名字--林语,B站上很多小伙伴好奇它的来源,甚至有人联想到蔡依林的“淋语”。其实,这名字并没有什么深刻含义,只是因为我有个好兄弟他给他的公司起名叫良森,我想着不如就叫林语吧,取“林间小语”之意。

关于意义的反思

最近,我常常在想:什么事情有意义?什么是意义?我学了很多与自己专业相关的内容,技术涉及广泛却不够精深。虽然能做出一些东西,但总觉得离完美还有很远。追求这些内容的意义是什么?是为了获得更高的薪资,或者是单纯满足自己的求知欲,还是为了逃避现实?

迷茫与初心的力量

就像我之前提到的,开发林语的初衷是清晰的,而后投入的时间与精力越来越多。与此同时,身边也出现了一些不同的声音。偶尔我会自问:做这些真的有意义吗?

其实,问题的本质不是这些事情有没有意义,而是意义本身是否重要。就像我小时候梦想着未来要开发一款聊天软件,今天的我回忆起小时候的梦想,并在现在赋予它某种意义。这一切都取决于我们赋予它什么样的价值。那时候,开发一款聊天软件是我最想的,也是我觉得最有意义的事。就像初心在了,他一切变得是那么合理。

矛盾与焦虑中的动力

这或许就是矛盾所在。我烦躁与焦虑的根源,不在于事情本身,也不在于意义是否存在,而在于我自身那种既渴望又犹豫的状态--既想又想。初心,在当前这些环境中,显得毫不重要,初心,在这样的环境,又显得格外重要。

不忘初心,砥砺前行

初衷、思考、焦虑、动力,这些复杂的情绪交织在一起,构成了我的现在。而未来,也许就在这交织的情绪与行动中慢慢展开,不忘初心,砥砺前行。

结语

在人生的旅途中,总会有许多意想不到的挑战和变数。面对无法改变的环境,最能掌控的便是自己。尽管生活让我们无法停下脚步,但或许短暂的休息与思考,能带来更多的启发和结果。在这个环境中,我们可以选择随遇而安,随波逐流;也可以做好准备,顺势而为。
新的一年开始了,也祝大家,长风破浪会有时,直挂云帆济沧海

QQ交流群:729158695
B站视频地址:space.bilibili.com/135427028/d…