【腾讯云 Cloud Studio 实战训练营】通过云IDE构建Web3项目

2023-10-26

在这里插入图片描述

​ iOS开发上架主页
在强者的眼中,没有最好,只有更好。
移动开发领域优质创作者,阿里云专家博主

Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装,随时随地打开浏览器就能在线编程。

背景

随着云计算技术的成熟和普及,越来越多的传统编程能力和资源已经以云服务的形式开放出来。从中间件、数据库等水平能力服务组件到人脸识别、鉴权服务等基本业务服务组件,都可以很容易地在云端获取。Cloud Studio 云端 IDE(Web IDE/在线 IDE/Cloud IDE)是腾讯云自主研发的在线编程平台,它可以不再受限于本地设备,而是通过云端服务来编写、运行和调试代码。这种服务模式不再只是云端的软件开发环境,而是提供了包括基础设施服务的 Development-environment-as-a-Service 的服务模式。这就意味着,我们可以无需在本地维护和设置项目,直接在浏览器上进行开发,实现真正的零门槛开发。

一、 前言

在这里插入图片描述

大家有没有遇到过需要在不同设备上开发项目时,需要重复安装各种应用程序和插件的烦恼呢?现在,有了 Cloud Studio,这些问题都将不复存在!Cloud Studio 是一款基于浏览器的集成式开发环境,让开发者可以随时随地、轻松高效地进行开发。

通过使用 Cloud Studio,可以实现代码高亮、自动补全、终端等在线编程 IDE 的基础功能,还可以轻松集成 Git、实时调试、插件扩展等强大的功能。这些功能的存在,不仅可以帮助我们快速完成各种应用的开发、编译与部署工作,还能够提高我们的开发效率和开发体验。

最狠的是 Cloud Studio 不仅提供了一个永不间断的云端工作站,而且还可以在多个设备上进行同步,让我们的开发流程更加丝滑和高效!!!!这必须冲!!

在篇博文中,我将带大家沉浸式体验 CloudStudio 开发带来的快感,通过Web3 明信片项目案例一步一步深入产品细节!

在整个过程中,我们将学习到

  • Cloud Studio 在项目中的作用
  • 如何使用 Cloud Studio 进行项目环境初始化
  • Cloud Studio 项目如何链接到 gitee 作为项目的管理仓库
  • Cloud Studio 可能会出现的一些情况

二、 Cloud Studio 主要功能和应用场景

CloudStudio是一个基于浏览器的云端集成式开发环境,适用于多种应用场景,包括:

  1. 快速启动项目:使用CloudStudio的预置环境,可以直接创建对应类型的工作空间,快速启动项目进入开发状态,无需进行繁琐的环境配置。

  2. 实时调试网页:CloudStudio内置预览插件,可以实时显示网页应用。当您的代码发生改变之后,预览窗口会自动刷新,这样您就可以在CloudStudio内实时开发调试网页了。

  3. 远程访问云服务器:CloudStudio支持您连接自己的云服务器,这样就可以在编辑器中查看云服务器上的文件,进行在线编程和部署工作。

三、Cloud Studio 实验前期准备

3.1. 打开官网

打开官网 点击以下链接跳转到官网,并点击 “注册/登录”官网
在这里插入图片描述

3.2. 注册 Cloud Studio:

这里注册和登录 Cloud Studio 非常方便,提供了三种注册方式:

  1. 使用 CODING 账号授权注册/登录
  2. 使用微信授权注册/登录
  3. 使用 GitHub 授权注册/登录 (本文使用方式)

在这里插入图片描述
注册完成后就可以通过 CloudStudio 提供的模板进行项目构建了!!

四、构建Web3项目

这里我以博主之前开发的一个 web3 明信片项目为例,整个项目是 ts + react ,然后给大家进行产品演示,由于项目代码繁琐一点,就不具体到代码细节了,这是一个基于 Web3 技术的社交明信片项目,提供了一种新的收集和分享记忆的方式。项目使用了 Infura 作为节点服务,IPFS 进行数据的去中心存储以及使用 MetaMask 服务允许用户通过浏览器进行项目交互。并为设计者提供「创作者激励」。

项目效果如下:

在这里插入图片描述

