11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

JavaScript 多语言 IDE 框架 Theia 1.0 发布,支持 Web IDE

  • 2020-04-25
  • 本文字数:1625 字

    阅读完需:约 5 分钟

JavaScript多语言IDE框架Theia 1.0 发布,支持Web IDE

本周初,Eclipse 基金会宣布发布Eclipse Theia 1.0,这是一个用于构建 Web 和本地 IDE 的开源框架。 Theia 提供了一个用于构建 IDE 的 JavaScript 框架,该 IDE 可以运行在 Web 上,也可以打包成 Electron 应用程序运行在桌面上。它被设计成与 VSCode 扩展相兼容,并且使用相同的语言服务器协议(Language Server Protocol,LSP),以便能够远程开发各种编程语言,包括 Java、Python、Rust 及更多其他语言


尽管 Theia 表面上看起来与 VSCode 相似,但实际上它是一个 IDE 框架,而不是 IDE 本身。它提供了组件,比如,是 JavaFX 而不是 IDE 本身支持了 GUI 应用程序。但是,许多 IDE 是构建在 Theia 的预发行版本上的,其中包括主流的Gitpod.io以及Eclipse Che,前者为我们的应用程序提供了基于 Web 的 IDE,后者可以在 Kubernetes 集群中运行以用于自托管的解决方案 。


Theia 项目的项目负责人 Sven Efftinge,强调了 Theia 作为框架与微软 VSCode 之间的一些区别:


微软禁止非 Visual Studio 产品安装从其市场下载的任何二进制文件。(请参阅条款

考虑到大多数扩展都是开源的,而不是由微软开发的,因此情况非常糟糕。

这种限制不仅影响 Theia 和它的所有下游采用者,而且还影响基于 VS Code 的开源代码的发布,比如 VS Codium


虽然 VSCode 是免费提供的,但它具有一些非开源的组件,并向微软报告了遥测;这导致了 VSCodium 的构建,它删除了非开源组件。然而,用于编译和高亮代码的语言服务器协议是可以自由实现的,并且可以被其他 IDE 使用,同样的方法也可用于 Theia 及其衍生工具。


不可用的是微软市场。为了解决这个问题,Eclipse Theia 项目创建了Open VSX作为微软市场的开源实现,并将open-vsx.org托管为开源扩展的公共注册表。这也支持用于托管 VS Code/Theia 扩展的本地解决方案。


Theia 的开发已经进行了大约 18 个月,它是Gitpod.io的框架,Gitpod.io 提供了一个基于 Web 的 IDE,用于构建 GitHub、Gitlab 以及(即将)BitBucket 托管项目。 Gitpod.io 使我们 git 存储库能够在 Web 浏览器中打开、导航、编辑、提交和运行。它提供了一个基于 docker 的运行时来执行代码,以及一个允许在适当位置执行代码的 shell。 Theia 是建立在其他基于 Web 的 IDE(例如 CodeEnvy、Cloud9 及 Bespin)的经验之上的。


Eclipse Che 提供了一种可托管的基于 Web 的 IDE 体验,它可以在本地运行,并使用 Kubernetes 扩展其后端。 Eclipse Che 已经有四年多的历史了,它最初使用的是基于 GWT 的 IDE,但是随着7.0版本的发布,它切换到Eclipse Theia上运行了,从而可以提供了更大的灵活性,并且可以在运行时安装插件,而无需重新编译 GWT 代码。


其他商业和开源 IDE 也使用了 Theia,比如 Arm 的mBed Studio、Arduino 的Pro IDE、Google 的Cloud Shell编辑器及其他更多。它们使用相同的代码库,但既可以作为 Web 应用程序运行,也可以使用 Electron 运行时作为本地 IDE 运行。


Eclipse 基金会执行的董事 Mike Milinkovich 强调了一些为基于 Web 的 IDE 提供标准化框架的好处:


Theia 是由不同贡献者、提交者和支持公司(如 TypeFox、 Ericsson、Red Hat、ARM)共同开发的。在过去的三个月中,它有超过 50 名提交者和贡献者,这是一个快速发展、广受欢迎且开放的社区,在这里所有的贡献都能被接受。

Theia 不仅仅是 VS Code 的替代品。 Theia 与 VS Code 之间的主要区别在于:Theia 旨在被其他公司和社区所采用,以构建和部署基于 Web 的现代开发人员体验。 VS Code 很棒,但它只会是微软的产品。

Theia 旨在被这样一群人所修改、扩展和发布,他们想要创建与 VS Code 一样出色的开发人员工具(包括使用相同的 Monaco Editor),并且可以利用 VS Code 扩展生态系统。当然,它是基于EPL 2.0许可的,因此组织或个人使用 Theia 来构建和发布产品是很容易的。


如果您有兴趣了解 Theia 的外观或功能,可以在GitPod中启动一个包含Theia的工作区以进行查看


原文链接:


Theia Framework 1.0 Enables Web IDEs


2020-04-25 09:001796

评论

发布
暂无评论
发现更多内容

2020年南京第十三届物联网应用展览会

南京专业智博会

展览会 论坛会 博览会 智博会

2020南京第十三届智慧工地装备展览会

南京专业智博会

展览会 论坛会 博览会 智博会

如何优雅地实现泛型类的类型参数化

KAMI

Java 编程 反射 泛型

思维模型 - 概念篇

石云升

学习 高效 思维模型 决策

游戏夜读 | 记忆里的老游戏

game1night

推荐几款有意思的小众App(05.30)

静陌

产品 App

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十二)编写测试-简单测试

