您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

JetBrains决定对Rust出手!

时间:2023-09-18 10:27:30  来源:51CTO  作者:

撰稿丨千山

很早就有人问:JetbrAIns 出了那么多集成开发环境(IDE),诸如IDEA、CLion、PyCharm、phpStorm、GoLand、WebStorm等等,为什么不能整合成一个IDE,一招通吃呢?

显然Jetbrains有自己的考量。时至今日,Jetbrains依然坚持自己的产品路线:给每种语言打造一个“家”。

最近,JetBrains瞄上的是Rust,针对这门编程语言新贵,它推出了一个名为RustRover的集成开发环境。官网显示,这款IDE目前还在抢先体验计划(Early Access Program)中,大家可以免费下载使用并提供反馈。

此前或许很难想象,专为Rust打造的IDE应该是什么样子。如今RustRover就给出了其中一个答案。

一、插件还不够吗?为何押注专用IDE

以前,JetBrains只为Rust提供了 IntelliJ Rust 插件。Rust 的其他插件包括Rust-analyzer和 RLS。当然也有支持Rust的文本编辑器,但RustRover是第一个转为Rust而设计的IDE。

IDE 通常包括代码编辑器、调试器、编译器和其他功能,以帮助开发人员编写、测试和部署软件。RustRover的开发人员倡导者Vitaly Bragilevsky介绍说,专用IDE是编程语言成熟的一个重要里程碑。

为什么要在当前这个节点选择Rust呢?Bragilevsky在回复外媒采访时谈到:“以前,在我们看来,插件就足够了,但后来我们观察到Rust社区及其生态系统发生了一些变化。社区的状态说服了我们,我们真的需要它(独立的Rust IDE)。”

一个显著趋势是:Rust 社区正在扩大。

JetBrains 的研究发现,接受调查的开发人员中有56%在过去六个月中开始采用 Rust。另据《SlashData 23 届开发者国家状态报告》,估算Rust开发者数量已增长至280万。该报告还显示,这一数字在过去两年中增加了两倍,使其成为增长最快的开发者社区之一。

考虑到当前的技术趋势以及该语言不算很长的发展史,Rust的潜力是令人期待的。在此背景下,JetBrains决定押注Rust。

与VS Code不同,JetBrains向来提供与特定编程语言和技术配合使用的专用IDE。比如,WebStorm是大家熟悉的JAVAScript开发工具,PyCharm是支持Python/ target=_blank class=infotextkey>Python 的IDE,CLion是专为开发C及C++所设计的跨平台IDE,GoLand是支持编写Go的IDE,RubyMine 是为Ruby和Rails开发者准备的 IDE。

那么这款面向Rust开发者的IDE又有哪些特点呢?

二、专为Rust而设计,预览阶段与 IntelliJ IDEA Ultimate兼容

有开发者提到,针对Rust的IDE并不容易做。主要原因有二:其一,很多其他语言运行时暴露出来的问题都需要在Rust编译时提前暴露出来,这部分检查压力自然而然会转移到IDE上。其二,不同语言有其不同的语法特性。对于Rust来说就是所有权和生命周期。

就官网信息来看,RustRover 目前支持 Rust、Cargo、TOML、Web 和数据库技术,以及 IntelliJ IDEA 的所有功能,包括 VCS 集成。其主要功能特点表现在:

在代码编写方面,RustRover可以通过代码补全、代码生成、实时分析和快速修复、实时模版等方法来提高编码效率。

在测试、运行、调试方面,可以运行单个测试、测试模块或项目中的所有测试。失败测试支持跳回相关代码,便于开发人员找到问题所在。

在Web程序开发方面,可以使用内置的HTTP客户端发出 HTTP 请求并分析响应。虽然Rust 是一种后端语言,但 RustRover也为前端技术和数据库提供支持,提供与前端开发的无缝集成。

在项目管理方面,RustRover与Cargo 完全集成,并提供代码洞察帮助编辑TOML文件。允许开发人员直接在IDE中调用Cargo命令。

在团队协作方面,实时编码,并支持直接从 IDE 与他人交谈。使用Git和Github工作,支持探索提交和拉取请求、创建分支和查看代码。

当下,RustRover 可以在windowsmac OS 和linux 上运行。因为还在Early Access Program阶段,所以感兴趣的开发者可以免费试用。至于什么时候会发布稳定版本,尚无定论,不过官方回复“计划将产品的公开预览持续到最晚2024年9月”。

