回顾:4杀手云ide

令人惊讶的是,强大的、基于浏览器的JSFiddle、Icenium、Cloud9和Codenvy从客户端JavaScript扩展到服务器端Java和Web堆栈

很久以前,在两三次泡沫出现并破裂之前,人们就发现通过Web浏览器编辑文档是多么有趣。早期的产品很简单,但很快就有了像Zoho这样的公司谷歌开发了一组Web应用程序,它们是真正的竞争对手微软办公软件。今天,就连微软也在出售工具,让你打开浏览器来编辑文档、电子表格、演示文稿,以及几乎所有你能想到的基于文本的文档,只有一个例外:软件。

[也:十大云计算工具]

程序员不像他们那些热情的、对技术一窍不通的业务开发同事那样享受灵活性和基于云的简单性,这是极具讽刺意味的——程序员通常比世界其他地方的人领先几十年,至少在工具方面是这样。为什么程序员需要如此努力地在自己的机器上开发?为什么呢?上周,我花了很长时间才等到苹果公司(Apple)推出千兆字节、千兆字节的Xcode工具。出于某种原因,我必须在我的机器上托管千兆字节的库,以防我的数百行代码想要链接到它们中的任何一个。然后,苹果每隔几周就会尽职地更新Xcode,我就可以重新下载整个程序。

[信息世界:10个云ide让你摆脱桌面|学习如何更聪明地工作,而不是更努力地工作开发商的生存指南。今天就下载PDF !|与InfoWorld的最新开发者新闻保持同步开发世界通讯。]

这种奇怪的差距正在改变,但比任何人可能预期的都要慢。例如,许多开发人员早在几十年前就开始使用基于云的存储库,并且在出现一些基于云的构建管理工具时就欣然接受了它们。更大的商店已经依赖于Hudson/Jenkins来监督他们的代码,并确保主树保持纯粹和可构建。一些公司甚至提供这些工具作为服务。

然而,开发的基本工作与业务开发或市场营销的基本工作相去甚远。程序员们正在慢慢赶上来,基于浏览器的ide也出现了。为了了解市场是如何演变的,我花了几天时间进行试验大量的云ide。我写了一些代码,按下Build按钮,然后呆呆地看着浏览器另一个标签页上出现的“上帝做了什么”。有时感觉就像我在测试第一份电报。

好消息是这些基于浏览器的ide通常看起来很棒。他们中的一些人复制了经典的IDE布局,一边是文件树,另一边是编辑窗口。它类似于Eclipse,但在您的浏览器中。

一些ide正在尝试不那么传统的结构。Web上到处都是用于摆弄代码的微型编辑器,其中许多都是基于诸如此类的开源项目CodeMirror。最大的创新似乎发生在浏览器中运行的语言上。仅仅因为所有测试都是在浏览器中完成的,就称在“云”中构建JavaScript页面开发有点不公平。毕竟,浏览器是代码的本地宿主。但我们不要太哲学化。AJAX页面现在是一个主要的平台。

这些ide甚至出现在您可能不认为它们是ide的地方。例如,WordPress有一个编辑器模块,可以让您随意处理网站的PHP和HTML。这是一个危险的工具,它给了我崩溃一个博客的所有力量,我曾经这样做过一到三次。但这种力量很诱人,也很有用。您可能会发现自己每天都在重新排列HTML标记,因为编辑器离您只有一次点击的距离。

,

云计算能力,云计算延迟关于基于浏览器的ide的不太好的消息是,乐趣通常在按下构建按钮后结束。这些系统在很大程度上仍在发挥作用,但这种滞后可能会变成真正的拖累。您的经验将取决于您的互联网的速度和您编写的代码。我的信随着天气和雨水的变化而起伏不定。(我的一个网络连接是无线的。)

这种性能通常是可以接受的,但它的速度永远赶不上在具有足够电源和RAM的机器上运行本地IDE的速度。虽然大部分延迟可能是由网络延迟造成的,但如果其中一些延迟是由于云计算中常见的CPU共享造成的,我也不会感到惊讶。没有什么比在你的办公桌上放一台八核电脑更好的了。

这并不完全正确。对于大多数任务,构建代码不是很复杂,而且网络延迟非常非常明显。不过,大型项目可能会从云计算中获得巨大收益。CloudBees例如,有大量的机器正等着加入构建。如果构建由N个可以同时运行的独立任务组成,并且N的值足够大,那么这N个任务很可能在云中的N台机器上同时运行。即使你桌上的八核电脑也做不到这一点。

目前,我认为基于云的ide的吸引力很大程度上取决于代码的类型和构建的大小。在浏览器中构建Web应用程序的人将是最有可能的用户,部分原因是云经常存储文件。延迟不会造成太大影响。

下一个可能是地理上不同的构建团队,他们在相同的文件上一起工作。Atlassian是一家开发工具公司,以发布Jira这样的问题管理软件和Stash这样的Git托管服务而闻名。这必然会导致在超过两英尺的距离上进行更多的协作编辑。这里的ide也开启了地理上不同的成对编程。见鬼,你甚至可以称它为三重或四重编程。

使用Ruby或Java编写代码的老团队将花费更长的时间。网络延迟可能是他们最大的麻烦。当我试图完成一个构建-调试-修复周期时,我花了太多的时间来希望那个古老的庞然大物Eclipse和键单击不会在Internet上来回。

