SmartIDE v0.1.16 (Build 3137) 已经在2022年4月19日发布到稳定版通道,我们在这个版本中增加了阿里和蚂蚁发布的国产IDE OpenSumi的支持,以及其他一些改进。SmartIDE 从 Sprint 11 (v0.1.11) 开始已经将重心转向 Server版 的开发,并且已经针对社区开放了server的内测。但是对于 CLI 的改进和增强一直没有停止,因为 CLI 是 SmartIDE 的核心,实际上我们的 Server 版对于 工作区 的管理也是通过云原生开源流水线框架 Tekton 调度 CLI 实现的。

我们将在近期发布更加完善的 Server 版安装部署手册和文档,同时 Server 版 和 CLI 核心代码也将在近期开源。SmartIDE 的核心代码将采用GPL协议开源,允许任何组织和个人免费使用我们的代码搭建自己的云原生IDE环境。

OpenSumi 简介

严格来说,阿里的 OpenSumi 并不是一个IDE产品,而是一个IDE二次开发框架。这个定位与 Eclipse Cheia 的定位相同。SmartIDE 的早期版本也支持 Eclipse Theia,但是由于其操作体验与VSCode还是存在一定的差距,后续我们将重心转向类VSCode的IDE支持,比如对 OpenVSCode Server 的支持,以及 JetBrains 系列IDE全家桶的支持。阿里&蚂蚁的开发团队在2022年3月3日发布了OpenSumi以后,SmartIDE团队对这款IDE进行了研究,认为可以替代Eclipse Theia 作为未来提供 “定制化IDE” 解决方案的基座,因此将重心转向了对 OpenSumi的支持,按照阿里&蚂蚁相关文章的说明:

“OpenSumi 是一款面向垂直领域,低门槛、高性能、高定制性的双端(Web 及 Electron)IDE 研发框架,基于 TypeScript+React 进行编码,实现了包含资源管理器、编辑器、调试、Git 面板、搜索⾯板等核新功能模块。开发者只要基于起步项目进行简单配置,就可以快速搭建属于自己的本地或云端 IDE 产品。” – 原文链接

OpenSumi 当前已经在阿里内部广泛应用在很多场景,具这篇 云原生架构下蚂蚁 Cloud IDE 的应用实践 的文章显示,阿里内部的的很多研发相关的方案都有在IDE中的落地场景,比如:

云测平台集成在IDE中的手机测试环境

代码平台中直接在IDE中提交PR进行代码评审

新人培训和入职测试场景

定制化IDE解决方案

随着软件在我们日常生活中的广泛应用,软件开发不再会是一个特定的职业而会变成一种生存技能。就如同驾驶汽车的技能一样,在汽车刚刚出现的时候,驾驶汽车一度都是一项专业技能,司机也是一个专门的职业,而随着汽车逐步演变成了我们的生活交通的普遍手段,司机也从一个职业变成一种特定的生活技能。

对于软件开发工具而言,它也会从一个只有专业人员才能掌握的工具变成每个人都需要的日常工具。但是软件和汽车还有一个本质区别,就是汽车仅仅是一种交通工具、是单一行业;而软件则是各行各业都需要的基本组成部分,这个特性必将推进软件开发工具(IDE)向着专业化定制化的方向发展,需要根据不同行业的特点提供针对性的快速开发特性,以便降低软件提供者的门槛,提高交付效率和质量。这一点上,在很多的大型软件开发团队中早已有所体现,比如很多大型银行都在Eclipse的基础上定制开发了自己的开发框架和工具集,并在企业内部作为开发规范进行推广,因为这样可以帮助他们的开发人员提高工作效率,减少重复劳动,规范交付过程;再比如微软内部的DevDiv,就是专门定位于帮助微软的软件开发团队(比如:Windows, Office, XBox等)提供开发工具的专业化团队,其产品Visual Studio, Visual Studio Code 和 Azure DevOps 都是专业化IDE的业界天花板。这些案例都说明,专业的软件开发团队需要定制化的专业工具才能保证交付效率。

