技术开发 频道

Ruby Development 五大基本武器

[IT168 技术文档]Ruby作为一门新兴的语言,借助Rails这个killer application 在这几年发展迅速。这篇文章是我学习Ruby这一个月以来的一点总结,当然主要的基调还是参考的

Peter Cooper 的《Five Essentials For Your Ruby Toolbox》。废话少说,下面开始。

概要:

    1. RubyGems
    2. A good IDE or TextEditer
    3. Instant Rails
    4. Mongrel
    5. A Rss Feed Reader

1、RubyGems

     通常情况下 RubyGems 是包装,发布,安装 Ruby Library 的常用途径。它可以让开发者把自己的产品封装成可以安装的包。这个可以安装包我们称为“Gems” 。这个包可以方便开发者发布或者下载运行Ruby程序。和其他的包管理系统或者安装操作系统差不多的是,RubyGems可以检测到你想安装包所依赖的包,并且自动安装运行。这样我们就可以通过一个命令行方便的安装第三方的Ruby库并且保证其能运行(解决依赖问题)。当然,提到包管理系统最重要的就是版本管理了,每个库几乎都有不同的版本,有时候程序开发的时候可能需要用到同一个库的不同版本,这个问题怎么解决呢?还好RubyGems已经帮我们想到了,我们可以同时安装和维护库的多个版本,你需要做的只是在安装或者启用的时候输入版本号码。 

    RubyGems 现在还不是Ruby安装程序的一部分,但是仿佛看起来在不久的将来他会成为以部分的。现在你可以到RubyGems.org去单独下载,安装超级简单,只需要解压缩那个包,然后运行里面的Ruby文件就ok了。关于RubyGems的更多信息可以去他的网站 http://www.rubygems.org 看看。

2、A good IDE or TextEditer

    Ruby到现在来说除了在Mac平台上有TextMate这个公认的好IDE之外仿佛没有什么公认的如vs.net之与dotnet一样的killer app啊。原作者给列出来了一部分,不过除了RADRails这个我用之外,其他的都不怎么care,或者说感觉不出来怎么好用,所以直接把他的考过来,大家看看。只有radrails我谈谈,其他的列出来,然后在附加两个我感觉比较好用的ruby ide。

RADRails
RADRails 是我感觉中应该是第一个跨平台的,开源的专门针对ruby开发的ide。radrails不要被他的名字所迷惑哦,他除了是专门开发ror的application,对ruby程序的开发也是超级好的。另外我比较喜欢他的rails perspective还有dada perspective,尤其是data的那个,仿佛是针对rails项目做的专用的数据库ide,超级好用。对于generate,scaffold ,controller等的生成也是很好用的。包块对服务器的开启和关闭,程序的调试都是全方位的IDE,可以算得上一个企业级的ruby ide。

Click to enlarge

Figure 1. RADRails In Action

jEdit
Like RADRails, jEdit is an open source, cross-platform IDE. Unlike RADRails, it isn't Ruby-specific at all. It is a general programmer's text editor. What earns jEdit a spot on this list is its "Ruby Editor Plugin," a plugin that adds a number of Ruby- (and Rails-) specific abilities to the editor, including syntax and error highlighting, integrated documentation, and auto-indentation (see Figure 2).

Click to enlarge

Figure 2. jEdit and the Ruby Editor Plugin

Find more information about the Ruby Editor Plugin at rubyjedit.org.

Ruby In Steel
Ruby In Steel is a professional-grade Ruby IDE for Microsoft Visual Studio (MSVS) 2005. It features not only code completion, but also full Microsoft-style IntelliSense features on Ruby code (see Figure 3). While it's not cheap ($199US), a free limited-feature edition and a free thirty-day trial make Ruby In Steel appealing to new Ruby developers who particularly appreciate the MSVS IDE.

这个IDE我个人用过,感觉不是很好用。他是商业软件,提供了一个功能受限的体验版本。安装它之后会在每次开启vs2005的时候先弹出他的框,很恶心人。不过作为一个利用vs2005来实现code completion的想法是不错。现在我也发现了一块免费的实现这个的软件,一会介绍以下。

