写点什么

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

2020 年 4 月 25 日

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 年 4 月 25 日 09:001376

评论

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

智慧城市平安智慧社区平台建设,公安防控管理平台

WX13823153201

盘点 2020 | 鲜衣怒马少年时,不负韶华行且知!

程序员的时光

程序员 成长 编程之路 计算机 盘点2020

智慧警务大数据可视化平台搭建,警情分析研判系统

135深圳3055源中瑞8032

Spring 源码学习 09:refresh 大概流程

程序员小航

spring 源码 源码阅读

OLAP计算引擎怎么选?

数据社

OLAP 七日更

2020年书单

井中人

发布会直播技术及业务实践

vivo互联网技术

分布式 服务器 直播技术

区块链食品溯源--为食品安全保驾护航

135深圳3055源中瑞8032

四币连发交易所系统开发技术

系统开发咨询:I76-883I-5I52 邓森

向我看齐!京东智联云成 2020 TOP100 Summit“技术标兵”

京东科技开发者

DevOps 云原生 数字化

Windows安装MySQL5.7教程

Simon

MySQL windows 安装 七日更

堪称完美!阿里架构师用60个实战案例讲明白了Spring Boot

Java架构追梦

Java 架构 面试 微服务 springboot

入门参考:从Go中的协程理解串行和并行

soolaugust

go Go Concurrency Patterns 七日更

Fair World智能合约APP系统软件开发

开發I852946OIIO

系统开发

小白干货奇遇记

熊斌

个人成长 七日更

Polkadot系列(三)——如何实现共享安全性

QTech

区块链 polkadot 跨链

使用基于 SpringMVC 的透明 RPC 开发微服务

AI乔治

Java spring 架构 微服务 Spring Cloud

甲方日常72

句子

工作 随笔杂谈 日常

得物(毒)APP,8位抽奖码需求,这不就是产品给我留的数学作业!

小傅哥

Java 小傅哥 编程开发 七日更 数学逻辑

数字货币交易所系统开发功能方案

系统开发咨询:I76-883I-5I52 邓森

Gridea+GitHub搭建个人博客

Simon

GitHub Pages 博客 七日更

Service Mesh最火项目Istio是怎么做流量管理的?

AI乔治

Java 架构 istio

【理论篇】浅析分布式中的 CAP、BASE、2PC、3PC、Paxos、Raft、ZAB

merlinfeng

大数据 分布式

做音视频最好用的几款跨平台框架

anyRTC开发者

flutter uni-app ios android WebRTC

智慧公安重点人员管控系统开发,预警研判系统搭建

135深圳3055源中瑞8032

生产环境全链路压测建设历程17:某快递A股上市公司的生产压测案例之前言

数列科技杨德华

全链路压测 七日更

智慧社区综合信息服务平台搭建,智能社区建设解决方案

t13823115967

智慧社区系统开发

【经验分享】遵循10步法,应用系统发布效率大不同!

嘉为蓝鲸

敏捷 运维自动化 部署 发布流程 应用发布

执法办案信息化建设,情报研判管控分析平台搭建解决方案

t13823115967

智慧公安

合成游戏app系统开发软件技术

系统开发咨询:I76-883I-5I52 邓森

突破程序员基本功的16课

田维常

程序员

OCR技术的未来发展与演进

OCR技术的未来发展与演进

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