当前位置: 首页 > news >正文

如果你是Java程序员,你会选择Cloud Studio进行云端开发,放弃IDEA吗?

你好,这里是网络技术联盟站。

这两天无意中在腾讯云开发者社区看到一款产品:Cloud Studio,顿时来了兴趣,访问其官网https://cloudstudio.net/了解后,觉得这个是个好定西。

Cloud Studio官网

我也去简单的体验了一把,体验前需要注册,直接用微信扫码就行了,然后就是实名认证。

不管玩啥,第一个要运行的代码肯定是“Hello,World!”:

Cloud Studio上运行java写的Hello,World

整体下来还是蛮不错的,但是对于Java程序员来说,用Cloud Studio的丝滑度会不会超越IDEA?还有Cloud Studio到底是个啥?Cloud Studio的黑科技有哪些?这些就是本文要重要与大家讨论和分享的地方。

什么是Cloud Studio?

Cloud Studio是腾讯云推出的一款云端开发工具,也就是通过浏览器就可以开发程序。

想一想以前我们开发程序是什么样的流程:

  1. 下载开发IDE,如果是前端开发,一般就是VS Code或者WebStorm,如果是Java后端开发,一般就是IDEA或者Eclipse。
  2. 配置环境,包括语言的开发环境、代码打包环境、Git环境等。
  3. 写代码。
  4. 提交代码至远程仓库。

那么通过Cloud Studio开发,上面的四个步骤可以去掉前两个步骤,你只需要:

  1. 写代码
  2. 提交代码

开发工具、开发环境Cloud Studio通通都帮你搞定了。

除了这些,Cloud Studio还有好多优势:

Cloud Studio优势

Cloud Studio解决了哪些痛点?

Cloud Studio和普通的IDE共同的点我们就不提了,比如都能代码高亮、都能代码自动补齐、支持许多快捷键等。

我们就来看下使用Cloud Studio可以解决我们常规开发时哪些痛点。

1、硬件成本

当我看到Cloud Studio的时候,首先映入我脑海的就是,“这太爽了,我买苹果电脑,再也不需要花高价追求大内存了”。这真是一个现实问题,不过是苹果电脑还是其他电脑,只要你是开发者,那么内存这块你肯定要16G+的,不然运行不了几个程序的。

那么Cloud Studio是基于云端的,我们只要保证网络没问题就可以,一个配置不高的电脑也可以编写、运行许多吃内存的程序,因为我们用的是Cloud Studio的资源,跟我们电脑本身没有任何关系。

2、在线预览

这个非常强,想都不敢想,为啥这样说呢?

我记得很清楚,之前有个兄弟刚毕业来到公司实习,我们公司比较大,一栋楼,几乎平时协同开发的人都不会在一个办公室,那个小兄弟前期问题比较多,每次也不可能让他过来,或者我过去给他解决问题,更多的是让他先提交代码至远程仓库,然后我再去拉他的代码进行看,这个就存在两个问题:

  • 代码提交记录无意义,一般的提交记录都是方便记录或者便于统计,如果为了解决一个问题再去动不动提交代码到仓库,那就又乱又多。
  • 费时费力,每次共享一个小问题,又是交代码、拉代码,然后各种没意义的操作,浪费时间,还容易造成精神疲劳。

那么这个在线预览是什么样子的呢?

第一步:点击Cloud Studio左侧导航栏的“多人协作”

第二步:点击“开始协作”

第三步:协作开发

我们看到点击完第二步的“开始协作”后,会自动复制出多人写作的链接,我们将这个链接复制到另外一个窗口:

协作者界面

点击“立即加入”:

这里我分享给了“圈圈”,上面的界面是“圈圈”的界面。

我们再回到主用户界面:

分享者界面

我们看到Main.java已经分享给我的师弟“圈圈”了。

协作者在输入代码的时候,主用户也能看到输入的过程:

协作者写代码

主用户实时感知

同时从上面的两张图,你还能知道每个用户的光标在哪,即将或者正在修改哪一行代码。

这个真的很香!真的香!

多人协作的时候既可以实时看到,还可以看到每个人分别写了啥代码,最最最关键的是这种操作非常非常快速、方便!

目前我自己能够感知到的Cloud Studio黑科技就这2个是解决了目前大多数人面临的痛点,至于Cloud Studio其他优势有些是我们不关心的,我不好做评价。

针对Java程序员,我会选择Cloud Studio吗?

在回答这个问题之前,我想先反问一下官方:

  • 代码拉到Cloud Studio里后,能否保证绝对安全,会不会存在代码泄露的风险?

这个很重要,一个产品,最重要的就是代码了,假如源代码泄露了,后果不堪设想,如果用本地的IDE一般除非其他特殊的情况,不会存在主动泄露的风险。

假如Cloud Studio能够保障代码100%安全,那么我会选择吗?

我们先来看下Cloud Studio代码编辑器界面,这就是VSCode的界面,那么对于用习惯IDEA的java开发者来说,这无疑会带来好多不便:

  • 快捷键不同
  • 菜单栏不同
  • 风格不同

