Stephan 对软件自由、人机交互、用户界面/体验设计、编程和 Linux 感兴趣...但他更喜欢将图形设计留给专家。
这些年来,我尝试过使用各种 IDE,但我尝试过的每一个都只会给我带来更多的干扰和麻烦,所以我一直回到像 Vim 这样视觉上极简的东西(带有各种用于静态分析的插件等),并结合 <em>git gui</em>、用于各种命令行工具的 Quake 风格终端,以及对于 web 应用程序,像 Firebug 或 Chrome 开发者工具这样的东西。
我确实明白你的意思。像 Cloud9 这样的工具有点处于一个不舒服的中间地带。对一些人来说太像 IDE,对另一些人来说又不够完整。
<strong>一方面,我总是很高兴看到更多浏览器内文本编辑器的选择。</strong> 它们不仅让我的极客一面在看到新玩具时兴奋地尖叫,而且对于那些不会停留足够长时间来证明安装自定义工具是合理的(例如,几乎每个点击 jsfiddle 链接的人)或者还没有足够投入意愿的用户来说,它们是一个绝佳的选择。
<strong>另一方面,由于各种原因,我强烈反对整个“在云端”的趋势。</strong>
<strong>首先,我认为这在人口统计学上很幼稚。</strong> 我住在加拿大。我们中的很多人仍然需要在拨号上网和发达国家(以及一些发展中国家)最昂贵的 3G 蜂窝服务之间做出选择。我很幸运能住在一个可以获得 5Mbit/800Kbit 连接的地方,据我所知,加拿大贝尔目前没有计划将我们沉睡的小村庄升级到光纤到节点。(这是升级到更快 DSL 速度所必需的。这里唯一的电视服务是通过卫星,因此没有有线互联网。)
<strong>其次,我认为这过于乐观。</strong> “云”对于最终用户来说仍然是一个单点故障,因为我们很少有冗余连接,即使我们有,我们仍然会看到偶尔的 GMail 或 Google Docs 中断。这就是为什么我很高兴发现 git 和 TiddlyWiki。 “离线工作,然后稍后合并”模型提供了这种冗余,同时,如果备份丢失、无用或从未制作过(正如 2009 年 Ma.gnolia 的情况一样),则允许最终用户透明地成为 B 计划的一部分。
(我对 GMail、Google Docs 和完整的浏览器内 IDE 等事物的首选方法是使用诸如 appcache 清单和 IndexedDB 之类的东西,以支持无缝地离线和返回,无论它是从哪个 URL 加载的。)
<strong>第三, “云”中的数据可移植性尚未解决</strong>,并且公司有足够的空间来胡作非为,让用户承担后果。 使用像 git 或 TiddlyWiki 这样的工具(或者通过运行调用 youtube-dl 的脚本观看流媒体视频,然后在文件出现后几秒钟内将 MPlayer 指向该文件),权力掌握在您手中。 “拥有副本”意味着“拥有副本”,其含义与物理对象相同,而不是“上次我尝试时它工作正常,但有些东西意外地改变了”。
(<strong>这也通常意味着将您的备份信任给单点故障。</strong> 请参阅我对 Ma.gnolia 的评论。)
<strong>第四,这很浪费。</strong> 我有一台 Athlon II X2 270,配备 16GiB 内存(我能找到的最快的非 Intel 65W TDP 芯片),但我在上面运行 LXDE,并在我的旧 2GHz Celeron 上测试我的桌面,配备 1GiB 内存。 唯一运行不顺畅的是浏览器... 那么我为什么要在一个几乎像完整的 x86 模拟器一样减慢速度的东西中运行我漂亮的、轻量级的 Vim 副本呢? 我买了一台快速计算机是因为我想做更多的事情... 而不是因为我想以更时髦的方式做同样的事情。
(即使已经受限的 GUI API 没有因为我调整来削弱诸如 <em>window.open()</em> 之类的东西而进一步受到损害,我仍然坚信,如果一个应用程序本身不需要重新发明浏览器的 HTML/CSS 渲染器或网络堆栈来编写独立程序(并且“零安装”对于预期用例并非绝对必要),那么在浏览器中编写它就像花 100 美元购买一台又大又重、发热量大的翻新奔腾 4,因为您已经知道如何位操作并行端口,并且不想学习 Arduino 编程。)
<strong>最后,对我个人而言,这很不舒服。</strong> 我的 Vim 使用了很多插件,我非常习惯 Vim 的动作。 我在使用非 Vim 文本编辑器时没有问题,因为我确保训练自己习惯 Vim 风格和 CUA 风格的按键方案,但是基本的、通用的 CUA 对于编码来说太慢且效率低下,并且我的桌面上没有其他东西在“Vi 模式”下运行,因为我还没有找到一个应用程序实现了足够的 Vimscript 运行时环境来解析我 .vimrc 中的按键绑定并运行我所有的插件。
<strong>这并不是说我自己不使用浏览器内代码编辑器,</strong> 但我使用它们作为完整的编码环境的次数要少得多,更多的是作为 TinyMCE 的轻量级补充小部件。 在网络上有很多地方,一个带有语法高亮、行号以及搜索/替换的文本区域是一件好事。
撰写的评论
这些年来,我尝试过使用各种 IDE,但我尝试过的每一个都只会给我带来更多的干扰和麻烦,所以我一直回到像 Vim 这样视觉上极简的东西(带有各种用于静态分析的插件等),并结合 <em>git gui</em>、用于各种命令行工具的 Quake 风格终端,以及对于 web 应用程序,像 Firebug 或 Chrome 开发者工具这样的东西。
我确实明白你的意思。像 Cloud9 这样的工具有点处于一个不舒服的中间地带。对一些人来说太像 IDE,对另一些人来说又不够完整。
<strong>一方面,我总是很高兴看到更多浏览器内文本编辑器的选择。</strong> 它们不仅让我的极客一面在看到新玩具时兴奋地尖叫,而且对于那些不会停留足够长时间来证明安装自定义工具是合理的(例如,几乎每个点击 jsfiddle 链接的人)或者还没有足够投入意愿的用户来说,它们是一个绝佳的选择。
<strong>另一方面,由于各种原因,我强烈反对整个“在云端”的趋势。</strong>
<strong>首先,我认为这在人口统计学上很幼稚。</strong> 我住在加拿大。我们中的很多人仍然需要在拨号上网和发达国家(以及一些发展中国家)最昂贵的 3G 蜂窝服务之间做出选择。我很幸运能住在一个可以获得 5Mbit/800Kbit 连接的地方,据我所知,加拿大贝尔目前没有计划将我们沉睡的小村庄升级到光纤到节点。(这是升级到更快 DSL 速度所必需的。这里唯一的电视服务是通过卫星,因此没有有线互联网。)
<strong>其次,我认为这过于乐观。</strong> “云”对于最终用户来说仍然是一个单点故障,因为我们很少有冗余连接,即使我们有,我们仍然会看到偶尔的 GMail 或 Google Docs 中断。这就是为什么我很高兴发现 git 和 TiddlyWiki。 “离线工作,然后稍后合并”模型提供了这种冗余,同时,如果备份丢失、无用或从未制作过(正如 2009 年 Ma.gnolia 的情况一样),则允许最终用户透明地成为 B 计划的一部分。
(我对 GMail、Google Docs 和完整的浏览器内 IDE 等事物的首选方法是使用诸如 appcache 清单和 IndexedDB 之类的东西,以支持无缝地离线和返回,无论它是从哪个 URL 加载的。)
<strong>第三, “云”中的数据可移植性尚未解决</strong>,并且公司有足够的空间来胡作非为,让用户承担后果。 使用像 git 或 TiddlyWiki 这样的工具(或者通过运行调用 youtube-dl 的脚本观看流媒体视频,然后在文件出现后几秒钟内将 MPlayer 指向该文件),权力掌握在您手中。 “拥有副本”意味着“拥有副本”,其含义与物理对象相同,而不是“上次我尝试时它工作正常,但有些东西意外地改变了”。
(<strong>这也通常意味着将您的备份信任给单点故障。</strong> 请参阅我对 Ma.gnolia 的评论。)
<strong>第四,这很浪费。</strong> 我有一台 Athlon II X2 270,配备 16GiB 内存(我能找到的最快的非 Intel 65W TDP 芯片),但我在上面运行 LXDE,并在我的旧 2GHz Celeron 上测试我的桌面,配备 1GiB 内存。 唯一运行不顺畅的是浏览器... 那么我为什么要在一个几乎像完整的 x86 模拟器一样减慢速度的东西中运行我漂亮的、轻量级的 Vim 副本呢? 我买了一台快速计算机是因为我想做更多的事情... 而不是因为我想以更时髦的方式做同样的事情。
(即使已经受限的 GUI API 没有因为我调整来削弱诸如 <em>window.open()</em> 之类的东西而进一步受到损害,我仍然坚信,如果一个应用程序本身不需要重新发明浏览器的 HTML/CSS 渲染器或网络堆栈来编写独立程序(并且“零安装”对于预期用例并非绝对必要),那么在浏览器中编写它就像花 100 美元购买一台又大又重、发热量大的翻新奔腾 4,因为您已经知道如何位操作并行端口,并且不想学习 Arduino 编程。)
<strong>最后,对我个人而言,这很不舒服。</strong> 我的 Vim 使用了很多插件,我非常习惯 Vim 的动作。 我在使用非 Vim 文本编辑器时没有问题,因为我确保训练自己习惯 Vim 风格和 CUA 风格的按键方案,但是基本的、通用的 CUA 对于编码来说太慢且效率低下,并且我的桌面上没有其他东西在“Vi 模式”下运行,因为我还没有找到一个应用程序实现了足够的 Vimscript 运行时环境来解析我 .vimrc 中的按键绑定并运行我所有的插件。
<strong>这并不是说我自己不使用浏览器内代码编辑器,</strong> 但我使用它们作为完整的编码环境的次数要少得多,更多的是作为 TinyMCE 的轻量级补充小部件。 在网络上有很多地方,一个带有语法高亮、行号以及搜索/替换的文本区域是一件好事。