其他分享
首页 > 其他分享> > Molecule在GitHub与Gitee正式开源

Molecule在GitHub与Gitee正式开源

作者:互联网

铛铛铛

12月16日9:00

我们的Molecule在GitHub与Gitee

正式开源咯!!!

什么?你还不知道它是谁?

那就先来认识一下这位新成员吧

ps:悄悄告诉你 关注“数栈研习社”还有小惊喜哦

Molecule简介

Molecule是一个受VS Code启发,使用React.js构建的Web IDE UI 框架。通过设计一种类似VS Code扩展机制(Extension),可快速、轻松搭建一个高度抽象的Web IDE UI系统。同时基于Monaco Editor,内置集成QuickAccess和Keybinding等功能,提供简单的API以供使用。

得益于扩展机制和React组件化技术,Molecule可以对Workbench UI、 ColorTheme 、自定义热键、快捷访问等功能进行自定义扩展。另外,开发者可将业务代码和IDE UI架构解耦,在保持业务高速迭代的同时,使得产品交互体验依然保持良好的可持续进化能力。

图片

Molecule缘由

数栈(DTInsight)是一款一站式数据中台 PasS 产品,产品的使用者大部分是开发者,IDE交互是其中很重要的一部分,它关乎到使用者的工作效率。

图片

▲ 数栈早期开发平台

上图中的RD-OS是数栈开发平台早期版本,当时产品所需实现的功能较简单,团队初期是基于React + Antd + Codemirror来进行了UI界面搭建。同时因为数栈多个产品皆有涉及到Workbench使用场景,团队为方便其它产品复用还抽象出了一个IDE Workbench UI的React组件。

图片

▲ 当前Web IDE版本

随着业务发展,产品迭代,原有页面功能变得十分密集复杂,而产品布局、视觉、交互等又一直在更新变化。在面对新的交互、视觉诉求时,早期简单堆叠的技术架构就显得有些拙荆见肘。而设计师新出的方案,成本高,难实施。

于是在 2019 年,数栈技术和产品团队对市面上较优秀的Web IDE产品Cloud9 IDE、VS Code、Eclipse Theia等进行了调研。虽然这些产品具有非常好的UI抽象、扩展性且定制主题等也比较方便。但相对于数栈需求来说略显厚重,且成本高不够灵活。

基于上述因素,数栈技术团队试图寻找出一种更优方案来实现UI抽象、UI 自定义、定制ColorTheme 、React 项目无缝衔接等功能,让数栈产品交具有简单且可持续进化能力。于是在对VS Code源码进行研究后,Molecule诞生了。

核心功能

在新版本参考了VS Code的设计,对UI抽象、编辑器、颜色主题等重新进行了梳理,Molecule 核心功能如下:

▪ 内置React 版本的Visual Studio Code Workbench UI

▪ 基本兼容 Visual Studio Code的ColorTheme

▪ 支持使用React组件自定义Workbench UI样式

▪ 内置Monaco Editor Command Palette、Keybinding等模块,并支持扩展

▪ 支持i18n,内置简体中文、English两种语言

▪ 内置一个简单的Settings模块,支持在线编辑修改以及扩展

▪ 内置默认的Explorer, Search等组件,并支持扩展

▪ Typescript 支持

图片

上图重新抽象的 Workbench UI。基于一个简单的扩展(Extension),像 Workbench、ColorTheme、QuickAccess、Keybinding、i18n、Settings 等功能,通过 Molecule 内置的服务,可以轻松的使用和扩展。

Molecule优势

▪ React.js 应用无缝接入

▪ 基于  React.js 的组件库,更好的 UI 自定义能力

▪ 基本兼容了 VS Code  上千种 ColorTheme 扩展

▪ Molecule 只是一个单纯的 Web IDE UI 交互框架,不涉及例如文件系统、版本管理、 LSP、DAP、Terminal 等更复杂的 IDE 功能,需要开发者自己手动实现。

使用方式

具体适用方法请参考GitHub和Gitee“快速开始”文档,也可点击阅读原文直接到达。

GitHub:https://github.com/DTStack/molecule

Gitee:https://gitee.com/dtstack_dev/molecule

目前的Molecule还是一个Beta版本,虽然参考了一些VS Code的设计概念,但API还是不够简洁,布局也不够精细。接下来技术团队会考虑参考Layout系统设计更为丰富的布局,更精细化的交互,改善开发者使用感官,提升开发者实用效率,在与社区内开发者进一步碰撞的基础上继续完善Molecule。

标签:GitHub,Molecule,Gitee,React,Code,UI,数栈,IDE
来源: https://blog.csdn.net/a958014226/article/details/121960813