在选择使用哪些工具时,我主要关心的是软件的使用寿命。学习软件是一项投资,如果您稍后必须切换到其他应用程序,那么您就会损失一些投资。
在大多数软件类别中,选择寿命最长的软件很容易。最流行的工具通常是那些存在时间最长的工具。 Microsoft Excel 和Adobe Illustrator 均于1987 年发布,自此成为同类软件中最受欢迎的软件。
另一方面,在文本编辑器软件类别中,最受欢迎的是最古老的软件。根据Stack Overflow 的年度开发者调查,Sublime Text 是2015 年至2017 年Mac 上最受欢迎的文本编辑器。 Sublime Text 发布于2008 年,与Excel 和Illustrator 相比,它是一个“充满活力的小孩子”。
文本编辑器类别发生了许多变化。 TextMate、Sublime Text 和Atom 都是过去20 年来备受关注的文本编辑器。
随着Visual Studio Code 的推出,我相信新的文本编辑器迅速出现并流行的时代已经结束。 VS Code 的受欢迎程度和优化程度达到了前所未有的水平,为数十年的市场主导地位奠定了基础。如果像我一样,您在选择工具时优先考虑的因素之一是使用寿命,那么这意味着VS Code 可能是一款值得立即投资和学习的出色文本编辑器。
VS Code 的长寿在于以下几点:
受欢迎程度:它的受欢迎程度在文本编辑器的近代史上达到了前所未有的水平。文本编辑器作为平台:围绕扩展重新发明文本编辑器就到此为止了。卓越范式:超越桌面应用程序范式到托管Web 应用程序甚至参考实现。公司管理:由实力雄厚的科技公司管理并积极发展。
流行度
VS Code 是当今最流行的文本编辑器。它是如此受欢迎,以至于它可能是有史以来最流行的GUI 编程工具。
自2015 年以来,Stack Overflow 在我们的调查中纳入了有关文本编辑器的问题。当时,Notepad++ 是最受欢迎的文本编辑器,34.7% 的受访者表示可能会使用它。在接下来的几年里,各种文本编辑器的受欢迎程度各不相同,但没有一个能够突破40% 大关。在2019 年的最新调查中,VS Code 跃升至50.7%。
20152019 文本编辑器流行度
(注:Stack Overflow 在2015 年至2016 年开始允许多个答案,因此我对这两年的变化持保留态度。)
文本编辑器即平台
客观地说,VS Code 非常流行。文本编辑器在过去几十年里不断发展,我相信VS Code 是它们的终极表达。这是文本编辑器通过添加扩展角色和功能而成为平台的过程。下面是这个过程的历史。
2004 年前:BBEdit、Emacs 和 Vim
BBEdit、Emacs 和Vim 本身都是不错的文本编辑器,但它们都有一些“独特性”(尽管像我这样的人喜欢它们),从而阻止了它成为最流行的文本编辑器。
Emacs 和Vi(Vim 的前身)均于1976 年首次发布。这引入了当今的许多用户界面习惯,例如使用修饰键和Z、X、C、V 来撤消、剪切、复制和粘贴(这些键盘快捷键变得流行)。 1984 年和1985 年发布的最初的Macintosh 和Windows 1.0 没有使用这些键,而是有自己的术语(Vim 意味着复制,Emacs 意味着粘贴)。
BBEdit 于1992 年发布,当时第一个主流GUI 工具出现。请注意,这与Excel (1987)、Illustrator (1987) 和Photoshop (1990) 的版本接近。与这些应用程序一样,BBEdit 至今仍然具有重要意义。然而,与这些应用程序不同的是,它并不是同类应用程序中最受欢迎或使用最广泛的。至少部分原因似乎是它不太适合文本编辑器生态系统的包驱动世界。
2004 年:TextMate
TextMate 于2004 年发布,也许是有史以来最有影响力的文本编辑器。在其众多功能中,一些最受欢迎的功能包括基于缩写的代码片段、自动字符配对和基于文件名的模糊搜索。所有这些功能都成为后来流行的文本编辑器的主要功能。 TextMate 首创的范围选择器和主题实现也为后来流行的文本编辑器主题和语法突出显示奠定了基础。
对于一个应用程序来说这已经足够了,但它不包括TextMate 最重要的创新,它重新发明了文本编辑器,为之前的所有文本编辑器开辟了一个利基市场,并为VS Code 铺平了道路。十年后,历史上最受欢迎的文本编辑器诞生了。
TextMate 最重要的创新是它是第一个主要围绕扩展构建的流行文本编辑器。
TextMate 普及了围绕扩展构建文本编辑器的概念,但回想起来,它还远远不够。 TextMate 的扩展有一些限制,后来的文本编辑器将通过消除这些限制而蓬勃发展。
2008 年:Sublime Text
Sublime Text 于2008 年发布,普及了小地图和多光标。与TextMate 和BBEdit 不同,它是跨平台的,可以在Linux、MacOS 和Windows 上运行,使其能够比这些编辑器覆盖更广泛的受众。但Sublime Text 最大的影响是扩展功能的大幅改进。
虽然使用macOS 内置脚本语言的TextMate 没有良好的扩展API,并且主要专注于处理标准输出,但Sublime Text 扩展可以在内置的Python 运行时上运行,该运行时具有丰富的API。
Sublime Text 极大地增加了扩展的功能,并支持更复杂的集成,例如与GUI 组件的linter。 Package Control 是一款非常流行的Sublime Text 包管理器,由Will Bond(2016 年加入Sublime 总部)开发,具有中央包管理源,可以简化包的浏览、安装和更新。所有流行的文本编辑器也使用它。模型。
即使有Sublime Text 的增强功能,但这仍然不够。尽管Package Control 不是内置的,并且Sublime Text 有API,但仍然有使用Python 和GUI 组件进行自定义调用的空间,以简化未来文本编辑器的构建扩展。
2014 年:Atom
2014 年,GitHub 发布了Atom,最终以最终形式实现了扩展。 Atom 的包管理器是内置的,您可以通过内联图像显示扩展的README(GitHub 本身创建的早期扩展普及了使用动画GIF 来演示功能。)。这将为您的扩展创建一个让人想起应用商店体验的外观。
然后是HTML 和CSS 的问题。 Atom 是基于Electron8 构建的。这意味着编辑器本身是用JavaScript 编写的并在Node9 上运行。与Sublime Text 的Python API 相比,HTML、CSS 和JavaScript 都是当今最知名的语言,编写扩展的入门门槛要低得多。
Atom 本质上完善了基于扩展的编辑器,但有一个问题。那就太晚了。虽然Atom 自发布以来一直存在性能问题,但相比之下Sublime Text 的速度却快得令人难以置信,并最终瓜分了市场。
2015 年:Visual Studio Code
VS Code 于2015 年发布,基于Microsoft 于2013 年首次发布的网站嵌入式Monaco 编辑器。当GitHub 和Atom 一起发布Electron 时。微软使用它创建了名为Visual Studio Code 的桌面版本Monaco 编辑器。
VS Code 遵循与Atom—— 相同的模型,Atom—— 是一个用Electron 编写的基于Web 的本地文本编辑器,重点是扩展——,但提供了更好的性能。 VS Code 通过将扩展放置在侧边栏来使扩展更加明显,使它们达到与文件浏览、搜索、源代码控制和调试相同的水平。 VS Code 扩展具有丰富的用户界面,可以用HTML、CSS 和JavaScript 编写,并且可以完全访问Node,因此它们基本上可以执行您在任何其他应用程序中可以执行的任何操作。事实上,一些扩展开始看起来像应用程序本身。
有了VSCode,基于扩展的文本编辑器似乎已经达到了最终形式。自TextMate 以来,扩展的受欢迎程度和功能都在不断增长,而VS Code 似乎将这一演变推向了顶峰。目前没有其他前进道路。因此,新的文本编辑器不可能像以前的文本编辑器那样完善扩展并呈指数级发展。
范式卓越
到目前为止,我们已经将VS Code 及其扩展实现的受欢迎程度视为寿命的指标。第三个指标是VS Code 如何超越桌面限制。代码服务器项目将VS Code 作为常规Web 应用程序运行。也就是说,它托管在服务器上并通过浏览器访问。 GitHub 上的Codespaces 也将VS Code 作为Web 应用程序运行。这次我们将启动一个特殊的开发环境。
卓越范式(例如从桌面应用程序迁移到Web 应用程序)是长寿的良好指标。首先,这意味着它未来可能会被移植到更多范式中。过渡到新的范式需要付出大量的努力,但这种努力是一个很好的价值指标。 Emacs 和Vim 都已从终端移植到GUI 应用程序,它们非常有价值,以至于您不能没有GUI 版本。 Photoshop 和Excel 均可在移动设备上运行,Illustrator 也即将推出移动版本。 Excel 也有网络版本,Photoshop 有流媒体版本(尽管它已经进行了六年的内测)。
VS Code 不仅超越了其作为Web 应用程序的原始实现,而且已成为某种标准。 Theia IDE 1.0 版由Eclipse 基金会维护,是VS Code 的重新实现。 VS Code 不仅仅是一个文本编辑器,它还是一个文本编辑器行为模型。
公司管理
TextMate 与Sublime Text 和Jon Skinner 一样,主要是一位开发人员的作品:Allan Odgaard。这两款应用程序最终都遭到了用户的不满,因为用户认为发布周期太长。
这是该应用程序的两个主要版本的历史记录。
2004: TextMate 12008: Sublime Text 12011: Sublime Text 2 Alpha2012: Sublime Text 22012: TextMate 2 Alpha2013: Sublime Text 3 Beta2017: Sublime Text 32019: TextMate 2 下图显示了稳定主版本何时发布(BBEdit 10 和Please)比较)。 13版本发布日期):
从该图中可以立即得出两个结论。
TextMate 2 花了很长时间。 Sublime Text 与其发布时间表一致。对Sublime Text 的抱怨似乎源于2013 年Sublime Text 3 的测试版与2017 年正式版之间的滞后,以及当时没有做出足够的改变。与已发布三个主要版本(11、12 和13)的BBEdit 相比,Sublime Text 的发布时间表较慢,并且Sublime Text 3 仍处于beta 测试阶段。 Coda 2 于2012 年发布,但此后就再也没有发布过。由于尚未更新,我们不知道Sublime Text 的发布时间表对于商业文本编辑器来说是否真的不寻常。
VS Code 当前版本为1.49,但由于VS Code 是开源的,因此它遵循与商业应用程序不同的规则。主要版本的存在(至少部分是为了向企业提供收取升级费用的机会)。
由于VS Code 是公开开发的,因此您可以通过检查提交历史来直接评估开发速度。 GitHub 上VS Code 的提交图显示,它的开发活跃度领先于Atom 和其他大型开源项目(例如Facebook 的React)。请注意这些图中Y 轴比例的差异。
Visual Studio Code 提交图
Atom 发送图片
反应并发送图像
积极的开发使该平台始终处于领先地位,因为其势头和基于其构建的第三方的结合使其他类似软件难以竞争。与此同时,这种组合使得新进入者很难与流行的浏览器和操作系统竞争。
小结
VS Code 标志着文本编辑器短暂统治时代的结束。如果我们使用其他类别的流行软件作为指导,该软件很可能在很长一段时间内(也许几十年)保持其最受欢迎的文本编辑器的地位。
在使用VS Code 之前,除了Emacs 或Vim 之外,我不想学习任何流行的文本编辑器。太危险了。做出预测的一个好方法是假设情况保持不变。就文本编辑器而言,这意味着每隔几年就会出现最热门的新文本编辑器。
原文链接:
https://blog.robenkleene.com/2020/09/21/the-era-of-visual-studio-code/
关注我,转发这篇文章,私信我“获悉”即可免费获得价值4999元的InfoQ迷你书。点击文末“了解更多”即可访问InfoQ官方网站。获取最新资讯~
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/85996.html