编程道与术

Java 编程 TDD 单元测试 JUnit

ARTS打卡-01

Geek_yansheng25

ARTS 打卡计划

github看代码效率提高10倍!因为用了sourcegraph这个工具

程序员柠檬

GitHub 程序员 效率工具

ARTS|Week 01 (2020第22周)

MiracleWong

算法 写作 ARTS 打卡计划

遇事不决,请先 「搜索」

小匚

个人成长 职场 随笔杂谈

使用 PCA 进行降维可视化,了解特征分布

黄大路

数据挖掘 数据分析 可视化

带你学够浪:Go语言基础系列 - 8分钟学基础语法

程序员柠檬

程序员 后台开发 Go 语言

Jupyter最佳实践

pydata

10分钟白嫖我的常用的在线工具网站清单

JavaGuide

设计 在线工具 工具类网站 PDF

如何衡量产品需求效果

黄大路

产品经理 产品设计 运营

Linux下程序出问题不要慌,资深程序员教你6招搞定!

程序员柠檬

Linux 程序员 后台开发

这可能是 Markdown 写微信公众号的一款神器了!

JackTian

效率工具 markdown markdown编辑器 markdownnice 神器

ARTS-week-1

saddamwilson

ARTS 打卡计划

面试造飞机系列:说下微服务接口设计原则?

程序员柠檬

分布式 微服务 后端 架构设计

JMM的前世今生

fkc_zyk

重排序 volatile happens-before JMM cpu

2020亚洲南京第十三届人工智能机器人服务展览会

南京专业智博会

展览会 论坛会 博览会 智博会

2020年南京第十三届智慧停车展会

南京专业智博会

展览会 博览会 智博会 展览会论坛会

PageHelper

BitSea

Wireshark的使用与数据分析(一)

姬翔

2020年亚洲南京大数据产业展览会

南京专业智博会

展览会 论坛会 博览会 智博会

2020亚洲智能家居全屋智能展会-南京站

南京专业智博会

展览会 论坛会 博览会 智博会

分布式锁🔒是个啥❓ 其实就这么点事

山中兰花草

Java redis 后端 分布式锁 开发

用大数据分析了一线城市1000多份岗位招聘需求,告诉你如何科学找工作

程序员柠檬

Python 数据分析

带你学够浪:Go语言基础系列-环境配置和 Hello world

程序员柠檬

后台开发 Go 语言

谈谈控制感(12):选择什么样的工作

史方远

读书笔记 个人成长 随笔杂谈

JavaScript多语言IDE框架Theia 1.0 发布,支持Web IDE_前端_Alex Blewitt_InfoQ精选文章