IDE 产品的研发一直以来都是一件门槛高、费时费力的事情,OpenSumi 通过开源 OpenSumi 帮助对 IDE 有兴趣的开发者更好地了解并掌握 IDE 研发这项技术,让更多的开发者可以以一种低门槛的方式去研发自己的 IDE 产品。OpenSumi 也从几个方面提供了很好发展路线图,比如:高度可定制的UI,完全开放的插件体系,对VSCode API适配的完整计划以及兼容VSCode Extension的特性。这些都将为定制化IDE解决方案提供必要的支撑,比如可以开发出类似下图这样的可视化开发场景。

SmartIDE专注于云原生容器化工作区的管理和调度,我们的目标就是支持各类开发者使用的IDE,OpenSumi符合SmartIDE的IDE生态定位。相信随着SmartIDE和OpenSumi的进一步成熟,会为开发者,特别是中国开发者带来更高效的云原生开发新体验!

使用 SmartIDE 启动 OpenSumi WebIDE

OpenSumi的定位非常符合SmartIDE对IDE定制化解决方案的需求,因此我们针对OpenSumi进行了适配和集成,开发者可以使用一个非常简单的指令即可在浏览器中启动一个基于OpenSumi WebIDE 的 node.js 开发环境,具体请参考 Node快速启动 文档。SmartIDE支持7种主流技术栈,包括:JavaScript/Node.js,Java ,DotNet,Python ,PHP,Go语言和C/C++,并且支持在Windows/MacOS/Linux上跨平台使用,此次扩展了IDE支持后,将我们所支持的IDE也扩展到3大体系,分别是:VSCode,JetBrains和OpenSumi。

快速启动OpenSumi的Node.js开发环境指令如下

Copy

  1. ## 使用OpenSumi WebIDE开启Node开发环境
  2. smartide new node -t opensumi

以下是处于单步调试状态的 OpenSumi WebIDE

或者也可以通过我们的 计算器 示例应用体验使用OpenSumi开发调试Node.js应用的过程:

Copy

  1. ## 使用OpenSumi调试计算器示例
  2. smartide start https://gitee.com/idcf-boat-house/boathouse-calculator.git --filepath .ide/opensumi.ide.yaml

以下是正在单步调试 计算器示例应用 的OpenSumi WebIDE,B站视频

感谢你对SmartIDE的关注,欢迎从SmartIDE官网下载体验我们的产品,或者加入我们的早鸟群,及时了解SmartIDE的开发进展。

相关链接:

