指令碼語言可以做什嗎? 再說說 Ant、Maven和Gant

來源:互聯網
上載者:User

本人也稍微用了一些指令碼語言了,可是在同事的反饋給我的印象中,指令碼語言似乎從未得到正名,似乎總是寒酸和小打小鬧的代名詞。我在做一個門戶網站,身邊有一些公司和某一些開發人員,總是對於頁面上的技能很輕視,殊不知使用者體驗(也許我專指UCD)恰恰是對使用者影響最大的部分,對Portal來說,更勝於功能。同樣,指令碼語言亦扮演著看似無足輕重,但實際非常重要的作用。

指令碼語言可以做什嗎?適合做什嗎?能想到的,似乎總是敏捷、快速、輕量的東西,說得冠冕堂皇一點,就是能把人從繁重的重複勞動中解脫出來;還有,就是很適合運行在用戶端,做一些簡單的解析和對使用者體驗的協助,這不也是因為它敏捷、快速和輕量嗎?

今天我不說瀏覽器端的JavaScript、VBScript,不說作業系統的bat、shell,就說說Ant、Maven和Gant。

Ant是我用得最多的,任何的語言在編寫的時候都要講究條理、層次和邏輯,ant作為誕生比較早的指令碼語言,也是如此。其實嚴格說,ant只不過是定義的一系欄標籤而已,非常簡單的文法,把一個個標籤嵌套起來,串起來使用即可。後來能夠接觸到一些動態語言,perl、ruby等,這些文法就比ant要輕快得多了。

Ant經常使用的功能:拷貝粘貼這一類的不說了,還有:打包(jar/war/tar/zip)、compile、concact、Sql(這個東西不太好用,經常用ant調用sqlPlus代替)、JavaDoc、LoadProperties、FTP、SSH、JUnit。

我經常使用的Ant擴充外掛程式,包括SVN外掛程式、XML外掛程式、Contrib外掛程式(主要是邏輯能力,包括if、for等等這種Ant預設不支援的能力)。

在管理項目的時候,經常需要使用Ant來編寫指令碼,便於完成打包、校正、上庫、部署、更新、測試等等工作,自動化指令碼的成熟程度,也一定程度上標誌著項目的成熟程度。

Maven我接觸得不多,Maven是基於項目物件模型(POM),可以通過一小段描述資訊來管理項目的構建,報告和文檔的軟體專案管理工具。所以,嚴格說來,Maven早就超越了指令碼語言的概念,是一個真正適用於工程和專案管理層級的工具。

http://maven.apache.org/

借用官網上的例子,可見上手也是非常簡單的,日後我會寫一篇Maven入門的文章:

這裡有一個Maven和Ant之間的對比:

其中提到了一點,Ant的構建規則通常是靜態,除非用Script Ant來做,我覺得使用Contrib外掛程式也可以做到,只是不知道這個外掛程式是如何?的。

給一個Script Ant的例子:

參見:http://www.sitepen.com/blog/2001/09/25/javascript-and-ant/,後續我會把這篇翻譯出來。

說到現在Ant和Maven還是沒有脫離XML的約束,Gant就不同了。Gant是一個基於Ant的構建工具,它採用Groovy指令碼代替XML來編寫構建邏輯。Gant完全依賴於Ant task來做真正的事情,所以如果用Ant實現構建,但不喜歡用XML構建檔案,Gant是一個不錯的選擇。

這裡有一個簡易教程:http://blog.csdn.net/yangvlive/archive/2008/08/31/2854325.aspx;

官網:http://gant.codehaus.org/

可以看到Gant就是寫groovy指令碼,之前研究過好一段時間的GoG,這裡瞭解一下即可,就不展開了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.