4.1. 项目中技术栈

  • Hardhat 是一个可以帮助开发人员快速、高效地编写、测试和部署以太坊智能合约的开发框架。
  • Next.js 是一个基于React的服务器端渲染框架,它可以帮助开发人员构建高性能、可扩展的Web应用程序,并提供了一些开发工具和插件,方便开发人员进行快速开发和部署。
  • Metamask 是一款以太坊钱包浏览器扩展程序,它可以帮助用户管理以太坊账户和进行区块链交易,同时提供了一些安全性和隐私保护功能,使得用户在去中心化应用中的交互更加方便和安全。
  • IPFS 是一种去中心化的分布式文件系统,它可以帮助开发人员存储和访问各种类型的文件和数据,同时具有高度的可靠性、安全性和可扩展性,可以帮助开发人员构建更加可靠和安全的分布式应用程序。
  • TypeScript 是一种开源的编程语言,它是JavaScript的一个超集,可以帮助开发人员编写更加可靠、易于维护的代码,同时提供了一些类型检查和代码提示功能,方便开发人员进行快速开发和调试。

4.2. 通过gitee管理代码并在CloudStudio上初始化环境

现在本地将项目上传到 gitee 仓库,方便后续在 CloudStudio 上初始化

在这里插入图片描述
然后我们回到 CloudStudio 进行空间创建,为这个项目搭建一个可以运行的环境,这里我们不需要通过模板进行创建,因为我们的项目不是在云IDE上现场开发,所以这里我们选择新建工作空间,然后选择输入仓库地址,选择开发环境为 React + node 18

在这里插入图片描述

点击新建就可以初始化环境了,效果如下:

在这里插入图片描述

4.3 运行预览项目

项目成功获取到之后开始准备运行和预览项目,通过CloudStudio的内置终端,然后运行以下命令进行依赖安装:

yarn install

依赖安装完后就可以开始启动了:

yarn start

右下角监控到有新的端口打开之后,就会弹出提示消息,然后可以通过打开内置预览,看到已经启动的项目

在这里插入图片描述

可以看到,和我们本地启动的是一模一样的,但是是不需要安装环境的,非常方便!
在这里插入图片描述

4.4 测试项目运行状况

启动虽然正常启动了,但是我们还是需要进行一些测试,看看新的环境中项目运行是否正常,这里我通过连接 metamask 进行登录测试
在这里插入图片描述

可以看到 connect 钱包是正常的,然后我们开始赠送一张明信片

在这里插入图片描述

这里会发现,这个环境是加载不出 ipfs 上面的图片的,所以运行不是那么完整
在这里插入图片描述
正常大概是这样:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但是整体功能是没有问题的,可能是因为网络相关问题,整体的运行体验还是不错的!!!

五、其他功能演示

5.1. 多人协作

协作发发起协作,发起者点击“开始协作”按钮,就可以生成协作邀请信息,发起者点击“再次复制链接”按钮,将下述信息粘贴发给需要参与项目的人员。同时,项目进入协作计时,计时显示在右上角控制面板中。邀请信息内容具体如下:“k9sec 邀请您加入工作空间协作。点击链接:https://cloudstudio.net/share/xxxxxx Cloud Studio MetaWork,就可以进行多人协作了!!
在这里插入图片描述

在这里插入图片描述

5.2. 使用 Git 进行版本控制并发布项目到gitee

这里我在 readme 中加入一段描述,并且准备commitgitee仓库中
在这里插入图片描述
转到源代码管理模块,可以看到已经出现了我的修改,这里我们通过 commitsyncchange 就可以将修改同步了!非常的nice!
在这里插入图片描述
效果如下:
在这里插入图片描述

其他过多的功能就不一一介绍了,大家感兴趣的可以去官网浏览查看!!!

六、常见问题及注意事项

  • 在开发过程中,发现一个不太适合 web3 项目的点,就是 ipfs 是网络是加载不出来的,不知道后续有没有可能进行优化
  • 在进行多人协作的时候,有时候加入协作邀请方没有收到消息,不知道是网络问题还是什么原因,没有反馈,导致一直在那等待
  • 还有就是云主机工作空间会出现频繁的断线重新,不过这个通过查看文档找到了原因,这个发出来避免大家也有同样的情况,官网回答如下
    • 目前由于云主机工作空间的流量是由 Cloud Studio 服务器进行代理,访问路径为 本地机器 -> Cloud Studio 代理服务器 -> 云主机 , 会导致 Cloud Studio 由于网络环境的情况导致连接不稳定。目前 Cloud Studio 已经在优化访问路径为 本地机器 -> 云主机,以此来提高连接稳定性,敬请期待。

七、总结

