开发IM不难,但是真的耗费时间,使用水磨方法,把项目做起来的。当前IM项目结构如下:

序号项目子项目技术栈 说明                              
1im-pc       fx-guijavafx + netty + webrtc-java

pc端,支持windows, linux, macos。仿微信,没有微信的小程序以及支付功能

1fx-monitorjavafx + nettypc端,支持windows, linux, macos。监控IM
2im_appflutter + bloc + flutter_webrtcandroid + ios。
3im_hmemojiarkts统一的emoji。各端使用统一的emoji,避免不一致
3corearkts鸿蒙手机。
4im_wasmrust +yew+hooks+sqlite + web-sys页面端
5im-serverfile-servernetty文件服务器。支持附件,图片等文件上传和下载
5server-coremysql or mongodbim的主业务区,采用插件的方式,支持mysql和mongodb数据存储方式
5socket-servernetty自研Router。对外提供访问接口
5websocket-servernetty自研Router。对外提供访问接口
5udp-servernetty半成品。由于对udp的dos攻击未找到处理方式,项目搁置
5monitor-servernetty监控服务端
5signal-servernetty信令服务器。webrtc使用
6im-webim-adminspringboot后台。通过maker代码自动生成,然后进行修改
6im-clientspringboot对外提供web 接口
7rpcnetty基础组件:IM接口通信核心组件。通信支持二级制和json。   接口支持同步和异步两种 模式。
8im-basejava基础组件:通信对象,封装供java服务端和客户端使用
9StupidBearjava基础组件:自研的二进制编解码
10commonjava基础组件:技术积累
11makerjavafx工具:代码生成器。im-web后端大部分代码都是自动生成的
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