云IDE:Eclipse Che:Eclipse下一代IDE(推荐)

Eclipse Che被Eclipse官方称为下一代IDE,作为老牌的IDE,被其寄予厚望的Eclipse Che到底有什么特点,在这篇文章中我们来一探究竟。

开发团队的Kuberentes原生IDE

Eclipse Che对开发团队来进行Kubernetes开发使能,提供了一键生成开发者工作空间的功能,消除了团队本地环境配置的操作。Che可以将Kubernetes应用更容易地发布至开发环境,并且提供了一个基于浏览器的IDE,使得开发者可以从任何机器进行编码、测试和运行应用程序等操作,所有的一切只需要提供一个浏览器即可。

功能特性

生产运行环境

Eclipse Che可以支持各种容器,甚至是多容器的运行环境。可以在Kubernetes、OpenShift或者Docker环境中运行,Chec可以使用从DockerHub或者开发者自己的镜像私库,通过添加基于SSH的Agent,使得生产镜像通过终端和语言服务可以具有开发环境功能,停止时,Che也可以保存工程相应的关键状态信息。支持和实现此项特性的基础能力主要包括:

  • 容器运行环境
  • Compose运行环境
  • SSH访问
  • 根用户终端访问
  • 预构建和自定义的组件
  • 工作空间快照

工作空间的开发模式

通过Agent为工作空间添加开发者服务包括语法自动补齐、错误检查和调试工具等。针对不同语言提供智能提示,可以启用根用户或者SSH访问方式。支持和实现此项特性的基础能力主要包括:

  • 语言服务器
  • 智能提示与重构
  • 调试器
  • 工作空间Agent
  • 智能命令
  • SSH访问
  • 根用户终端访问

可使用任何IDE

可以在任何设备上进行工作,无需安装软件,因为Eclipse Che IDE已经提供了内建方式。也可以使用开发者自己喜欢的桌面IDE,只需要挂载Che工作空间即可,一切可根据用户自行选择。支持和实现此项特性的基础能力主要包括:

  • 浏览器IDE
  • RESTful 工作空间API

团队开发

基于生产镜像创建定制的团队可用的组件和运行环境,包括开发所需要的工具。所有人都可以使用这样的组件或者拷贝工作空间来快速创建可以用于生产环境的应用。甚至可以通过添加示例代码来实现对新人进行培训的目的。支持和实现此项特性的基础能力主要包括:

  • 组件运行环境
  • 团队工作空间
  • 项目示例

语言服务协议

语言服务协议(Language Server Protocol )是由Microsoft, Codenvy, Red Hat 和 IBM共同开发的协议,包括语法分析,高亮以及在Eclipse Che内的重构代码。协议用于在客户端工具和语言服务之间进行功能特性的集成,比如自动不起、定义跳转和搜索所有引用等。

调试器

Che可以在开发者的工作空间中插入调试代理以允许变量监控和替换、断点设定、但不调试和其他常用的调试操作。调试器可以与组件或者用户工作空间进行关联。

SSH / 终端

Che向工作空间关联的操作系统中添加SSH守护进程,使用ssh连接开发者自己的IDE比如Eclipse,上传死钥或者使用Che为每个工作空间创建密钥对。通过Che的浏览器终端,开发者可以访问自己的工作空间,并且具有工作空间所关联操作系统的根用户权限。

组件

组件指的是工作空间的运行环境配置,包含运行环境所需要的构建文件(recipe)和元数据信息比如标签、描述信息、环境名称以及安全策略等。组件在用户的仪表盘中被展示,组件标签tag可以用于过滤可用的工程代码示例。组件的构建文件可以是Kubernetes YAML、Dockerfile或者Docker Compose文件,可以通过这些文件的方式来创建潜入到工作空间的运行环境。Che已经提供了30+的内建的组件可以用于开发者的工作,当然也可以创建自己的组件。

RESTful的工作空间