Click to enlarge

Figure 3. Ruby In Steel

TextMate
TextMate is an editor available only on Mac OS X. Its use by most of the core team of Rails developers has led to its strong adoption among OS X-based Ruby developers. Like jEdit, TextMate is a general programmer's text editor with a significant number of available Ruby-specific extensions. Depending on the current exchange rate, TextMate costs approximately $50US. TextMate's developer, Allan Odgaard, has been helping another developer produce a Windows clone called E (a.k.a. E-TextEditor).

这个不用说,超级好用。那个E我也刚刚下载使用,长期受windows习惯的我们对E不会太敏感的。不过和vi差不多的话,快捷键用的熟了就会速度超级快了。

下面说说我用的其他两个比较好的IDE吧。

RoRED

RoRED是用dephi写的轻量型的ruby on rails的ide,用起来感觉十分轻便也很好用。具体的功能和前面的差不多,不过他在windows下面可是不像前面那几位那种需要这这那那的平台支持的。他的速度很快,语法高亮,自动完成宏的功能豆还不错,个人感觉适合个人练习时候使用。这里有对RoRED的详细介绍http://www.rubyinside.com/rored-a-new-ruby-rails-ide-for-windows-153.html 。另外大家可以去http://www.plasmacode.com/ 他的官方网站下载试用。

EclipseDLTK Ruby

这个是刚刚出来的,今天刚刚试用了,感觉超级酷的,因为他支持和vs.net2005那种自动完成提示,这个可是梦想的功能啊。从名字可以看出来,他是基于eclipse开发的。大家安装可以通过eclipse的update center来进行,需要的只是添加一个源,地址是:http://download.eclipse.org/technology/dltk/updates/1.0/site-interim.xml 。详细安装说明在http://www.eclipsezone.com/eclipse/forums/t92525.rhtml 。项目的首页在http://www.eclipsedltk.org/ 。

3、Instant Rails

你想让ROR的环境一步到位吗?不需要命令,只需要一个程序双击运行一下,所有环境就ok。这个现在已经不是梦想了。Instant Rails,这个构思很好,很实用工具诞生简直就是我们这些ror开发者快速搭建开发环境的福音啊。现在只有windows的版本,linux和mac的已经在移植中,大家耐心等待。

Instant Rails 运行会自动一次性的安装,运行Apache Web server, Ruby,MySQL数据库和Rails framework。

Click to enlarge

虽然Instant Rails可以快速搭建ror的开发环境,但是用它来部署你的服务器是不合适的。因为他的安全不太完善,运行的效率也有待考察。

4、Mongrel

Mongrel 是一个ruby的webserver和类库.  Mongrel的特色就是快,它比ruby自带的web server还有其他的webserver都要快。把程序部署到这个上面是会给你带来速度上的惊喜的。 另外你也可以在ruby程序中直接使用mongrel,开发属于自己专用的web server。mongrel的安装超级简单,别忘了他是用rubygems打包的,一个命令完全搞定。 gem install mongrel

在我们介绍的五个武器总mongrel是唯一的一个类库。他是开放源代码的。他是一个很好的教我们如何把自己的产品打包,市场化。当然他最吸引的就是他的作者从中教给我们如何写一个类库。

5、A Rss Feed Reader

这个东西作为一个单独的武器是不是感觉很意外啊。我看到也是很意外,不过按照作者的意思来说还是非常合理的。因为或许rss是整个ror快速发展的文档知识体系的根基。因为几乎每个ror开发者都有自己的blog,他们在上面分享自己的经验和总结,我们一个一个的看可能忙不过来,如果用个rss工具来订阅者看,一切就都解决了。关于具体的rss feed reader。我相信大家都有自己心仪的。作者推荐的几款感觉都不是很适合国内的人使用,当然 google reader除外了。我个人推荐在国内使用zhuaxia.com 或者我曾经参与开发的 www.365rss.cn 这个。

今天就先写这么多吧。好久没有在首页发表过文章了,想念大家。

0
相关文章