在使用腾讯云 Cloud Studio 时从环境搭建到运行整体感觉上还是很丝滑的,感觉收获颇多。在实践遇见的一些问题,小助手也会积极解答,通过对几次的CSDN的培训以及官方文档的学习,对CloudStudio有了很大的认识,真的是一个很不错的云IDE产品,在后续的工作中,也会大量给公司推荐腾讯云的一些有效的方案,用于公司降本增效。

经过这次活动,我总结了CloudStudio的相关优点,方便大家在选择解决方案时参考:

  1. 支持多种语言环境,包括PythonJavaNode.js等。
  2. 支持创建工作空间,可以在其中进行在线编程、代码修改、实时调试等操作。
  3. 支持Git版本控制和连接云主机进行资源管理。
  4. 提供云端部署套件和协作套件,方便应用部署和团队协作。
  5. 支持自定义模板和在线预览调试功能。
  6. 支持在线安装VS Code插件以增强使用体验。
  7. 支持按量计费和资源包购买,适合中小型项目使用。

总体来说,在这次 CloudStudio 的实践案列下,还是学习感受到了这种开发方式带来的根本性变革,其实也是顺应时代的产物,从低级语言到高级语言,从自建服务器到云服务器,每个产品的诞生都是为了释放重复劳动,或许以后开发只需要编写部分核心业务代码就可以上线了,所有的标准化功能都可以一键组装,还是要学会站在巨人的肩上,感谢腾讯云提供丰富底层支撑,能让现在的开发者的开发方式越来越简单高效!!!