所有的Che服务都可以通过RESTful API进行访问,无论是通过工作空间的master还是agent,Che都提供了可以使用的API进行操作。工作空间master提供了工作空间管理和用户管理,而在每一个工作空间中,agent就是一个微型的提供了项目相关API的Che服务器,比如Che通过RESTful JDT wrapper提供了100+的Java智能提示能力。Che使用Swagger用于浏览和管理API。

可扩展的云IDE(Cloud IDE)

Che提供了一个可以从本地或者远端设备上进行访问的免安装的浏览器IDE。简、快、美:这是IDE和开发者所期待的。IDE使用了跨浏览器的JavaScript和CSS来实现,通过浏览器来进行使用,使用浏览器不同的tag页面可以打开不同的工作空间,每个空间消耗100M以下的内存,流畅的用户交互体验也不会因工作空间在远端而受到影响。Eclipse Che基于Eclipse Theia提供了VSCode体验的WebIDE功能,提供了最新的工具协议,包括语言服务、调试适配器以及和VSCode扩展的兼容性。对于更倾向于使用个人桌面IDE的用户,Che同样支持。同时提供了很多流行的工具包括:

  • 嵌入式的Orion编辑器
  • 按键绑定
  • 全球化的键盘支持
  • git / subversion工具

多工程管理

Che是一个真正的IDE平台,识别项目并绑定至仓库并指定类型,不同项目类型被赋予不同行为,比如Java项目被添加时,Che会添加RESTful JDT core的功能到相应的工作空间。工作空间可以有多个工程,每个工程都有自己的类型,虽然共享于一个工作空间,每个工程都可以被独立的构建和运。当下,Che的工程类型仍然有限,主要包括JavaScript、Maven和空工程类型。后续将会进一步和社区生态即可提供更多选择。

命令

Command是运行在工作空间所在操作系统的一个进程,可能是用户、工作空间或者项目相关。
命令具有不同类型,不同类型的命令具有特定的行为,比如Maven命令类型就包含生命周期阶段运行相关的内容。命令执行时,可以对项目和其他资源进行操作,允许用户跨项目和模块执行命令,执行时并与一定的上下文相关联。

预览

提供预览的功能,可以针对项目的上下文和工作空间,创建和显示用于预览的Web页面,同时,和预览功能结合,通过相应的命令,在工作空间中可以更好地启动和调试。

插件

Che可以通过使用定制化内建的插件或者使用者自己的插件来进行扩展。可以通过使用Che提供的方式生成用户自己的插件,用户可以编写插件来操作IDE、Che服务器或者工作区代理,插件会由Che在合适的时间插入到应该插入的位置。



整体架构

用户视角

  • 开发者

可以使用Che作为IDE进行任何框架和语言的编写,可以有助于工程和运行环境更加具有可移植性,同时上云更加简单。

  • 产品负责人

可以通过将Che嵌入到产品之中,只需要通过API进行控制即可。三星、SAP和红帽等使用Che创造了很好的开发者体验。比如SAP的WebIDE

在比如Codenvy,做了企业级的Che使用封装

  • 扩展提供者

可以使用组件、模版、扩展和插件进行新的开发者工具的创建,更好地利用和扩展使用方式。

总结

Eclipse Che有强大的背景公司的技术力量的支持,有众多既有用户的追随,是后续云IDE选型中不可忽视的一个选择项。