因为没有公开路线图,所以RustRover未来还会推出哪些具体功能依旧是个迷。另外,JetBrains承诺:“预览阶段,RustRover 的插件版本将与 IntelliJ IDEA Ultimate 和 CLion 兼容。”至于正式发布后就不好说了,“我们将与 CLion 团队联系,确定在临近发布日期时CLion的Rust插件的可用性选项。”

三、放弃开源Rust插件,社区褒贬不一

对于这款新产品,除了好用与否,价格如何自然是用户关心的焦点。对此,JetBrains给出的答案是:尚在研究中。不过肯定的是,“RustRover 将是以订阅制出售的商业产品,与我们的其他 IDE 类似,具有能够反映其实际价值的公平定价结构”。

图源:https://www.jetbrains.com/rust/图源:https://www.jetbrains.com/rust/

另外值得关注的是,随着RustRover的出现,现有开源Rust插件也会受到影响。

PhpStorm 的开发者Kirill Smelov公开发文写道:“虽然现有插件仍然会在Marketplace和GitHub上免费提供,但在未来,我们将把我们的努力投入到RustRover中,它是闭源的。对于现有的开源插件,我们将尽最大努力保持与新版本IDE的兼容性,但我们不会修复错误或添加新功能。”简言之,开源插件被弃用,不再受JetBrains 官方支持。

对于RustRover的种种动态,开发者们也表现出了两极分化的反应。

Reddit论坛的相关议题下,有人表达了这样的诉求:“我真的希望他们允许RustRover作为插件安装在IntelliJ中。我既买不起几个IDE许可证,也不想维护好几个IDE。”

图源:Reddit图源:Reddit

 

在不满者的声音中,也有人表示:不仅仅是钱的问题。

“每种编程语言都有1个IDE,这非常丑陋。甚至苹果也没有这样做。”“没有人说它应该是免费的。我要说的是,我不想要另一个IDE,只需在我现有的IDE中给我插件即可。从消费者的角度来看,每种语言都有一个IDE的方法是可怕的。”

此外,也有人显露出隐隐的担忧。“链接页面上的常见Q&A说,它将在预览阶段与IDEA Ultimate兼容。没有明确说发布后。”

不过,对RustRover的出现表示支持和欢迎的开发者也不在少数。理由则主要集中于以下几点:

1、不必将所有内容都塞进 IntelliJ。更喜欢针对特定语言量身定制的单独 IDE。

2、不同语言的生态系统差异很大。IDE 不仅仅是一个文本编辑器。

3、对于专业人士来说收费非常合理。如果你不是专业的软件开发人员,那么有适合业余爱好者的工具。

4、乐意为JetBrains花钱。本身产品质量和售后服务都非常好,可以节省很多时间,性价比相当高。

四、是VS Code,还是JetBrains

争议仍在继续中。或许只有到RustRover正式发布后,JetBrains这次的决策是否成功,才能显露端倪。但在开源又免费的VS Code的冲击下,JetBrains仍能存活至今,显然不仅仅是运气。

在多数人的普遍印象中,VS Code 最大的特点就是完全免费,而且可以在线安装各类开发工具,调试插件等等。任何编程语言在 VS Code 中都可以简单且快速地启动和运行,所以大家更倾向于称它为“编辑器”。

相对来说,JetBrains 在功能上更标准更专业,但对用户,尤其新手来说似乎包含了很多不合理的初始设置。在两个为不同使用场景设计的IDE之间做切换,付出一些学习的时间成本不可避免。

VS Code相当轻巧,具有高度可配置性和可扩展性,但是没有很多非常深入的功能,且部分依赖第三方扩展来提供更深入的功能;JetBrains为一种特定语言显式构建的IDE上工作,团队投入了大量资源来支持一种语言及其所有相关的工作流程,扩展性却较低,受支持的语言本身也具有很深的可配置性。

在新一代程序员中,VSCode受到了极大的欢迎。尽管如此,JetBrains还是有坚定的拥趸。去年,Blankly的首席工程师在用了五年VS Code后,转而切换到JetBrains 生态系统,甚至专门为此撰文解释了理由。

