TranslateProject/published/201409/20140818 Where And How To Code--Choosing The Best Free Code Editor.md

105 lines
8.7 KiB
Markdown
Raw Normal View History

何处写,如何写:选择最好的免费在线代码编辑器
================================================================================
> 深入了解一下Cloud9Koding和Nitrous.IO。
![](http://a2.files.readwrite.com/image/upload/c_fill,h_900,q_70,w_1600/MTIzMDQ5NjYzODM4NDU1MzA4.jpg)
已经准备好开始你的第一个编程项目了吗很好只要配置一下终端或命令行学习如何使用它然后安装所有要用到的编程语言插件库和API函数库。当最终准备好一切以后再安装好[Visual Studio][1]就可以开始了,然后才可以预览自己的工作。
至少这是大家过去已经熟悉的方式。
也难怪初学程序员们逐渐喜欢上在线的集成开发环境(IDE)了。IDE是一个代码编辑器不过已经准备好编程语言以及所有需要的依赖可以让你避免把它们一一安装到电脑上的麻烦。
我想搞清楚到底是哪些因素能组成一个典型的IDE所以我试用了一下免费级别的时下最受欢迎的三款集成开发环境[Cloud9][2][Koding][3]和[Nitrous.IO][4]。在这个过程中我了解了许多程序员应该或不应该使用IDE的各种情形。
### 为什么要用IDE ###
假如有一个像Microsoft Word那样的文字编辑器想想类似Google Drive那样的IDE吧。你可以拥有类似的功能但是它还能支持从任意电脑上访问还能随时共享。因为因特网在项目工作流中的影响已经越来越重要IDE也让生活更轻松。
在我最近的一篇ReadWrite教程中我使用了Nitrous.IO这是在文章“[创建一个你自己的像Yo那样的极端简单的聊天应用][5]”里的一个Python应用。当使用IDE的时候你只要选择你要用的编程语言然后通过IDE特别为运行这种语言程序而设计的虚拟机VM你就可以测试和预览你的应用了。
如果你读过那篇教程就会知道我的那个应用只用到了两个API库信息服务Twilio和Python微框架Flask。在我的电脑上就算是使用文字编辑器和终端来做也是很简单的不过我选择使用IDE还有一个方便的地方如果大家都使用同样的开发环境跟着教程一步步走下去就更简单了。
### IDE不能做的事情 ###
到目前为止IDE还不是一个长期托管方案。
当你使用IDE工作的时候你可以在云上构建测试和预览你的应用。你甚至还可以直接通过链接共享你的最终作品。
但是不能用IDE来永久存储你的整个项目。把帖子保存在Google Drive文件中不会让你的博客丢失。类似Google DriveIDE可以让你创建链接用于共享内容但是任何一个都还不足以替代真正的托管服务器。
还有IDE并不是设计成方便广泛共享。尽管各种IDE都在不断改善大多数文字编辑器的预览功能还只能用来给你的朋友或同事展示一下应用的预览而不是像Hacker News一样的主页。那样的话占用太多带宽的IDE也许会让你崩溃。
这样说吧IDE只是构建和测试你的应用的地方托管服务器才是它们生存的地方。所以一旦完成了你的应用你会希望把它布置到能长期托管的云服务器上最好是能免费托管的那种例如[Heroku][6]。
### 选择一个IDE ###
![](http://a2.files.readwrite.com/image/upload/c_fit,w_630/MTIzNjEzMTg5MjA2NDc2MzAy.png)
随着IDE变得越来越流行选择也越来越多。在我眼里没有一个是完美的。不过还是有些IDE在完成某些工作方面相对来说有些优势。
我尝试了一下免费级别的三个最受欢迎的集成开发环境Cloud9Koding和Nitrous.IO。每一个都有自己的优点当然跟你用来做的事情有关系。下面就是我的发现。
### Cloud9乐于协作 ###
当我完成了Cloud9的注册后它提示的第一件事情就是添加我的GitHub和BitBucket账号。马上所有我的GitHub项目个人的和协作的都可以直接克隆到本地并使用Cloud9的开发工具开始工作。其他的IDE在和GitHub集成的方面都没有达到这种水准。
在我测试的这三款IDE中Cloud9看起来更加侧重于一个可以让协同工作的人们无缝衔接工作的环境。在这里它并不是角落里放个聊天窗口。实际上按照其CEO Ruben Daniels说的试用Cloud9的协作者可以互相看到其他人实时的编码情况就像Google Drive上的合作者那样。
“大多数IDE服务的协同功能只能操作单一文件”Daniels说“而我们的产品可以支持整个项目中的不同文件。协同功能被完美集成到了我们的IDE中。”
### Koding在你需要的时候能提供帮助 ###
IDE可以提供你所需的工具来构建和测试所有开源编程语言的应用。对于初学者来说看起来有点吓人。举个例子如果我要做一个项目同时用到Python和Ruby组件那我要用哪个VM来测试
答案是两个都要尽管使用免费账号的话只能够同时打开一个VM用于测试。我就在Koding的控制面板里找到了答案一个折叠起来的地方用户可以提供或获得他们Koding项目的各种经验。在这三者中间它是最容易使用的拥有一个你可以寻求帮助并很快有人回答的地方。
“我们在这款产品里加入了一个积极的社区功能”Koding的首席商务官Nitin Gupta说“我们希望搭建一个环境真正吸引那些希望得到帮助和愿意提供帮助的人们。”
### Nitrous.IO: An IDE Wherever You Want ###
相对于自己的桌面环境使用IDE的最大优势是它是自足的。你不需要安装任何其他的东西就可以使用。而另一方面使用自己的桌面环境的最大优势就是你可以在本地工作甚至在没有互联网的情况下。
Nitrous.IO结合了这两个优势。“你可以在网站上在线使用这个IDE你也可以把它下载到自己的电脑上”其共同创始人AJ Solimine这样说。优点是你可以结合Nitrous的集成性和你最喜欢的文字编辑器的熟悉。
他说“你可以使用任意现代浏览器访问Nitrous.IO的在线IDE网站但我们仍然提供了方便的Windows和Mac桌面应用可以让你使用你最喜欢的编辑器来写代码。”
### 底线 ###
这一个星期[使用][7]三个不同IDE的最让我意外的收获是什么它们是如此相似。[当用来做最基本的代码编辑的时候][8],它们都一样的好用。
Cloud9Koding[和Nitrous.IO都支持][9]所有主流的开源编程语言从Ruby到Python到PHP到HTML5。你可以选择任何一种VM。
Cloud9和Nitrous.IO都实现了GitHub的一键集成。Koding需要[多几个步骤][10],不过也是可以实现的。
每一个都轻松地集成了我需要的API。每一个也都可以让我自己安装喜欢的包Koding需要超级用户权限。它们都带有内置的终端可以用来轻松地测试和布置项目。三个都支持轻松地预览项目。当然它们也都把我的项目托管在云服务器中所以我在任意地方都可以在上边工作。
不好的一面它们都有相同的缺陷不过考虑到它们都是免费的也还合理。你每次只能同时运行一个VM来测试特定编程语言写出的程序。而当你一段时间没有使用VM之后IDE会把VM切换成休眠模式以节省带宽而下次要用的时候就得等它重新加载Cloud9在这一点上更加费力。它们中也没有任何一个为已完成的项目提供像样的永久托管服务。
所以对咨询我是否有一个完美的免费IDE的人来说答案是可能没有。但是这也要看你侧重的地方对你的某个项目来说也许有一个完美的IDE。
图片由[Shutterstock][11]友情提供
--------------------------------------------------------------------------------
via: http://readwrite.com/2014/08/14/cloud9-koding-nitrousio-integrated-development-environment-ide-coding
作者:[Lauren Orsini][a]
译者:[zpl1025](https://github.com/zpl1025)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://readwrite.com/author/lauren-orsini
[1]:http://www.visualstudio.com/
[2]:http://c9.io/
[3]:https://koding.com/
[4]:http://nitrous.io/
[5]:http://readwrite.com/2014/07/11/one-click-messaging-app
[6]:http://heroku.com/
[7]:http://help.nitrous.io/ide-general/
[8]:https://www.nitrous.io/desktop
[9]:https://www.nitrous.io/desktop
[10]:https://koding.com/Activity/steps-clone-projects-github-koding-1-create-account-github-2-open-your-terminal-3
[11]:http://www.shutterstock.com/