JetBrains 又出神器啦!Fleet, 体验飞一般的感觉
简介
java 开发的同学可能对于 JetBrains 这家公司并不陌生,因为 JetBrains 号称拥有世界上最好的 JAVA 开发工具 IDEA。确实 IDEA 非常好用,它满足了一个 java 开发者所有的梦想。
当然 JetBrains 还提供了其他语言的开发神器,PyCharm,PhpStrom,WebStorm 等等。只要跟开发工作有关的,都能在 JetBrains 的全家桶中找到。
这么好用的神器自然是价格不菲,但是 JetBrains 特意为学生党推出了免费的 licence 版本,非常的人性化。
现在 JetBrains 又准备推出一款编辑器 Fleet,这款编辑器到底是做什么的呢?它有什么优点呢?一起来看看吧。
从 eclipse 到 Fleet
还记得最开始接触 java 的时候,还是从 JAVA 的命令行开始的。编写完代码之后,首先用 javac 命令将代码编译成字节码,然后再使用 java 命令去运行。虽然 java 是世界上第二好用的语言,但是这种手动编译运行的方式实在让人头痛。
后来有一天,听同学介绍,发现了 eclipse 这个工具。当时实在是惊为天人!它是如此的强大,颠覆了我对 IDE 的认知。
当然,我始终认为 IDE 做的最好的是微软出的 Visual Studio,简直是包罗万象,可惜那时候 Visual Studio 只支持微软自己的 C#和.net 平台,无奈只好放弃。
eclipse 又好用又免费,加上品类繁多的各种插件,DIY 一个符合自己口味的 IDE 不在话下。
所以那时候在开发之余的另外一个爱好就是反复安装 eclipse 的各种插件,体验不一样的乐趣。
后来在工作中,一开始也是使用 eclipse,不过 eclipse 作为一个纯开源项目,也暴露出来了它的短板,就是第三方插件比较混乱,在使用中往往有这样那样的 bug。
然后有同事给安利了 IDEA,说实话最开始的 IDEA 是很丑的,并且 IDEA 对项目的组织方式更加松散,更像是对一个个文件的管理而不是项目,所以我仍然坚持使用 eclipse。
那么,是什么让我产生了从 eclipse 到 IDEA 的转换呢?
记得,那是一个夏天,天还还很蓝。我像往常一样点进 eclipse 的官网,看一下是否有最新的版本可以升级。
本来没报什么希望,结果还真的有,这个版本就是 eclipse che,居然是一个 web 版的开发工具,号称是下一代 eclipse。
难道 eclipse 以后就只能在 web 端使用了吗?浏览器的体验有没有本地开发工具这样丝滑呢?
虽然我很担心,但是抱着试一试的态度,还是按照官方的文档,尝试安装 eclipse che。
安装过程很痛苦,使用过程更加痛苦。不知道是我机子系统的问题还是它的文档没有写明白,我硬是没有能够用 eclipse che 来开发一个项目。
eclipse che 本意是将开发环境搬到云上,奈何那时候的技术和思想有点太超前了,于是成功把我劝退了。
接下来就从 eclipse 切换到 IDEA,进行了多年的开发。后面再也没有去关注过 eclipse 和 eclipse che 的发展。
在写这篇文章的时候,我特意去看了下,原来 Eclipse 本地的 IDE 还在,它的最新版本是 2021‑12,eclipse che 也发展到了 7.0 版本,并且开始支持 Kubernetes-Native。
但是,一切都回不到过去了。
既然 eclipse 已经过去了,我们再聊一下 IDEA。
说实话,作为一款付费的软件,IDEA 在使用上的确比 eclipse 强。最好用的 java 开发 IDE 不是白吹的。
当然,为了支持 IDEA 这么强大的特性,就需要占用大量的系统内存。IDEA 动不动就 1G-2G 完全不成问题。
那么有没有轻量级的开发工具呢?当然有。
所谓开发工具,就是支持代码高亮,编译代码这些功能的工具,记事本之类的这里就不提了。
那时候有两个工具可以使用,一个是 atom,一个是微软的 vs code。
两者都是轻量级的开发工具,都支持插件的扩展。我也都用了,最后还是选择了微软的 vs code。虽然没有具体进行比较,但是感觉微软的更加稳定,功能性方面更好。
既然已经有了微软 vscode 这样的强大又简洁的轻量级开发工具,那么 Fleet 凭什么认为大家会选择它呢?
这是一个好问题。我们细细道来。
Fleet 的特性
Fleet 最大的优势就是背靠 jetbrains 这颗大树,有了 IDEA 等一众开发工具的加持,大家很难不相信 Fleet 的品质。
换用 jetbrains 的话来说,他们花了 20 年的知识和经验来编写开发工具,并且 Fleet 底层使用的是 IntelliJ 的代码处理引擎,所以 Fleet 是足够可信的。
当然,有了保证还是不够的,我们需要知道 Fleet 到底有那些特性。
先看下 Fleet 的主界面。非常的简洁漂亮。自带了 git 和 history。
Fleet 支持自动完成,重构,跳转,debug 等所有 IDE 应该支持的特性。
目前 Fleet 支持的语言有 JAVA,kotlin,python,go,javaScript,Rust,TypeScript 和 JSON。其他的语言如 PHP,C++,C#,HTML 正在开发中。
看到这里,我们可能还有疑问,这些特性好像其他的轻量级 IDE 都有呀,那么 Fleet 的特色在哪里呢?
分布式!没错,是分布式!
Fleet 的架构是分布式的,Fleet 并不关心您的项目是在本地、在容器中还是在千里之外的另一个国家。 通过提供虚拟化文件系统,Fleet 可以同样出色地处理本地和远程项目。
Fleet 有三种工作模式,分别是 Editor mode,Smart mode,Distributed mode.
对于 editor mode 来说,一切都是本地的,所以它提供的功能和特性比较有限:
在 Smart mode 中,可以提供一些高级的特性,比如项目和上下文感知代码完成、定义和用法的导航、动态代码质量检查和快速修复等。这些特性不是一个轻量级的 Fleet 能够完成的,所以需要额外的 Language Servers 和 Code engine 来处理,如下图所示:
什么叫做 Distributed mode 呢?就是把这些 Language Servers 和 Code engine 统一放到云上或者 docker 容器中,本地的 Fleet 只作为客户端和远程服务器进行连接即可:
这样的分布式也同时可以实现多用户协同合作的功能。
个人感觉,Fleet 可能是 eclipse che 的高级版本。敬请期待。
JetBrains Space
另外,jetBrains 还把 Fleet 和 JetBrains Space 进行结合。
你可以把 JetBrains Space 看做是一个远程的工作环境,可以免去了本地搭建工作环境的烦恼。
总结
Fleet 这么好用,那么怎么下载呢?很抱歉,Fleet 暂时无法下载,你必须到 Fleet 的官网上去申请,听说名额有限,赶紧行动起来吧。
版权声明: 本文为 InfoQ 作者【程序那些事】的原创文章。
原文链接:【http://xie.infoq.cn/article/cf12dc4dcb3f23e60e87c0bec】。文章转载请联系作者。
评论