我觉得影响最大的应该就是快捷键不同吧,不过以我的理解,这个问题应该会有解决措施的,毕竟VSCode是插件大王,没有什么是插件做不了的,不过每个Cloud Studio工作空间都要安装一个插件,确实不太方便,原本是为了简化工作流程,到最后反而增加了不必要的操作。

第二点

除了本身写代码的习惯外,我试着去用了一下SpringBoot的模板:

SpringBoot的模板

点开后直接默认进入了一个SpringBoot的环境,jdk我看的是1.8的版本,那么问题来了,在进入前为啥不能像IDEA自己选择是哪个版本呢?(即使可以在pom文件中进行修改,但是这个操作其实也没必要)

再者,使用IDEA的时候,可以预先选择想要安装的依赖,这样的话省的到时候再在pom文件中写入,这个貌似Cloud Studio也不支持。

这个在使用模板是没有的,但是通过自定义SpringBoot项目的时候可以选择预安装依赖,最好在SpringBoot模板中也能选择,这个会更便捷

第三点

模板中不支持SpringCloud,那么现在玩的比较多的还是SpringCloud,也不支持多模块管理,这个也是比较欠缺的。

这个在使用模板是没有的,但是通过自定义项目的时候可以实现,但是还是那句话,最好模板中能够提供。

第四点

每个工作空间,我的理解可以是一个代码仓库,当时我们在开发的时候需要进行项目多开,那么这个Cloud Studio目前支持吗?

比如现在打开的是Java-roiwzi项目,这个时候我想同时打开SpringBoot-ocytjj项目,那么此时Cloud Studio就会提示需要先关闭Java-roiwzi工作空间,但是在真实的开发场景,可能吗?

不支持工作空间多开,不仅仅是java项目,如果你是一个前端开发者,有时候也是需要多开的。也有可能Cloud Studio已经支持了,但是我目前体验操作给我的感觉是不支持的。

总结

总体来说,我是非常推荐使用Cloud Studio的,前提是Cloud Studio能够保证绝对的代码安全性,已经能够将每种语言的开发习惯分别定制化,或者说趋于一致,毕竟前后端开发习惯、风格本身就是不同的,目前而言,没见过哪个java开发者用VSCode,或许有人在用(这类人大多数是前端转后端)。

Cloud Studio以现在的功能和其定价有点不太匹配,假如公司级别的能够支付这个费用,那无所谓,如果是个人开发者,换做我,肯定不会选择的,情愿麻烦一点,而且环境这个东西,配置一次就ok了。

但是Cloud Studio毕竟是云端的,可以节省IDE的授权费用、电脑的配置费用,这也许比较值,如果是公司统一配电脑的,那么我觉得你购买一些Cloud Studio资源还是蛮不错的,只需要配置一些性能一般的电脑给员工就ok了。

对于Cloud Studio,如果你是Java程序员,你会选择吗?请在下方评论区告诉我。

相关文章:

  • STC15单片机-ADC获取环境温度(NTC热敏电阻)
  • 脚本语言和编译语言的区别 什么是解释器? 什么是编译器 ?解释器和编译器有什么区别?
  • volatile的作用是什么
  • Linux的shell脚本爬虫实战之图片爬取
  • 浏览器缓存顺序
  • LeetCode高频题:子串权值定义为,最长有效括号子序列的长度,请你返回字符串s的所有子串权值的和是多少
  • 使用Python,dlib进行对象实时追踪
  • Pytorch量化感知训练
  • 设计模式——迭代器模式
  • STM32F407的时钟
  • Opencv形态学——腐蚀、膨胀、开运算与闭运算、梯度运算、礼帽、黑帽
  • [Django开源学习 1]django-vue-admin
  • JavaEE初阶:网络编程套接字
  • JAVA猎才学员成长心得分享
  • 2022年0903我的SpringBoot框架入门的第一个程序
  • extract-text-webpack-plugin用法
  • Hexo+码云+git快速搭建免费的静态Blog
  • JDK 6和JDK 7中的substring()方法
  • js对象的深浅拷贝
  • Js基础知识(四) - js运行原理与机制
  • MD5加密原理解析及OC版原理实现
  • mysql常用命令汇总
  • Quartz初级教程
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • redis学习笔记(三):列表、集合、有序集合
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 动态魔术使用DBMS_SQL
  • 分布式任务队列Celery
  • 关于使用markdown的方法(引自CSDN教程)
  • 回顾 Swift 多平台移植进度 #2
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 力扣(LeetCode)22
  • 前端性能优化--懒加载和预加载
  • 前端学习笔记之观察者模式
  • 容器服务kubernetes弹性伸缩高级用法
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #define、const、typedef的差别
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • $$$$GB2312-80区位编码表$$$$
  • (1)STL算法之遍历容器
  • (Ruby)Ubuntu12.04安装Rails环境
  • (补)B+树一些思想
  • (多级缓存)缓存同步
  • (二)linux使用docker容器运行mysql
  • (七)理解angular中的module和injector,即依赖注入
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • .NET Core 版本不支持的问题
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