[转] 书摘及访谈:Aptana RadRails,一个Rails的集成开发环境
原文地址:http://www.infoq.com/cn/articles/javier-ramirez-interview
=================================================
Aptana RadRails:Aptana RadRails IDE是由Javier Ramírez開發(fā)的一種最新的Rails開發(fā)IDE,可用于開發(fā)Ruby on Rails應(yīng)用。在其官方網(wǎng)站上有如此描述:
一份全面的幫助文檔,能夠指導(dǎo)用戶通過RadRails專業(yè)而富有成效地開發(fā)自己的Ruby on Rails項(xiàng)目。
- 在整個開發(fā)流程中提供全面的RadRails使用指南
- 代碼協(xié)助、圖形化調(diào)試器、測試、集成控制臺
- 管理gems、插件、服務(wù)器、生成器(generators),以及Rake任務(wù)。
- 為升級到Rails2.x做好了準(zhǔn)備
- 幫助文檔有一章介紹了版本控制系統(tǒng)和數(shù)據(jù)庫集成
- 智能的HTML,JavaScript和CSS代碼協(xié)助
本書的出版商(Packt Publishing)也向 InfoQ提供了該書第七章的摘錄──名為 《RadRails Views》。
InfoQ最近獲得了一個采訪Javier Ramírez的機(jī)會,我們就此書的內(nèi)容以及Aptana RadRails IDE對他進(jìn)行了如下訪問:
Robert Bazinet (RB):您能向我們介紹一下這本書大概的內(nèi)容嗎?
Javier Ramírez (JR):簡要說,本書將會告訴你如何最大限度地發(fā)揮Aptana RadRails Community Edition IDE的作用。它不會教你如何用Ruby編寫程序或者是用Ruby on Rails開發(fā)web應(yīng)用,而是告訴你如何使用Aptana RadRails更快更簡單地做上述的工作。
這本書最開始是一些上手指南,告訴讀者如何安裝這個IDE,并且簡要介紹了一下workbench。這個workbench初看起來功能非常豐富, 上手難度頗高。然后這本書指導(dǎo)讀者如何創(chuàng)建一個簡單的應(yīng)用程序,在這個過程中,讀者將會熟悉大部分常用功能,當(dāng)然只是非常粗淺的了解。接下來將會向用戶深 入介紹每一個RadRails工具:Ruby開發(fā)工具、調(diào)試器、內(nèi)建HTML/JavaScript/CSS特性、一個全面的配置幫助等等。
最后一章介紹了如何使用第三方插件擴(kuò)展Aptana RadRails功能。在這一章中將介紹如何使用插件將版本控制系統(tǒng)和數(shù)據(jù)庫與Aptana RadRails集成在一起。
RB:那么在Rails開發(fā)中,Aptana RadRails能給開發(fā)者帶來哪些好處呢?
JR:非常高興你使用了“開發(fā)者”而不是“程序員”這個詞。最近幾年,我們看到在IT界“開發(fā)者”逐漸成為“程 序員”,尤其是我們在談?wù)搘eb 應(yīng)用開發(fā)的時(shí)候。在Google上搜索一下“COBOL programmer”/“COBOL developer”和“web programmer”/“web developer”,你就會明白我說的是什么。
任何Rails開發(fā)者都會告訴你,編程只是整個開發(fā)過程的一個環(huán)節(jié),整個開發(fā)過程還包括:確定應(yīng)用架構(gòu),創(chuàng)建數(shù)據(jù)模型,設(shè)計(jì)界面外觀風(fēng)格,采用測試 策略,將代碼分享給團(tuán)隊(duì)其他成員--最極端的情況就是如果參的是開源工程,就會需要將代碼分享給整個世界,部署到不同的服務(wù)器,跟蹤記錄需求、Bugs以 及更改。
Rails開發(fā)者通常都有非常大量的工作要做,但是許多開發(fā)者都只使用編輯器,并且為不使用復(fù)雜的IDE而感到自豪。
你確實(shí)可以只使用編輯器開發(fā)應(yīng)用程序,但是一般的編輯器可遠(yuǎn)沒有全功能的IDE強(qiáng)大,并且缺少代碼重構(gòu),代碼協(xié)助以及動態(tài)檢查警告和錯誤這些特性。 即使你的編輯器不可思議地強(qiáng)大,你仍然需要額外的工具來處理編碼之外的一些工作。當(dāng)然,這些工具的接口都各不相同,你不得不學(xué)習(xí)如何使用。
使用IDE,你就能夠在同一個工具中完成絕大多數(shù)開發(fā)相關(guān)的任務(wù),不過也不是全部。也就是說,使用IDE,你將會有更多的時(shí)間來進(jìn)行開發(fā),而更少的 時(shí)間糾纏在工具上,這樣使得你的開發(fā)更加快速簡單。
RB:為什么開發(fā)者會使用Aptana RadRails?
JR:這個原因和開發(fā)者選擇Ruby而不是其他諸如Java的語言的原因是相同的:因?yàn)槟隳軌蛞愿俚拇鷥r(jià)做更 多的事。我猜你想知道開發(fā)者期望能夠從RadRails中獲取什么樣的協(xié)助。要介紹RadRails能夠完成的事情,恐怕要花費(fèi)特別長的時(shí)間,所以請?jiān)试S 我向你介紹一些最有意思的特性。
在Ruby編輯器中,點(diǎn)擊一個類、方法或者變量的名字將會直接跳轉(zhuǎn)到定義處。你也總能夠看到當(dāng)前文件和在任意一個父類/模塊中定義的模塊、類、常 數(shù)、變量以及方法的概要。不僅如此,當(dāng)你輸入的時(shí)候,編輯器將會進(jìn)行變量 /方法提示以及動態(tài)地檢查代碼中的錯誤和警告。如果鼠標(biāo)停留在一個方法上,那么將會出現(xiàn)一個疊加層,里面顯示是這個方法的文檔,并且會告訴你可以使用哪些 snippet庫來擴(kuò)展你自己的snippet。如果你需要重命名變量或者方法,從當(dāng)前方法中抽取一小段代碼到另外一個方法中去,或者生成訪問器,你都可 以利用重構(gòu)工具來評估一下你在使得程序更加高效之前,所做的改變將會造成的影響。
圖形化調(diào)試器讓你更加方便地設(shè)置或者移除斷點(diǎn),一步一步地控制執(zhí)行,觀察和檢測變量值,在當(dāng)前斷點(diǎn)的上下文環(huán)境下執(zhí)行代碼。內(nèi)建的Tail View使得你能夠在一個帶有標(biāo)簽的接口中,方便地監(jiān)視任意數(shù)量的日志文件,并且可以根據(jù)內(nèi)容自定義輸出的顏色。例如,你可以給不同優(yōu)先級的輸出 (Debug,Info,Error等等)指定不同的顏色。你也可以在RadRails中調(diào)用任何的生成器和Rake任務(wù),同樣也能夠管理你自己的 gems和插件。這些操作生成的所有文件都可以在輸出控制臺中直接點(diǎn)擊,你能夠立刻打開它們。
當(dāng)然,RadRails也能夠幫助你進(jìn)行測試。你可以按需啟動測試,也可以在每次保存文件時(shí)或是定期地自動進(jìn)行測試。
從這個概述中可以看到,Aptana RadRails提供了大量可用的工具,有了它,Rails開發(fā)者的工作變得更加簡單。
RB:現(xiàn)在有很多Rails的開發(fā)環(huán)境,比如NetBeans和Ruby in Steel,RadRails跟它們相比,優(yōu)勢在哪?
JR:首先,我不會說Aptana RadRails是Ruby on Rails開發(fā)環(huán)境中的最佳選擇。但是,它是我目前的選擇,如果我的回答讓你失望了,很抱歉,因?yàn)槲艺娴牟徽J(rèn)為存在一個所謂最好的IDE。正如你說的,優(yōu) 秀的IDE的數(shù)量在一直增長,例如NetBeans,Ruby in Steel,或者Aptana RadRails,同樣也有Komodo,JetBrains,3rd Rail,RoRed或者TextMate這些不是IDE卻有著IDE類似功能的工具。對我來說,競爭是好事情,因?yàn)楦偁幉拍墚a(chǎn)生優(yōu)秀的IDE,而且,開 發(fā)者有很多種,理應(yīng)有多種IDE。例如,如果你比較關(guān)心內(nèi)存消耗,RadRails可能并不是你最好的選擇,因?yàn)樗膬?nèi)存消耗有些多;但是如果你希望所有 的事情都盡可能地由同一個工具來完成,那么RadRails就是個不錯的選擇。
我更喜歡RadRails是有一些原因的。首先,RadRails是一個免費(fèi)開源的跨平臺項(xiàng)目。我認(rèn)為不需要向讀者解釋免費(fèi)和開源意味著什么,但是 跨平臺部分確實(shí)值得一提,因?yàn)槲抑疤岬降腎DE中有些僅僅只有某個特定平臺上的版本(TextMate 僅僅只有OSX版本,RoRed也只是有Windows版本),但是你可以在Linux,OSX,Windows以及任何可以運(yùn)行Java虛擬機(jī)的OS上 使用RadRails。
RadRails是基于Eclipse平臺的這一點(diǎn)很重要。眾所周知,Eclipse是一個最流行的多語言通用開發(fā)環(huán)境,如果你已經(jīng)知道如何使用 Eclipse的話,那么使用RadRails將會非常簡單,因?yàn)樗裱蠭DE的傳統(tǒng)配置。
值得一提的是,兩年多以前,當(dāng)我開始使用Ruby on Rails進(jìn)行開發(fā)時(shí),RadRails還遠(yuǎn)未完成。當(dāng)時(shí)已經(jīng)存在一個Ruby編輯器的原生版本,可以使用它瀏覽文檔和啟動/停止服務(wù)器。而 RadRails那個時(shí)候就已經(jīng)能夠做到這些。當(dāng)它基于Eclipse構(gòu)建之后,我就已經(jīng)將它和版本控制系統(tǒng)、我的BUG追蹤系統(tǒng)以及數(shù)據(jù)庫集成在一起, 我能夠使用額外的插件跟蹤日志文件,檢查和測試正則表達(dá)式或者驗(yàn)證我的HTML以及CSS文件。
這里我想說的是,對web開發(fā)者而言,有很多Ruby on Rails不能完成但是仍然非常有用的東西。因?yàn)镽adRails的基礎(chǔ)是Eclipse IDE,這個IDE可以說是現(xiàn)在最完善最流行的開發(fā)環(huán)境,RadRails的任何用戶都能從大量的通用擴(kuò)展中獲益。不僅僅是擴(kuò)展,同樣也有Eclipse 的核心特性。其中一個能夠節(jié)省開發(fā)時(shí)間的插件是“Local History”。它追蹤記錄你在文件系統(tǒng)中對工程所做的任何修改,你可以將任何文件和之前某個版本進(jìn)行對比,甚至可以恢復(fù)不小心刪除的文件。
當(dāng)然這幾年RadRails已經(jīng)有了長足的進(jìn)步。其中一個最重要的改變就是Aptana接管了這個項(xiàng)目。最初的RadRails項(xiàng)目已經(jīng)快無法繼續(xù) 了,因?yàn)樵_發(fā)者太忙而無法維護(hù)。Aptana接管這個項(xiàng)目,并且雇傭了一名全職人員。因此,新特性能夠更快速地開發(fā)出來,更重要的是,RadRails 和Aptana Studio現(xiàn)有的HTML,CSS以及JavaScript工具集成在一起。
集成化使得在RadRails視圖中能夠使用代碼協(xié)助。如果你在編寫一小段Ruby代碼,編輯器以及協(xié)助程序?qū)f(xié)同地工作,但是如果你在編輯一段 JavaScript,CSS或者HTML代碼,那么IDE將會更改上下文,根據(jù)你現(xiàn)在正在編寫的語言提供相應(yīng)的協(xié)助。Aptana Studio的工具是如此地令人嘆為觀止,因?yàn)榉?wù)器和客戶端的平滑集成,你甚至能夠直接在IDE中調(diào)試RadRails應(yīng)用中的JavaScript。
RB:你是如何看待使用RadRails的組織或者個人呢?
JR:在去年,尤其是在上個月,我已經(jīng)看到越來越多的個人使用IDE來開發(fā)Ruby on Rails工程。除TextMate之外,NetBeans和RadRails是現(xiàn)在最流行的IDE,至少從郵件組,論壇和博客中的帖子數(shù)目中可以看出 來。
很多使用IDE的開發(fā)者都是從Java開始,他們已經(jīng)使用了NetBeans或者Eclipse,所以使用NetBeans或者RadRails是 很明顯的選擇。此外,這些開發(fā)者中很多人都是在繼續(xù)使用Java進(jìn)行工作,將Ruby on Rails作為業(yè)余時(shí)間的工程,所以在兩個環(huán)境中使用同一種工具是非常合理的。
從數(shù)百萬次的下載量中我們可以看到,Eclipse已無可爭辯地成為當(dāng)今最流行的Java IDE之一,考慮到有諸如Borland、Intel、Motorola、IBM、Nokia、Oracle、Sybase以及Zend這樣的公司支持, 它很可能在一段時(shí)間內(nèi)都將保持這一特權(quán)地位。
我認(rèn)為,隨著越來越多的Java開發(fā)者發(fā)現(xiàn)Ruby on Rails,以及隨著Rails在企業(yè)中的推廣,Aptana RadRails將會被大多數(shù)使用Eclipse的開發(fā)人員所采用。你知道組織機(jī)構(gòu)的改革是非常緩慢的,所以如果他們能在使用一個新的語言情況下,還能使 用他們?nèi)粘5墓ぞ叩脑?#xff0c;那么采用的阻力將會小很多。我給一些以Java開發(fā)人員為主的公司做過Ruby on Rails的demo,事實(shí)上大部分情況下他們都驚喜的發(fā)現(xiàn)原來可以使用RadRails來直接進(jìn)行開發(fā)而不用更換他們的IDE。
RB:你覺得Radrails的開發(fā)將會走向何方呢?哪些東西將會被拋棄呢?
JR:Eclipse最近已經(jīng)開始進(jìn)行3.4版的開發(fā)了,但是Aptana Studio和Aptana Radrails還只是基于Eclipse 3.2的(即使他們能夠在3.3下工作)。現(xiàn)在,Aptana Studio和RadRails正在進(jìn)行新版本的開發(fā),以完全支持Eclipse 3.4。你已經(jīng)能夠在最新的Eclipse版本中使用RadRails,但是安裝程序并不是全自動的,仍然存在一些小bug。
Eclipse 3.4是一個更加穩(wěn)定的版本,這個版本在內(nèi)存消耗以及用戶界面上做了一些改進(jìn),所以Aptana采用這個版本,這能改善用戶體驗(yàn)。
不僅如此,Ruby和RHTML編輯器也進(jìn)行了改進(jìn),提供了更好的代碼協(xié)助以及更高效的性能。調(diào)試器和Rails調(diào)試控制臺也將進(jìn)行改進(jìn),能夠在任 意斷點(diǎn)下計(jì)算表達(dá)式的值。同樣也會做大量的工作使得JRuby更加易用。
RadRails最偉大之處在于大量集成到IDE中的新特性都是來自于Aptana論壇中用戶的想法。某些部件,例如Rails Shell View,就是源自用戶提出的建議,他們告訴我們應(yīng)該如何更好地集成到IDE中。所以,如果你有一個很有意思的想法,可以讓RadRails開發(fā)團(tuán)隊(duì)知 道,這樣就有機(jī)會在將來版本中集成這個特性。
RB:Javier,謝謝你接受我們的采訪!
轉(zhuǎn)載于:https://www.cnblogs.com/cly84920/archive/2010/06/10/4426768.html
總結(jié)
以上是生活随笔為你收集整理的[转] 书摘及访谈:Aptana RadRails,一个Rails的集成开发环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于用飞信框架运行net程序-用批处理运
- 下一篇: 几个网页制作的小技巧