本地 IDE 运行原理

本地 IDE 简介

本地 IDE 相对于 云 IDE,最主要的差异就是应用所有的前后端源码全部在开发者本地的计算机上,在本地进行编程、调试、编译、运行。

本地 IDE 相对于 云 IDE,云端只需要提供代码同步和请求转发等能力,并不提供代码的编译运行环境,所以比云端的资源占用要少很多。每个 云 IDE 池的 Pod 需要大约 4G 内存,而每个 本地 IDE 池的 Pod 只需要不到 1G 内存。

本地 IDE 运行原理

本地IDE运行原理 本地IDE的运行原理如上图所示:

  • 在本地 IDE 的本地客户端工具包中,核心提供了“本地协同服务”
  • 本地协同服务 与 云端 之间建立 SSH 安全网络隧道,基于这个网络隧道主要实现以下能力:
    • 本地工作空间 和 云工作空间 之间的双向代码同步:
      1. 通过连接云端,将云工作空间的代码下载到本地工作空间
      2. 当本地开发完成后,通过保存资源到云端,将本地工作空间的代码同步回云工作空间
    • 本地应用服务 与 云端环境 之间的双向服务访问:
      1. 本地服务代码在调试运行过程中,可以访问到云端的数据库和其他服务
      2. 云端的其他服务,也可以访问到本地服务
  • 在本地 IDE 模式下,后端 Java 工程可以使用 IDEA、Eclipse、VS Code 等桌面 IDE 进行编程调试, 其他的模型设计通过“打开本地 IDE”进入浏览器模型设计环境,所有模型和源码都是基于本地工作空间中的代码资源进行编辑、编译和运行的。
  • 本地协同服务为了提供完整的本地设计环境,会在本地自动启动一系列服务,这些服务可以通过本地 IDE 引导页的 Java 服务管理、Tomcat 服务管理、Node 服务管理等进行查看和管理。
  • 当需要在 桌面 IDE 中调试和运行后端的 Java Spring Boot 服务时,需要先在 Java 服务管理中关闭已经自动启动的 Java 服务。

提交 GIT 和 保存资源到云端 的区别

在开发时,云 IDE 和 本地 IDE 的双向切换的核心是 云工作空间 和 本地工作空间 之间的代码双向同步,这个与 GIT 是没有关系的。

GIT 提交一般是当功能开发测试完成后,才进行代码的版本提交。而在功能开发测试过程中,开发者需要在 云 IDE 和 本地 IDE 两种开发模式下进行切换,这时候主要只需要保存资源到云端即可。

常见问题

  1. 开发者在初期使用本地 IDE 时,经常会将代码提交到 GIT,但是忘记了 保存资源到云端,所以导致切换到云 IDE 模式后,发现代码是旧的。这时候只需要在云 IDE 模式下,用 GIT资源强制覆盖本地(这里的本地指的是云工作空间)就可以了。
  2. 如果开发者在本地 IDE 模式下既没有提交 GIT,也没有 保存资源到云端。本地 IDE 断开后,下次重新连接,本地的模型和代码还是原封不动的。
  3. 在 2 的基础上,如果云 IDE 资源已经变化了,或者是 本地 IDE 切换为其他应用了,这时候也不用担心代码丢失,平台在本地 IDE 中会自动将每次切换前的代码资源备份到 model-user 目录下,手动找回即可。

results matching ""

    No results matching ""