八、相关链接

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【腾讯云 Cloud Studio 实战训练营】通过云IDE构建Web3项目 的相关文章

  • eclipse的jade模板语法支持吗?

    我刚刚开始使用nodejs 模板引擎jade 不幸的是 我的 IDE eclipse 似乎不支持此语法 并且无法正确突出显示 是否可以向 eclipse 添加对 jade 文件的支持 作为 Nodeclipse 工作 www nodecli
  • 如何在Android Studio中更改项目名称

    将 eclipse 项目导入 Android Studio 并将其保存在新文件夹中 将包名称和所有内容更改为新名称 但项目名称仍然是旧项目中的名称 如何将指向的名称更改为其他名称 尝试更改此文件的内容 C Path To Project i
  • Cs50 VScode ide 仅在恢复模式下运行

    每当我尝试打开 cs50 vscode 工作区时 它都会首先发出以下通知 由于容器错误 此代码空间当前正在恢复模式下运行 查看创建日志 根据需要更新您的 devcontainer 配置 然后运行 重建容器 命令来重试 然后预装的工具都不起作
  • 有哪些可用于 gtk+ 开发的 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 问题 如何使 C# 的 VS IDE 设计器失效/刷新?

    I have 定制表格继承自Form它实现了一个名为的布尔属性Prop 我将使用的表单将继承自定制表格 此属性将对表单进行一些绘制和更改 如果已启用 但是 这并没有按预期工作 设计的 VS IDE 没有刷新以显示更改 但是 如果我按 Ctr
  • 关闭 Selenium IDE 中新打开的选项卡或窗口

    在 Windows7 和 Firefox 中使用 Selenium IDE 自动单击链接可能会生成新选项卡或新窗口 close 关闭原始窗口或选项卡 而不是新窗口或选项卡 也许如果我有新创建的 ID 我可以选择它然后关闭它 但我不知道如何自
  • 我可以让 IntelliJ IDEA 看起来更像 Eclipse 吗?

    我已经在 Eclipse 中进行开发很长一段时间了 但我仔细研究了 IntelliJ IDEA 9 0 3 因为它具有良好的 Flex 开发工具和 Maven flexmojos 集成 但我就是无法忍受 Ubuntu 10 04 上的外观
  • 我应该使用什么 IronPython IDE?

    这个问题可能看起来很像Windows 上的 IronPython IDE https stackoverflow com questions 755883 ide for ironpython on windows关于 stackoverf
  • 如何在 Eclipse 中使用 PHPdoc

    我们目前正处于一个新项目的开始阶段 希望 这一次 从一开始就尽可能多地发表评论 以帮助未来的发展 我试图找出在 Eclipse 中使用 phpDoc 的最佳实践 但结果非常有限 您能分享一下在 Eclipse 中使用 phpDoc 注释内容
  • Go测试调试

    有没有办法使用像 IntelliJ 这样的 IDE 来调试 Go 中的测试 我正在使用 IntelliJ 的 Go 插件 似乎在提供调试配置时 调试按钮被禁用 It is 可能在 Gogland 1 0 预览版 Build EAP 12 1
  • PyCharm:Scapy 未解决的参考

    我正在开发一个使用 scapy 用 python 编写的网络工具 我使用 Pycharm 作为 IDE 我的代码有效 因此 如果我运行它 一切都会按预期进行 我的问题是 PyCharm 给了我一些错误 它标志着每次使用IP TCP Ethe
  • 如何设置新语言 IDE

    在工作中 我们使用专有语言 并使用带有简单代码突出显示的 Notepad 进行编程 这真的很烦人 所以我想做的是花一些时间来设置一个文本编辑器或现有的 IDE 来支持我的语言 我在谷歌上搜索了很多 有很多选择 在开始工作之前我想问你什么是最
  • 如何调试肉桂小程序?

    我想写一个肉桂小程序 这些都是基于 JavaScript 的 我希望编写的代码更改服务 打开和关闭它们 类似于WebDeveloper菜单小程序 https bitbucket org infiniteshroom cinnamon web
  • 是否有一个项目可以使用 Eclipse 代码库为 Emacs、VIM 和其他编辑器提供高级语言支持?

    这里有很多关于 IDE 与编辑器以及哪个更适合现代软件开发的问题 在答案中 一个常见的观点是 Eclipse 有更好的语言支持 例如for Java http help eclipse org indigo index jsp topic
  • 嵌套 Linq Min() 使 Visual Studio 崩溃

    我有一段代码使 Visual Studio 2008 IDE 运行速度非常慢 消耗大量内存 最终导致其崩溃 我怀疑 VS 达到了操作系统内存限制 以下代码不是我的真实应用程序代码 但它模拟了问题 本质上 我试图使用 LINQ 找到树中的最小
  • 使用 PHPstorm 让 php 代码在浏览器中执行

    因此 当我单击 运行 时 PHPstorm 正在其控制台中正常运行 php 代码 这很好 但我想在浏览器中看到它 所以我在 PHPstorm 中创建了一个新的 PHP Web 应用程序 将服务器设置为 localhost 8000 现在 当
  • python - Atom IDE 如何启用自动完成代码以查看模块中的所有函数

    我正在为我的 python 项目使用atom IDE 在某些情况下有自动完成建议 但我想知道是否可以列出导入模块具有的所有可能功能 例如 如果我导入import urllib当我打字时urlib 并按 ctrl tab 想要查看包含可能使用
  • Sublime Text 2 在 Java 开发方面是否胜过 Eclipse [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 更改 Eclipse 启动配置中的默认“要运行的程序”

    我时不时地使用以下命令从 Eclipse 中启动 JUnit 测试 运行方式 gt JUnit 插件测试 默认情况下 Eclipse 假设您正在运行需要工作台的东西 并在启动配置的 Main 部分中进行选择 LaunchConfig gt
  • 如何在 android studio 中禁用 gradle '离线模式'? [复制]

    这个问题在这里已经有答案了 我是 android studio IDE 开发的新手 每次当我导入在 android studio 中开发的示例项目时 我都会收到此错误 没有缓存版本com android tools build gradle

随机推荐

  • 反激变换器DCM模式增益推导

    针对反激变换器的DCM 电感电流断续模式 的增益进行推导 主要原理为电感的伏秒平衡和电容的安秒平衡原理 反激变换器的原理图如下 根据电容的安秒平衡原理可知 输出电容C在一个周期内的平均电流为0 故输出侧电流i2的平均值等于负载电流平均值 式
  • 如何制定性能测试计划

    如何制定一份性能测试计划 考虑以下几个方面 1 明确测试目标和范围 确定要测试的系统 应用程序或网站 并明确测试的目标和范围 例如测试响应时间 吞吐量 并发用户数等 2 确定测试环境 选择适当的测试环境 包括硬件 软件 网络等 以确保测试结
  • Intrinsics头文件与SIMD指令集、Visual Studio版本对应表

    Intrinsics头文件与SIMD指令集 Visual Studio版本对应表 File Intrinsics头文件 描述 指令集描述 VS Visual Studio版本号 VisualStudio Visual Studio版本名 F
  • 微信小程序上传图片到阿里云OSS,读取上传后oss后的图片

    一 config js var fileHost xxxx aliyuncs com 你的阿里云oss地址 var config aliyun OSS config uploadImageUrl fileHost 默认存在根目录 可根据需求
  • Static Timing Analysis for Nanometer Designs A Practical Approach

    分享电子书籍 静态时序分析圣经 Static Timing Analysis for Nanometer Designs A Practical Approach 1 setup time Setup time 建立时间 是数据信号 D 在
  • 小程序 - 日期选择器

    效果图 实现步骤 1 创建组件 wxml
  • Unity3D控制Animator播放

    有一个需求 要求第一次打开一个界面触发一个动画播放 关闭界面动画播放关闭 再次打开界面继续上次到播放而不是重新开始播放 如果动画播放结束关闭打开界面入口 即无法在此进入该界面 有两种实现方法 方法1 第一次打开界面开始播放特效动画 调用an
  • AI—漂亮的花简单制作(含详细教程)

    暑假在家刷短视频 不 不 不 球球 别别别 平面制作搞起来 跟数媒小可爱学炒鸡有意思的AI吧 今天带来的是一朵漂亮的花 gt 效果图入下 步骤一 用 星形 工具 gt 角点数 为25 如图 gt 确定 步骤二 按住ALT键 复制一个星形 缩
  • 再也不用担心网吧开黑队友听不清了!降噪解决方案了解一下?

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由腾讯游戏云发表于云 社区专栏 经常逛游戏论坛的朋友会深有感触 很多玩家经常会在论坛里吐槽在网吧开黑的体验很差 噪音太多 在游戏语音开黑的过程中 如果其中一个队友身处网吧 则其他
  • chronyc sources -V

    Chrony 是一个时钟同步工具 而 chronyc sources V 是它的命令行参数 用于显示当前时钟源的详细信息 使用这个参数后 会输出当前时钟源的信息 包括 源类型 IP 地址 可用性 偏差和误差等 通过这些信息 可以了解时钟源的
  • Linux 编译运行查找头文件和库的顺序

    linux中在使用gcc进行编译时 可能会出现找不到相应库或头文件的情况 往往让人十分头疼 因此 此文描述了库和头文件的查找顺序和一些注意事项 希望能帮助大家在出错时能够快速定位和解决 头文件 gcc在编译时按照如下顺序寻找所需要的头文件
  • set,env和export的区别

    http blog csdn net longxibendi article details 6125075 http blog chinaunix net uid 128922 id 289956 html set 显示 设置 shell
  • JSP编程手记------jsp页url中传中文参数乱码问题续

    一个偶然的机会 发现了一个解决jsp页url中传中文参数乱码的方法 比我前面说的用隐形的form表单来的更加漂亮和容易 具体方法如下 程序清单 response sendRedirect gh 0001 xm java net URLEnc
  • Qt手动设置Kits套件

    Qt编译器版本手动设置方式 文章目录 Qt编译器版本手动设置方式 前言 一 安装MSVC2019 32bit 二 手动设置kits套件 总结 前言 在给Qt Creator添加自定义控件时 遇到的版本问题让人头疼 我用的Qt5 12 10
  • 那一年读过的技术经典书

    转载请注明 http blog csdn net xinzhangyanxiang article details 10199757 大学刚毕业 总结起来读过的书并不算多 而且主要集中在大四的时期读的 在此把经典统一总结一遍 先总结机器学习
  • Qt信号和信号槽(二)

    目录 信号槽使用拓展 示例1 一个信号可以对应多个槽函数 在上篇文章的代码中进行修改 示例2 用信号连接信号 信号槽的连接方式 示例 Lambda表达式 语法格式 定义和调用 信号槽使用拓展 一个信号可以连接多个槽函数 发送一个信号有多个处
  • SpringBoot使用quartz, 注入feignClient, client为null

    使用 autowired 活着构造方法注入 打断点查看注入的feigncliet为null 搜索网上的一些博客 大致原因是因为quartz启动是通过反射将一些类注入进来 启动的时候引用这个类还没初始化好 下面是解决方案 使用spring 提
  • OpenRestry-demo

    openRestry 基于Nginx和lua的高性能web平台内置了大量lua库和第三方的模块 为了使用lua开发一些定制功能 安装环境 安装环境 yum y install pcre devel openssl devel gcc cur
  • 基本的传染病模型:SI、SIS、SIR及其Python代码实现

    本文主要参考博客 http chengjunwang com en 2013 08 learn basic epidemic models with python 该博客有一些笔误 并且有些地方表述不准确 推荐大家阅读Albert Lasz
  • 【腾讯云 Cloud Studio 实战训练营】通过云IDE构建Web3项目

    iOS开发上架主页 在强者的眼中 没有最好 只有更好 移动开发领域优质创作者 阿里云专家博主 文章目录 背景 一 前言 二 Cloud Studio 主要功能和应用场景 三 Cloud Studio 实验前期准备 3 1 打开官网 3 2