背景
過去上枕,我們團隊對開源項目的認知較淺妨马,過分追求進度樟遣,而忽視了代碼的質量和規(guī)范。這導致了一些問題身笤,例如部署流程設計不當:流程復雜、不規(guī)范葵陵,以及Mac與Windows部署的明顯缺陷液荸。這些問題不僅給開發(fā)者帶來了困擾,也增加了社區(qū)維護的難度脱篙。
針對這些挑戰(zhàn)娇钱,我們團隊進行了深刻的反思并總結出了相關問題伤柄。目前,我們正在專注于提高代碼質量和規(guī)范化工作文搂,并在完善我們的開源貢獻流程适刀,以吸引更多貢獻者參與。我們相信這是關鍵步驟煤蹭,以擴大社區(qū)的影響力并將OpenIM發(fā)展成為一流的開源項目笔喉。
為此,我們已規(guī)劃推出release-v3.7版本硝皂,該版本將全面改造部署常挚、規(guī)范和流程等方面,并且與3.6版本數(shù)據(jù)完全兼容稽物。
OpenIM是什么
OpenIM區(qū)別于諸如Telegram奄毡、Signal、Rocket.Chat等獨立聊天應用贝或。這些應用提供完整的用戶界面和后端服務吼过,允許用戶直接下載并使用。相反咪奖,OpenIM是一個為開發(fā)者設計的開源即時通訊解決方案盗忱,它不提供直接安裝使用的單獨聊天應用程序。
OpenIM主要由OpenIM SDK和OpenIM Server兩部分組成赡艰,它們?yōu)殚_發(fā)者提供了一套工具和服務售淡,使得開發(fā)者能夠在自己的應用程序中輕松集成即時通訊功能,包括發(fā)送和接收消息慷垮、用戶管理揖闸、群組管理等。
總的來說料身,OpenIM專為開發(fā)者而設計汤纸,提供了必要的工具和框架,幫助他們在各自的應用中實施高效的即時通訊解決方案芹血,而不是作為一個面向普通用戶的獨立聊天應用贮泞。
release-v3.7特性列表
序號更新內容描述
1引入Mage構建廢棄Shell腳本,采用Mage構建系統(tǒng)幔烛,支持Linux啃擦、Windows、Mac系統(tǒng)饿悬,以及ARM和AMD CPU架構令蛉。
2配置文件拆分將全局配置文件分拆成模塊化配置,實現(xiàn)模塊間隔離,減少系統(tǒng)耦合珠叔。
3RPC入口函數(shù)統(tǒng)一對RPC入口函數(shù)進行統(tǒng)一處理蝎宇,規(guī)范化日志記錄,并確保版本號清晰展示祷安。
4通知和Webhook異步處理通過內部異步隊列處理通知和Webhook姥芥,與主流程解耦。
5Docker部署方案升級全面升級Docker部署方案汇鞭,按照鏡像獨立原則凉唐,消除對外部網(wǎng)絡配置的依賴,支持多平臺部署虱咧。
6代碼規(guī)范嚴格執(zhí)行強調錯誤處理熊榛、日志記錄的標準化,并嚴格遵守Go語言編程規(guī)范腕巡。
7通用代碼抽離將各項目的通用模塊抽離到tools倉庫玄坦,配置參數(shù)獨立,方便各項目復用绘沉。
8protoc替換到官方工具將IM的pb生成工具由自定義版本修改為官方版本煎楣,并用腳本修改omitempty造成的API resp字段丟失問題。
關于我們
得益于廣泛的開發(fā)者支持车伞,OpenIM在開源即時通訊(IM)領域保持領先地位择懂,目前在GitHub上的星標已超過13k。在如今數(shù)據(jù)和隱私安全日益受到重視的背景下另玖,私有部署的IM需求正在逐步增加困曙,這一趨勢與國內軟件產業(yè)的興起密切相關。特別是在政府和企業(yè)領域谦去,隨著信息技術的快速發(fā)展和創(chuàng)新產業(yè)的廣泛應用慷丽,對IM的需求正急速增長。此外鳄哭,隨著協(xié)同辦公軟件市場的持續(xù)擴展要糊,“安全可控”已成為最關鍵的要求之一。在后AIGC時代妆丘,IM作為人機交互的首要接口锄俄,其價值勢必會越來越大。我們期待OpenIM在后AIGC時代能發(fā)揮更大的作用勺拣,使每一個應用都能集成OpenIM奶赠,提升整體效率和安全性。
github: https://github.com/openimsdk
developer: https://docs.openim.io/zh-Hans/