首先,在代码检查和代码重构上,JetBrains 具备优秀的Linting工具和无副作用的重构能力。“如果代码分解和重构对你和你的工作流程很重要,那么,JetBrains是更好的选择。”

再者,在调试上,JetBrains 比 VS Code 略胜一筹。“因为JetBrains 可以直接在变量声明的边上直接显示变量值,这使得跟踪大量变量的时候会比较容易管理。”

然后,在 Git 集成上,各有千秋,只是个人喜好不同。“例如,在解决合并冲突的时候,相对于 VS Code 将冲突文件堆在一个文件中显示的方式,我更喜欢 JetBrains 将冲突文件分开显示的方式。”

最后,在团队协作方面,所有 JetBrains IDE 都提供了大量选项来与他人共享代码并实时协作。Code With Me功能允许你直接在 IDE 中查看其他人的项目,并使用他们的开发环境,

总而言之,JetBrains固然收费,但其功能性的确有其特有的价值。以IntelliJ IDEA Ultimate为例,按照去年10月开始生效的新政策,订阅价为首年169美元,有需要的时候也可以考虑试一试。

参考链接:

https://www.jetbrains.com/rust/

https://thenewstack.io/dedicated-ide-for-rust-released-by-jetbrains/

https://www.reddit.com/r/programming/comments/16htf7m/jetbrains_rustrover/

https://blankly.finance/vscode-vs-jetbrains/