像Xcode这样的工具是最不可能被淘汰的,因为它可以构建本地应用程序,而这些应用程序需要连接到像iPad这样的硬件上。不过,这种观点并不适用于那些用JavaScript和HTML构建移动应用程序的程序员。浏览器是他们的本地环境,这是一个很好的工作环境。

无数的抱怨并不是不可避免的障碍,它们表明了这些工具的长期局限性。浏览器代码将变得更智能,本地文件、本地数据和更大的库的基础已经被嵌入到支持html5的浏览器中。这些工具的创建者将把越来越多的智能转移到客户机,这将消除许多与等待事件在Internet上往返有关的麻烦。这将很快发生。几年后,桌面ide可能就所剩无几了。

摆弄JavaScript很少有编程工作比在浏览器中以三个矩形编写JavaScript、HTML和CSS,然后看着它在第四个矩形中运行更纯粹的了。代码很简单,而且浏览器已经进行了大量优化以快速有效地编译代码。建立一个快速的编写和测试循环是很容易的。该工具将为您对代码进行着色和整理。

JSFiddle是一长串新兴网络工具中最新的一个。例如,许多大型Web属性提供“沙箱”,用于在Web页面中直接使用它们的API。我已经在谷歌为测试而构建的窗口中调试过几次谷歌映射代码。浏览器包含的调试器是所有必要的。

就像Python小提琴JSFiddle是一个类似的工具,在浏览器的JavaScript仿真器中运行Python。该工具构建“fiddles”,即更小的代码块,作为嵌入式框架可能工作得最好。JSFiddle将托管您的“公共小提琴”,甚至让您派生并扩展它们,就像一个修订控制系统一样。没有详细的历史,但如果你想要回滚的话,需要记住一些东西。

一些开发人员将把JSFiddle看作是实验和玩具的工具,因为在应用程序的服务器端几乎没有可用的工具。代码可以很容易地调用api,但是您不会用它来构建任何api。那就没有抓住重点。开发人员显然希望鼓励更多的代码片段和代码,以形成Web页面的构建块。

Icenium:浏览器中的移动开发当我在上面提到移动设备的本地代码开发人员可能是最后一批采用基于web的工具的开发人员时,我遗漏了一个奇怪的混合路径,它现在流行于那些不需要充分利用硬件性能的应用程序。一些开发人员正在用HTML构建他们的iPhone和Android应用程序,然后将它们封装在一层薄薄的本地代码中。这是一种为不同平台创建应用程序的快速方法,如果你不是在开发游戏等耗费时间的应用程序,它也可以很好地工作。

Telerik的Icenium雾是一个基于浏览器的工具,以建立移动应用程序周围Apache科尔多瓦项目,这是一层薄薄的设备专用代码的最新版本,以前人们只知道它是PhoneGap。Icenium Mist让你在浏览器中创建应用程序,然后在模拟器中运行,模拟不同版本的iPhone。这是一个快速启动iPhone应用程序的方法。Icenium石墨,一个运行在Windows上的配套工具,处理构建,部署到你的设备,并发布应用程序到应用商店和谷歌播放。

好消息是,该工具有一个可靠的代码浏览器、一个优秀的编辑器,以及一个与Git仓库的可靠连接,用于保存修订版本。Telerik已经用jQuery、jQuery Mobile和Kendo构建了小部件,但是您可以用自己喜欢的代码替换它们。尽管调试不是很健壮——该工具经常产生一些难以理解的注释,如“错误:脚本错误”。(URL:, LineNumber: 0)”-- I was able to work around it using the browsers' built-in debuggers. After all, the apps are just HTML and JavaScript, and the so-called simulator is another browser window.

Icenium足以为你的移动需求构建许多基本的应用程序。它并不是真正的本地代码,但对于大多数基础应用程序来说,这种能力并不是必需的。这是浏览器环境和手机环境的巧妙结合。

Icenium从5月开始免费,之后每月19美元,提前一年购买有折扣。

Cloud9 IDE: Node、Ruby、Java和PHPCloud9环境中有很多针对动态Web应用程序开发领域的重要部分的特性:Ruby、PHP和Node.js堆栈。的Cloud9 IDE为您的项目提供了一个经典的文件浏览器和编辑器,可以在他们的服务器上调试并部署到您喜欢的任何地方。

该编辑器非常强大,提供代码高亮显示和错误检测功能。语法错误在保存到服务器之前就会立即在浏览器中标记出来,从而加快调试周期。不过,这不会捕获运行时错误。您需要插入控制台日志记录方法。

该环境附带一个控制台日志和一个命令行,因此您将登录到代码运行的Unix目录中。对于露齿而笑,我输入“emacs”,它就工作了。我不确定当一个完整的编辑器在命令行之上时,任何人会用它做什么,但它一定会在一些奇怪的场合中派上用场。

该公司慷慨地提供免费的演示项目,但有一个私人工作区除外,它要求您的项目是公开的,其他人可以在那里观看它们。高级会员每月只需12美元,提供6个私人工作空间,还可以更好地访问shell和VM。也没有合作者的限制,他们可以和你一起编辑你的项目。对于更大的开发项目,您可能只需要本地访问数据库(如MySQL)。

Codenvy IDE: Java和Web堆栈Codenvy IDE是另一个令人难以置信的丰富的代码开发环境,与许多托管平台(如Amazon的Elastic Beanstalk和AppFog)有着深厚的联系。至少有6个选项,它们根据您想要创建的应用程序类型而变亮。IDE提供了三种类型的Java项目(库、WAR和Spring)和经典的动态语言,如Ruby、Python和PHP。

12 第1页
第1页共2页
工资调查:结果在