素材巴巴 > 程序开发 >

云IDE实践

程序开发 2023-09-11 06:31:13

一、 前言:

从学校毕业到现在,工作也有5-6个年头了,您的开发中,是不是跟我一样,场景会遇到以下的困境呢?

序号分类问题点困境1环境安装①. 刚入职公司,需要安装各种复杂的开发环境
②. 有时候,解决不了,还不能声张,声怕同事说自己菜,死鸭子嘴硬 x 重复低效2环境安装开发过程中,误删除软件、误改配置文件,导致开发环境不能使用,重新格式化 x 隔离性差3协作办公下班或者周未不能好好玩,需要7*24小时待命,坐地铁、出去玩也要无脑带着电脑 x 移动性差4特殊环境①. 开发电子称功能,因为要使用.dll文件连接电子称
②. 在尝试多种方案后,我的电脑成功运行,在其它电脑上不成功 x 环境复用性差5软件版本古老的java项目依赖需要老版本java版本 x 隔离性差6软件版本新旧项目用的MySQL不是同一个版本,后面新升级技术体系 x 隔离性差7设备硬件多开几个项目就开始卡顿,尤其是全栈开发 x 硬件资源低8设备硬件java代码编译时间长,一天工作量干不完,就要加班 x 硬件资源低9开发工具①. 前端开发webStorm与vsCode,有时候,大家装的插件有冲突
②. 比如有一次代码格式化eslint不一致,导致整个代码仓库全部乱了 x 没有统一的标准10开发工具①. 有一个c++的工具开发go时,起的类、函数名超长,还经常吐槽我们写的不规范
②. 后面才知道原因,是他用习惯了vi工具,长的名字为了方便查找快速 x 没有统一的标准

还有许多种种问题,迫切的想各种方案解决问题、各种制度用来约束,但是,换取的收益可能不大。

最近参加CSDN联合腾讯云推出的系列开发者技术实践活动《腾讯云 Cloud Studio 实战训练营》,让广大开发者沉浸式体验腾讯云开发者工具 Cloud Studio,借此机会,让我们一起来从入门到实战腾讯云 Cloud Studio 的产品。

在这里插入图片描述

备注:该活动旨在通过技术分享直播、动手实验项目、优秀代码评选、有奖征文活动等,有兴趣的同学快来参加起来,方向盘都给你了,还不来?

活动链接:

活动详情介绍:
活动报名页面:
Cloud Studio产品体验地址:
8月3号 19:00 腾讯云 Cloud Studio 打造云端全开发新体验


二、 手册活动:

实践出真知,接下来,通过腾讯云 Cloud Studio 做一个实战案例来深入了解该产品的特性!

官方温馨的提供了4个动手实验手册,来帮助我们熟悉和体验一下整个产品的流程:

选择第一个项目《使用 Cloud Studio 快速构建 React 生成点餐 H5 页面》,在不到10分钟的时间,就搭建运行成功了。

在这里插入图片描述

在使用的过程中,通过对 Cloud Studio 的产品从0到1小小的实践了一把,让我受益良多,颠覆了对本地IDE的认知,也让我真正理解在云计算时代,带动了很多云产品的发展,Cloud Studio 的产品也可以认为是一个里程碑的历程。

白话的总结,就是一毛钱不花,什么也不懂,就可以实现各种环境的开发,真香,白漂党必备良药。


四、 What – Cloud Studio 是什么?

Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供稳定的云端工作站,在使用 Cloud Studio 时无需安装,打开浏览器即可快速启动和开发项目,底层资源可以自动弹性扩缩,极大地节省成本,低代码开发省时又省力。

基于 Web 端的代码编辑器,包含代码高亮、自动补全、Git 集成、终端等 IDE 的基础功能,同时支持实时调试、插件扩展等,提升开发、编译与部署工作效率。

序号支持的功能详细描述传统IDE对比1多语言支持①. Java、Python、Node.js、Kotlin、Scala、Ruby
②. React、Vue.js、Angular x 不支持2开箱即用模板环境①. 常用模板:All in One、Ubuntu、Java、Go等10种
②. 框架模板:Flet Todo App、Flutter、Spring Boot、React等20种
③. 建站模板:victor-hugo、docusaurus-base、vuepress-deploy等19种
④. 云原生模板:Serverless Framework x 不支持3无需安装①. 基于云端的IDE
②. 无需在本地安装任何软件或工具 x 不支持4云端存储①. 将代码和项目存储在云端
②. 可以随时在任意设备上访问和编辑代码
③. 无需担心数据丢失或备份 x 不支持5智能编码①. 提供代码补全、自动修复、重构等功能,帮助更加高效地编写代码
②. 智能编码提高代码的质量和可维护性 v 本地IDE略强6版本控制①. 集成了Git版本控制系统,轻松管理和维护自己的代码库
②. 使用Git来跟踪代码的变化、协作开发、管理分支和合并请求等 x 缺少协作开发7丰富的插件生态①. 支持第三方插件,帮助扩展和定制IDE的功能
②. 这些插件可以提供额外的语言支持、调试器、自动化工具等,可以根据自己的需求进行个性化的设置差不多8高度安全①. 采用了多层安全措施,保障代码和数据的安全性
②. 数据的存储和传输都采用了加密技术,确保数据不被黑客或恶意软件攻击 x 不支持9易于扩展①. 可以根据需要添加新的工具、插件和库
②. 开发人员可以使用CloudStudio的API和SDK来创建自己的插件和工具,以满足个性化需求 x 不支持10轻量级①. 是一个轻量级的IDE,可以快速启动和运行
②. 开发人员可以更快地开始编写代码并运行项目,提高开发效率。 x 不支持11协作①. 云端存储还可以帮助开发团队更好地协作和共享代码 x 不支持

