timzaak / blog

8 stars 1 forks source link

NoLocal 远程开发产品探究 #83

Closed timzaak closed 2 years ago

timzaak commented 2 years ago

NoLocal 把开发环境跑 k8s pod,然后通过 ssh 等方式进行连接。 远程调试等功能基于现有的二次开发。可连接命令行进行调试。 但问题是:

  1. 这种产品的响应能力?所有的远程开发工具都回避不了快速代码提示这个天坑。
  2. 开发机器性能不达标的真实用户数量?除了要编译超百万行代码的项目,基本都够用。
  3. 服务器端命令行的定制(貌似都服务器端都只会是Linux,Windows、Mac好像没人提)

要解决好的话,第一个应该是 language-server 支撑远端 + 文件系统抽象出一层内存+异步/同步同步。如果language-server难以搞定多语言,可替换成编辑器的状态机同步(这样也顺带做了多人同时编辑的需求)

第三个,相当于Pod的可定制化,除了配置文件持久化清单外,还需要将镜像端 server 做成binary包,方便集成到任意镜像内。至于非Linux 的,应该是归属 Teamviewer 的问题领域。

以上两个解决方案都需要对编辑器进行深度定制,就是那种自己有IDE的公司比较好做这些事情,没有的公司,做出来了也会被fork掉。

至于第二个问题就不是技术问题,而是市场问题。

timzaak commented 2 years ago

vscode remoting 分为 ssh containers wsl,文件系统能共用一套就共用,不能共用的就以远程为主,本地同步。这比实现内存同步文件系统要容易的多。

timzaak commented 2 years ago

IDEA 的 Fleet,得等它发布,除了比较卡,其他IDE功能应该和 IDEA 没啥区别,毕竟从lsp出来的时候, editor server 就有从 idea 拆出来改造的苗头了。