到此这篇关于云IDE:Eclipse Che:Eclipse下一代IDE的文章就介绍到这了,更多相关Eclipse下一代IDE内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • IntelliJ IDEA像Eclipse一样打开多个项目的图文教程

    我们做项目实际中经常会遇到这样的情况,创建一个common项目(Maven项目)作为公用项目,common中有很多工具类可以供其它多个项目调用. 例如,把common.service都单独拆开成独立的Maven项目,供其它的项目使用,通过jar的方式被其它项目通过Maven引用. 现在web项目需要引用common和service,如果IDEA分别单独打开common.service.web项目,那么在调试web项目的时候,就会遇到困难:web引用的common和service中的代码都是打包成

  • Eclipse配置springIDE插件的方法步骤

    开始是在Eclipse中在线安装springIDE插件,结果装了好几次都是中途失败,原因是该插件中有几个jar太大,在线安装回失败,后来是先把插件下载下来,然后进行安装,终于成功了. 安装步骤: 1.下载插件,地址:http://spring.io/tools/sts/all 2.选择Eclipse中help中的Install New Software,然后选择add,然后选择Archive,在本地找到事先下载好的文件. 3.选择文件中的四个IDE文件,如图: 4.将自动更新选项勾选掉: 5.然

  • 用intellij Idea加载eclipse的maven项目全流程(图文)

    IntelliJ IDEA简称IDEA,是常用的java开发工具,相对eclipse在使用上入门较难,但在编写java代码方面比较eclipse方便,强大(个人使用心得),下面介绍如何用intellij Idea加载eclipse的maven项目 eclipse的maven项目目录 全流程加载项目打开intellij Idea file -> new -> module from existing Sources 选择.pom的文件,系统将自动加载maven项目 加载后显示的界面如下图所示 设

  • eclipse导入IntelliJ IDEA的maven项目的示例

    去年由于项目需要由eclipse转到IntelliJ IDEA,当时的项目经理balabala一大堆idea如何如何好,经过一年多的使用确实说的没错. 现在加入另外一个项目,新的项目经理又建议我用回eclipse,我就想eclipse应该可以导入idea的项目,于是上网搜基本都是idea导入eclipse项目的文章,于是自己尝试用eclipse导入idea项目. 目前只尝试了maven项目,至于其他类型的project以后再补上上. 1.现有idea maven项目,打开eclipse,导入ma

  • 在Eclipse IDE使用Gradle构建应用程序(图文)

    构建系统时候常常要用到 Ant, Maven 等工具,对于初学者来说,它们还是过于复杂,上手还是需要时间的.本文将向读者介绍一种全新的构建项目的方式 gradle,它简单.上手快,能大大节省项目的时间和成本. 1. 下载和配置Gradle Gradle Inc.是Gradle框架开发的公司,为Eclipse IDE提供了Gradle工具的支持. 此工具可以创建和允许Gradle项目导入到Eclipse IDE中. 它还允许运行Gradle任务并监视它的执行. 首先,我们需要下载 Gradle,下

  • 云IDE:Eclipse Che:Eclipse下一代IDE(推荐)

    Eclipse Che被Eclipse官方称为下一代IDE,作为老牌的IDE,被其寄予厚望的Eclipse Che到底有什么特点,在这篇文章中我们来一探究竟. 开发团队的Kuberentes原生IDE Eclipse Che对开发团队来进行Kubernetes开发使能,提供了一键生成开发者工作空间的功能,消除了团队本地环境配置的操作.Che可以将Kubernetes应用更容易地发布至开发环境,并且提供了一个基于浏览器的IDE,使得开发者可以从任何机器进行编码.测试和运行应用程序等操作,所有的一切

  • JetBrains 发布下一代 IDE无比轻量几秒就能启动干活

    目录 下一代 IDE 都有啥亮点? 1.轻量级 2.分布式 3.多编程语言 4.协作 早期预览计划 总结 下一代 IDE 这两天,栈长又看个一个劲爆的消息,IntelliJ IDEA 开发者公司 JetBrains 正在开发下一代 IDE--Fleet. JetBrains 确实很牛逼,有 20 余年的 IDE 开发经验,旗下就有多款明星 IDE 产品,这次决定打造一款轻量级的全新编辑器:Fleet,从头开始构建,全新设计的 UI,使用了 IntelliJ 代码处理引擎,分布式的 IDE 架构.

  • 什么是eclipse,eclipse的意思解析

    Eclipse 是一个开放源代码的.基于 Java 的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT).  Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具

  • node.js使用免费的阿里云ip查询获取ip所在地【推荐】

    在项目过程中,我们常常需要获取IP的所在地.而这一功能一般都是通过一些数据网站的对外接口来实现,这些接口一般情况下都是付费使用的.在这篇文章中我将记录,基于node.js的阿里云免费IP地址查询接口的使用. 1.购买服务 https://market.aliyun.com/products/57002003/cmapi010805.html?spm=5176.2020520132.101.9.R0owP9#sku=yuncode480500000 这是阿里云的一个AIP接口,点击上面链接后你会进

  • 5个主流的Java开源IDE工具详解

    Java IDE工具提供了多种用户独特需求和个人偏好来创建编程环境的方法. Java框架能够简化程序员的工作.这些框架被设计和开发用于在任何服务器环境上运行任意应用程序;包括解析注释.扫描描述符.加载配置和在Java虚拟机(JVM)上启动实际服务方面的动态行为.控制这么大的范围需要更多的代码,使得减少内存占用或加速新应用程序的启动时间变得困难.无论如何,Java在当今使用的编程语言中始终排在前三名,在TIOBE索引中涉及700万到1000万的程序员和开发者. 因为Java如此的普及,意味着集成开

  • 在Eclipse中部署Spring Boot/Spring Cloud应用到阿里云

    Spring Cloud 和 Spring Boot 可以说是当前最流行的微服务开发框架了,在本文中,将向读者介绍如何在 在 Eclipse 中部署 Spring Boot / Spring Cloud 应用到阿里云. 本地开发 无论是编写云端运行的,还是编写本地运行的 Spring Boot 应用程序,代码编写本身并没有特别大的变化,因此本文采用一个极其基础的样例<在 Web 页面打印 HelloWorld 的 Spring Boot >为例,通过启动内置的 Tomcat 容器,处理 HTT

  • 推荐10款最受Python开发者欢迎的Python IDE

    Python 非常易学,强大的编程语言.Python 包括高效高级的数据结构,提供简单且高效的面向对象编程. Python 的学习过程少不了 IDE 或者代码编辑器,或者集成的开发编辑器(IDE).这些 Python 开发工具帮助开发者加快使用 Python 开发的速度,提高效率.高效的代码编辑器或者 IDE 应该会提供插件,工具等能帮助开发者高效开发的特性. 1.  Vim Vim 可以说是 Python 最好的 IDE.Vim 是高级文本编辑器,旨在提供实际的 Unix 编辑器'Vi'功能,

  • 跟老齐学Python之集成开发环境(IDE)

    当安装好python之后,其实就已经可以进行开发了.下面我们开始写第一行python代码. 值得纪念的时刻:Hello world 如果是用windows,请打开CMD,并执行python. 如果是UNIX类的,就运行shell,并执行python. 都会出现如下内容: Python 2.7.6 (default, Nov 13 2013, 19:24:16) [GCC 4.6.3] on linux2 Type "help", "copyright", "

  • Java开发编程到底是用idea好还是eclipse好

    IDEA 全称 IntelliJ IDEA 是java编程语言开发的集成环境.IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手.代码自动提示.重构.JavaEE支持.各类版本工具(git.svn等).JUnit.CVS整合.代码分析. 创新的GUI设计等方面的功能可以说是超常的. IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主.它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等. 只可

  • 25个最好的免费Eclipse插件

    Eclipse提供了一个可扩展插件的开发系统.这就使得Eclipse在运行系统之上可以实现各种功能.这些插件也不同于其他的应用(插件的功能是最难用代码实现的).拥有合适的Eclipse插件是非常重要的,因为它们能让Java开发者们无缝的开发基于J2EE和服务的应用程序.Eclipse的插件也能帮助他们开发不同应用架构上的程序. 下面列出来的是25个最好的免费Eclipse插件,可以让开发者更高效的工作 . 提高代码质量的插件 1. FindBugs FindBugs可以帮你找到Java代码中的b

随机推荐