SmartIDE v0.1.16 已经发布 - 支持阿里&蚂蚁开源的国产 IDE OpenSumi的更多相关文章

  1. SmartIDE v0.1.18 已经发布 - 助力阿里国产IDE OpenSumi 插件安装提速10倍、Dapr和Jupyter支持、CLI k8s支持

    SmartIDE v0.1.18 (cli build 3538) 已经发布,在过去的Sprint 18中,我们集中精力推进对 k8s 远程工作区 的支持,同时继续扩展SmartIDE对不同技术栈的支 ...

  2. SmartIDE v0.1.17 已经发布 - 模版库远程模式和插件市场公测

    SmartIDE v0.1.17 已经发布,本次同步更新了CLI (Build 3332) 的稳定版通道和Server (Build 3333) 生产环境(内测中).请参考对应的 安装说明 获取最新版 ...

  3. SmartIDE v0.1.19 - 码云(Gitee)最有价值开源项目奖项、工作区策略、类虚拟机镜像VMLC、Server安装手册

    SmartIDE v0.1.19 (CLI Build 3909, Server Build 3890) 已经发布,本次Sprint主要完成2个重要特性,工作区策略和类虚拟机容器(VM Like Co ...

  4. 可能是全网首个支持阿里云Elasticsearch Xapck鉴权的Skywalking

    可能是全网首个支持阿里云Elasticsearch Xapck鉴权的Skywalking 对Skywalking有兴趣的同学参见:年轻人的第一个APM-Skywalking 之前在搭建Skywalki ...

  5. 阿里云开源镜像站支持IPv6访问

    阿里云开源镜像站在国内企业镜像站中率先支持IPv6访问! 点击立即试用https://developer.aliyun.com/mirror/ 同时基于阿里云OpenSearch的搜索能力,开源镜像站 ...

  6. Docker将镜像文件发布到阿里云

    一.创建新镜像文件 1.创建容器并在容器内创建一个文件夹 在容器内创建一个新文件主要是为了代表这个容器非镜像文件直接创建的容器,而是通过自定义在容器内创建了属于自己的文件 2.提交容器副本使之成为一个 ...

  7. Dubbo阿里Alibaba开源的分布式服务框架

    [获奖公布]"我的2016"主题征文活动    程序猿全指南,让[移动开发]更简单!      [观点]移动原生App开发和HTML 5开发,你更看好哪个?   博客的神秘功能 D ...

  8. 在阿里云开源镜像站中下载centOS7

    镜像的选择 第一步.下载镜像 阿里云开源镜像站:http://mirrors.aliyun.com/ 选择centos进入 如下图: 如下图:选择centos7 再选择isos(镜像目录) 继续下一步 ...

  9. FreeNAS 9.1.1 发布,网络存储系统 - 开源中国社区

    FreeNAS 9.1.1 发布,网络存储系统 - 开源中国社区 FreeNAS 9.1.1 发布,网络存储系统

随机推荐

  1. React优点?

    声明式, 组件化, 一次学习, 随处编写. 灵活, 丰富, 轻巧, 高效

  2. Filter是什么?有什么作用?

    Filter是过滤器,在请求到达Servlet之前或者响应到达客户端之前截获请求或者响应,对之进行相应的处理.Struts2的控制器就是使用一个Filter实现的.

  3. Pipeline 有什么好处,为什么要用 pipeline?

    答:可以将多次 IO 往返的时间缩减为一次,前提是 pipeline 执行的指令之间没有 因果相关性.使用 redis-benchmark 进行压测的时候可以发现影响 redis 的 QPS 峰值的一 ...

  4. 线程的 sleep()方法和 yield()方法有什么区别?

    ① sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会:yield()方法只会给相同优先级或更高优先级的线程以运行的机会: ② 线程执行 sleep()方法后 ...

  5. Thread 类的 sleep()方法和对象的 wait()方法都可以让线 程暂停执行,它们有什么区别?

    sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程 暂停执行指定的时间,将执行机会(CPU)让给其他线程,但是对象的锁依然保 持,因此休眠时间结束后会自动恢复(线程回 ...

  6. 【C语言】预处理、宏定义、内联函数 _

    一.由源码到可执行程序的过程 1. 预处理: 源码经过预处理器的预处理变成预处理过的.i中间文件   1 gcc -E test.c -o test.i 2. 编译: 中间文件经过编译器编译形成.s的 ...

  7. 8.5_线性控制器设计_轨迹跟踪(Follow a Desired Path)

    平衡点时所有的导数都为0 simulink中建立状态方程模型

  8. 项目需求与分析--NABCD模型

    合作项目特点NABCD分析结果: 特点:便捷 N(Need 需求):在大学期间内,我们通常会有许多不用的课本或书籍或者其他东西,堆积起来又没有地方放,想卖出去就要建一个群,十分麻烦,开发该软件用户可直 ...

  9. MySQL 中的 SQL 语句详解

    @ 目录 总结内容 1. 基本概念 2. SQL列的常用类型 3. DDL简单操作 3.1 数据库操作 3.2 表操作 4. DML操作 4.1 修改操作(UPDATE SET) 4.2 插入操作(I ...

  10. 火狐浏览器Hackbar安装破解

    1 下载 https://pan.baidu.com/s/18cKoJAam9by7AB168Im57g 64mt 下载后解压到一个固定文件夹下 2 安装 选择xpi进行安装 3 关闭插件更新 点击插 ...