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

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

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

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

Copy

## 使用OpenSumi调试计算器示例
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. 你是怎么看Spring框架的?

    Spring是一个轻量级的容器,非侵入性的框架.最重要的核心概念是IOC,并提供AOP概念的实现方式,提供对持久层,事务的支持,对当前流行的一些框架(Struts,Hibernate,MVC),Spi ...

  2. websocket使用nginx代理后连接频繁打开和关闭

    前几天开发了一个功能,使用websocket向前台发送消息,与前端联调时一切正常,但是发布到环境出现如下报错: 发现404,无法找到连接,突然想到环境上是走nginx代理的,应该是nginx没有配置代 ...

  3. 什么是redis的缓存雪崩与缓存穿透?如何解决?

    一.缓存雪崩 1.1 什么是缓存雪崩? 首先我们先来回答一下我们为什么要用缓存(Redis): 1.提高性能能:缓存查询是纯内存访问,而硬盘是磁盘访问,因此缓存查询速度比数据库查询速度快 2.提高并发 ...

  4. 针对于iosAPP内嵌H5,-webit-overflow-scrolling:touch;产生空白情况

    问题描述:一个内嵌IOSAPP的H5页面,长页面,大概1.6个屏幕高度,由于有列表滑动起来很不流畅,所以用了-webit-overflow-scrolling:touch;这个只针对ios端的物理滚动 ...

  5. PAT B1086 就不告诉你

    题目描述: 做作业的时候,邻座的小盆友问你:"五乘以七等于多少?"你应该不失礼貌地围笑着告诉他:"五十三."本题就要求你,对任何一对给定的正整数,倒着输出它们的 ...

  6. Android M 版本以后的特殊权限问题分析

    现象 桌面悬浮框在6.0以后,会因为SYSTEM_ALERT_WINDOW权限的问题,无法在最上层显示. 问题原因 SYSTEM_ALERT_WINDOW,设置悬浮窗,进行一些黑科技 WRITE_SE ...

  7. Android 接入腾讯IM即时通信(详细图文)

    原文地址:Android 接入腾讯IM即时通信(详细图文) | Stars-One的杂货小窝 腾讯云IM官网文档上提供了带UI模块和不带UI模块的,本文是基于带UI模块进行了Module封装,可以方便 ...

  8. Python中关于进度条的6个实用技巧

    1 简介 费老师我在几年前写过的一篇文章(https://www.cnblogs.com/feffery/p/13392024.html)中,介绍过tqdm这个在当下Python圈子中已然非常流行的进 ...

  9. FreeRTOS学习记录--任务创建函数详解

    开局一张图.一步一步分析就好. (一)什么是任务? 在多任务系统中,我们按照功能不同,把整个系统分割成一个个独立的,且无法返回的函数,这个函数我们称为任务:任务包含几个属性:任务堆栈,任务函数.任务控 ...

  10. springboot集成spring security实现登录和注销

    文章目录 一.导入坐标 二.Users实体类及其数据库表的创建 三.controller,service,mapper层的实现 四.核心–编写配置文件 五.页面的实现 运行结果 一.导入坐标 < ...