Univer:国产开源Office套件,流畅到惊艳,替代Google Docs不是梦!
今天来给大家分享一个最近让我眼前一亮的开源项目——Univer,这玩意真的有点封神的味道了!我这几天研究了一下,越看越惊艳,忍不住想写一篇文章分享给大家。
Univer是啥?一句话总结:一个开源的在线文档、表格、幻灯片一体化解决方案,直接对标Google Docs和微软Office Online。是不是感觉有点牛逼?那我们来慢慢聊。
1 Univer能做什么?
1)多文档类型支持文档(Docs)、表格(Sheets)、幻灯片(Slides)全都能搞定,功能齐全。官方的说法就是“Office Suite for the Web”。换句话说,你用它就能在浏览器里搭建一个小型Office在线套件。
2)插件化架构整个框架基于插件化设计,扩展性非常强。你可以按需加载模块,比如只要表格,不要文档和幻灯片,那就单独用@univer/sheets就行。
3)跨端能力它不是只能跑Web,官方支持React、Vue、Electron,甚至还能接入Node环境做后端渲染,灵活到爆了!
4)开源+免费这一点真香。代码全放在GitHub上,MIT协议,想改就改,想用就用,商业也能直接搞。
2 我亲测体验
我在MacBook Pro M1上跑了一下demo,性能和交互体验都不错。启动后就是一个网页版Excel,能新建表格,输入公式,拖拽单元格,基本功能一应俱全。
有几个让我眼前一亮的点:
公式系统:自带几百个Excel公式,像 SUM、VLOOKUP都能用,兼容度高。协作功能:支持多人协作,虽然demo里功能还不算完善,但能看出方向。 渲染速度:大表格操作流畅,不像很多开源表格项目一到几千行就卡爆。
我随手搞了一个1万行的表格,拖动滚动条,居然不卡,性能直接爆了!
3 架构设计(重点来了)
Univer的代码结构挺有意思:
1)Core内核:所有通用逻辑(比如公式计算、数据结构)都放在@univer/core里。 2)模块化产品:像表格就是@univer/sheets,文档就是@univer/docs,幻灯片是@univer/slides。 3)UI层可插拔:它的UI是解耦的,你可以用React做界面,也可以换成Vue,甚至自定义自己的渲染层。 4)跨语言通信:Univer底层采用类似事件总线+命令系统的架构,逻辑与UI解耦,扩展性很强。
这种设计思路跟VSCode插件系统有点像,难怪一堆开发者在GitHub上点赞。
4 对比其他开源方案
之前我折腾过几个类似的开源项目,比如:
Luckysheet:主要是表格,功能挺全,但扩展性差。 OnlyOffice:功能全,甚至能在线预览Office文档,但架构庞大,上手门槛高。 Etherpad:纯文本协作,太简单了,不够用。
相比之下,Univer的定位更像是一个现代化的低门槛Office SDK。想做个企业内部协作文档?搞个教育平台的在线作业表格?甚至做个简化版Google Docs?用Univer就行。
当然,Univer还不是完美无缺,我也踩了几个坑:
1)文档还不算完善:有些API只能翻源码,README写得比较简略。 2)多人协作还不成熟:目前只能算是demo级别,真正要大规模应用,还需要加一层CRDT或OT同步算法。 3)生态小:虽然架子搭得很好,但第三方插件和案例还比较少,得自己撸代码。
不过这也能理解,项目刚开源没多久,正在快速发展阶段。
我看了一下GitHub的数据:
Star数量在快速上涨,最近很多开发者在提issue。 官方团队更新频率很高,每周都有commit。 Roadmap里明确写了要做“协作+AI增强”,这就很有意思了!
如果真的能加上AI辅助,比如表格自动生成公式,文档自动排版,那真的是直接干翻一堆老牌产品。
感兴趣的朋友可以去GitHub上玩一下。
如果你们公司有内部办公协作需求,或者想搞教育/协同类产品,强烈建议关注。
有问题欢迎交流,咱们下篇再见!
-END-
我为大家打造了一份RPA教程,完全免费:songshuhezi.com/rpa.html