可以看到云IDE Cloud Studio有很多功能是本地IDE不支持的,提供了丰富的预设环境,让开发者能快速上手。


六、 Why – Cloud Studio 能解决什么问题?

回想一下,平时我们在工作中的开发程序,是怎么样的一个流程?

序号开发流程使用Cloud Studio后1①. 下载本地开发IDE
②. 前端开发,一般下载VsCode、WebStorm等
③. 后端Java开发,一般下载IDEA、Eclipse等
④. 后端Go开发,一般下载GoLand等 x 省略不用2①. 配置开发环境
②. 前端开发,一般下载Node、Npm、Yarn、Pnpm等
③. 后端Java开发,一般下载JDK等
④. 后端Go开发,一般下载Go源码等
⑤. 配置环境变量、代码打包环境、Git环境等 x 省略不用3编写代码,调试代码,编译打包代码 v 4提交代码到Git远程仓库 v

在这里插入图片描述


七、 How – 怎么使用Cloud Studio?

在这里插入图片描述

1. 快速体验一下Angular模板:

由于本人没学过Angular开发,今天正好用这个机会来尝试一下,0基础学习Angular。

在这里插入图片描述
在不到2分钟就初始化了一个Angular项目,打开项目里面的html文件,输入“从0到1学习一下Cloud Studio的云IDE”,控制台会及时进行刷新。对于学习新技术,简直就是利器。
在这里插入图片描述

2. 自定义模板:

可以在 Cloud Studio 云端 IDE 的工作空间内存放自己的项目代码,安装所需要的软件环境,运行、调试、编译项目,下面将介绍如何使用自定义的工作空间。

2.1 痛点问题: ①. 有些开发环境,环境可能依赖非常多的工具包、插件、组件等,如果都需要用户自己去安装和准备,过程肯定是十分的繁琐和不利的。
②. 不利于用户分享工作空间给其它协作同事创建副本。
③. 解决多人使用相同配置、相同模板的问题。 2.2 解决方案:①. 手动新建“模板”
②. 导入workspcace.yml YAML配置文件 2.3 提效结果:①. 直接使用定制化的模板,可以直接初始化指定的工作环境,免去大量的安装、排错、检查工作,最高提效可以达到60%。

3. 新建模板:

在“空间模板”中,右上角“新建模板”,这里有两种方案来创建,先来体验一下“手动新建”的方式。

在这里插入图片描述
打开新建自定义模板,填写以下信息,可以看到自带提供MySQL、Redis、Postgresql第三方中间件,也支持自定义shell命令、环境变量,有利于项目的扩展性。
在这里插入图片描述
以下为尝试用公司的go基础服务做为一个模板文件,可以做为参考一下。
在这里插入图片描述

上面可以点击“导出workspcace.yml”,将这个yaml分享给需要协作的同事,点击“新建”后,就可以创建出属于自己定制化的“自定义模板”。
在这里插入图片描述

4. 导入workspcace.yml配置文件:

YAML是一种人类可读的数据序列化格式,旨在成为一种简单、易于使用的数据表示语言,适用于配置文件、数据交换、文档标记等场景。

YAML 文件不依赖于特定的编程语言,可以被多种编程语言解析和生成。由于其简洁性、可读性和易用性,YAML 文件广泛应用于各种场景,例如配置文件、持久化数据、API 接口定义、自动化工具等。它在许多编程语言和框架中都有成熟的解析库和工具,使得读写和处理 YAML 数据变得非常方便。

在这里插入图片描述
如下为上面导出的workspcace.yml文件:

version: "v1"
 # 初始镜像,猜测应该是用docker启动的一个容器
 image: "cloudstudio-devops-docker.pkg.coding.net/artifacts/workspace/go-1.19:2023-04-25.0943"
 # 模板创建的工作空间时,自动安装的插件
 extensions: 
 - "golang.Go@0.39.1"
 # 工作空间的生命周期:共分为init、start、destory
 lifecycle:init:- name: "更新源"command: "apt-get update"- name: "安装nginx"command: "apt-get install -y nginx"start:- name: "启动nginx"
 command: "service nginx start"
 # 模板创建的工作空间时,需要启动的第三方中间件
 sidecar:mysql:enabled: truepassword: "dpbg123."database: "common-test"port: 3306redis:enabled: truepassword: "3306"
 port: 6379
 # 模板名称
 name: "公共基础服务go通用模板"
 # 描述
 description: "公司业务公共基础服务go通用模板,主要提供短信、上传OSS等服务"
 # 标签
 tags:
 - "Go"
 # 模板创建的工作空间时,自动拉取的代码仓库
 repository: "https://gitee.com/xxx/go-base-common.git"
 # 默认拉取的分支
 ref: "master"
 storage:copy_to_working_dir: true
 category: "userDefined"
 sort: 0
 show: true
 

标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。