Tags:Rust   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
撰稿丨千山很早就有人问:Jetbrains 出了那么多集成开发环境(IDE),诸如IDEA、CLion、PyCharm、PhpStorm、GoLand、WebStorm等等,为什么不能整合成一个IDE,一招通吃呢?显然Jetbrains...【详细内容】
2023-09-18  Tags: Rust  点击:(0)  评论:(0)  加入收藏
JavaScript 依靠抛出异常来处理错误,而 Go 和 Rust 将它们视为值。 你可能认为这没什么大不了的……但是,孩子,这可能听起来微不足道; 然而,它改变了游戏规则。那么,...【详细内容】
2023-09-07  Tags: Rust  点击:(13)  评论:(0)  加入收藏
【CSDN 编者按】Rust 连续八年蝉联“最受欢迎的编程语言”,它究竟有什么魅力,让全球开发者这个新晋编程语言如此着迷?一起来看看正在不断发展和壮大的 Rust 的起源、能力、资源...【详细内容】
2023-09-05  Tags: Rust  点击:(19)  评论:(0)  加入收藏
出品 | OSC开源社区(ID:oschina2013)sudo-rs 发布了首个稳定版:0.2.0。获取:sudotar -C /usr/local -xvf sudo-0.2.0.tar.gz下载地址:https://github.com/memorysafety/sudo-rs/r...【详细内容】
2023-08-31  Tags: Rust  点击:(37)  评论:(0)  加入收藏
编译 | 言征去年,Web开发公司Mainmatter对Web版 Rust 进行了战略押注,并发起了 EuroRust 会议,加入了 Rust 基金会,同时正在内部以及开源领域从事许多 Rust 项目。Mainmatter非...【详细内容】
2023-08-16  Tags: Rust  点击:(34)  评论:(0)  加入收藏
作者 | 褚杏娟近期,Hugging Face 低调开源了一个重磅 ML 框架:Candle。Candle 一改机器学习惯用 Python 的做法,而是 Rust 编写,重点关注性能(包括 GPU 支持)和易用性。根据 Huggi...【详细内容】
2023-08-14  Tags: Rust  点击:(33)  评论:(0)  加入收藏
8 月 7 日,Rust 发布了 2022 年度 Rust 调查报告结果!Rust 连续第六年对 Rust 编程语言进行了调查,项目维护者、贡献者和那些普遍对 Rust 的未来感兴趣的人参与了调查。本年度...【详细内容】
2023-08-09  Tags: Rust  点击:(49)  评论:(0)  加入收藏
作者 | Kevin ScottRust是一门极具争议性的语言。有许多创业公司的开发者甚至创始人都点名表示:Rust是巨坑!简直浪费时间。再比如,其他语言中的“粗糙编码”的编程方式在Rust中...【详细内容】
2023-08-09  Tags: Rust  点击:(45)  评论:(0)  加入收藏
Rust编程语言因其诸多优点而越来越受欢迎。该语言具有高级控制、内存安全性和灵活性等优点,使其成为开发人员手中的强大工具。然而,正是这些特性也使得Rust成为网络犯罪分子眼...【详细内容】
2023-08-08  Tags: Rust  点击:(22)  评论:(0)  加入收藏
近年来,Rust编程语言因其诸多优点而越来越受欢迎。该语言具有高级控制、内存安全性和灵活性等优点,使其成为开发人员手中的强大工具。然而,正是这些特性也使得Rust成为网络犯罪...【详细内容】
2023-08-08  Tags: Rust  点击:(28)  评论:(0)  加入收藏
▌简易百科推荐
撰稿丨千山很早就有人问:Jetbrains 出了那么多集成开发环境(IDE),诸如IDEA、CLion、PyCharm、PhpStorm、GoLand、WebStorm等等,为什么不能整合成一个IDE,一招通吃呢?显然Jetbrains...【详细内容】
2023-09-18    51CTO  Tags:Rust   点击:(0)  评论:(0)  加入收藏
译者 | 布加迪审校 | 重楼您可能在日常的网上互动中遇到过聊天机器人,但有没有考虑过底层为这些数字助手提供支持的技术?聊天机器人(尤其在客户支持领域)已经成为现代企业的一个...【详细内容】
2023-09-18    51CTO  Tags:LangChain   点击:(0)  评论:(0)  加入收藏
译者 | 刘汪洋审校 | 重楼如今,分布式版本控制系统,例如 Git,在版本控制领域已然成为主流。有人认为,使用像 Git 这样的版本控制系统(VCS)进行分支和合并非常便捷。但我更推崇基于...【详细内容】
2023-09-14    51CTO  Tags:开发   点击:(3)  评论:(0)  加入收藏
作者 | Richard MacManus策划 | 言征Web3未能颠覆掉Web2,但新兴的大模型开发栈正在让开发者从“云原生”时代迈向新的AI技术栈。提示工程师或许不能触动开发者奔赴大模型的神...【详细内容】
2023-09-14    51CTO  Tags:大模型   点击:(3)  评论:(0)  加入收藏
/ PageCache 有什么作用? /在我们前面讲解零拷贝的内容时,我们了解到一个重要的概念,即内核缓冲区。那么,你可能会好奇内核缓冲区到底是什么?这个专有名词就是 PageCache,也被称为...【详细内容】
2023-09-13  灵墨AI探索室  微信公众号  Tags:零拷贝   点击:(2)  评论:(0)  加入收藏
编译器是将源代码转换为目标代码的关键工具,而IR 是编译器中的核心数据结构。IR的作用是将源代码转换为目标代码,并在此过程中执行各种优化,以提高目标代码的质量和性能。在编...【详细内容】
2023-09-12  小老头哦    Tags:编译器   点击:(5)  评论:(0)  加入收藏
分布式跟踪可以帮助查看整个请求过程中服务之间的交互,并可以让我们深入了解系统中请求的整个生命周期。它帮助我们发现应用程序中的错误、瓶颈和性能问题。OpenTelemetry 可...【详细内容】
2023-09-11  k8s技术圈  微信公众号  Tags:OpenTelemetry   点击:(7)  评论:(0)  加入收藏
热部署是软件开发中一个非常有用的功能,它允许我们在不重新启动整个应用的情况下,依旧能够使我们修改的代码生效。现在Java Web 开发应该都是使用的 SpringBoot,那么本篇文章就...【详细内容】
2023-09-11  Java技术指北  微信公众号  Tags:pringBoot   点击:(8)  评论:(0)  加入收藏
JPA 与 DDD 的==聚合写== 是绝配,但在 “读” 场景 往往会引发各种性能问题。这也是很多公司弃用 JPA 而选择 MyBatis 的主要原因,就其本质并不是框架的错,而是将框架用在了错...【详细内容】
2023-09-11  geekhalo    Tags:DDD   点击:(8)  评论:(0)  加入收藏
译者 | 刘汪洋反馈就像一块牛排 - 如果太生,没有人喜欢;但如果过熟,难以下咽。(ChatGPT)通过不断审查他人代码,你不仅可以提升自己的技能,对你的职业发展也有很大好处。不仅可以...【详细内容】
2023-09-11    51CTO  Tags:代码审查   点击:(4)  评论:(0)  加入收藏
站内最新
站内热门
站内头条