一切皆文档,应用亦文档
-
提供各种类型文件的高效的在线协作管理能力,以提升企业文件协作和共享效率;
-
未来可提供通过文件进行配置即能实现的低代码应用能力,即应用亦文档,这是框架设计之初便存留的适配考量;
-
基于自研技术,实现多平台一键部署的能力,适应serverless大趋势;
-
由于IDE的核心能力是Theia IDE内核提供的,即意味着产品不仅仅提供文件协作管理能力,还具备在线研发能力:
- 注1:其中基于Theia扩展了插件体系(仅做演示使用,暂未开放);
- 注2:若要提供研发能力,还需要有虚拟在线运行环境的能力(即terminal),目前暂未实现;
-
由于考虑到vscode的生态优势,未来可能考虑将IDE核心从Theia切换过去,这样产品就天然拥有所有vscode的能力(vscode插件同时支持在线虚拟文件系统,配合虚拟terminal,将有更多的想象空间)
-
支持用户登录和身份认证(默认github),同时支持oauth2登录,即具备多平台授权登录能力;
-
可读写IDE的配置并持久化,可读写文件(包括代码)并持久化;
-
- 支持多种文件预览能力,包括md/txt等文本文件、png/gif等各种图片类型、xlsx等各种表格类型、pdf文件、各种快捷文件等(由核心非插件提供);
- 工作空间管理能力,打开/保存/另存为等(由核心非插件提供);
- 多种文件(除了代码文件,还包括docx/xlsx等文档文件)编辑能力及扩展能力(由核心非插件提供);
- 多文件比较能力(由核心非插件提供);
-
现场还原能力
- 关闭当前浏览器窗口时有未保存文件的友好提示,同时下次打开地址时,基于workspace的概念,会保留现有已打开文件状态,即若某文件未保存则不会保留其未保存内容,但是依然保留其打开状态;
- 同时拥有自动保存能力,即自动保存配置打开后,会自动保存未保存文件;
-
文件上传能力
- 通过文件分片上传的技术,提供可靠稳定的大文件上传能力;
- 可拖拽上传本地文件或目录;
-
提供国际化能力;
-
支持多人在线协作能力,支持多种权限分享能力
- 可下载文件,可复制下载链接
- 链接分享支持开启和关闭
- 要求密码分享
-
多租隔离
-
已实现不同租户请求不同,配合平台设置【单实力单并发】即可实现不同租户的函数实例隔离;
-
数据存储隔离当前默认配置为目录级别隔离(即不同目录数据隔离),同时支持桶隔离(即不同的租户数据在不同的oss桶里)和服务账号隔离(即不同的租户数据在不同的serverless平台账户中)的组合配置;
-
实现多租户安全,即:
- A租户是否登录都无法查看B租户文件数据;
- B租户分享文件给A租户的时候,有多级安全隔离:指定链接查看,根据密码查看等
-
-
IDE秒开特性
- 前端通过gzip压缩+缓存优化,优化结果如下
requests | transferred | resources | |
---|---|---|---|
cellbang | 142 | 705KB | 12.4MB |
github.dev | 2000+ | 25.1MB | 66.6MB |
-
后端通过优化冷热启动效率实现:
- 函数代码打包尽可能压缩,目前优化大小控制于2-3M内;、
- 同租户rpc请求进行合并,实现对服务实例的节约
-
优化资源成本
- 前后端使用基于http协议的jsonrpc协议进行通信,提升通信效率,同时实现动态合并请求;
- 支持多云部署,平台不锁定,一键部署多平台(自研能力)