在 Linix 的 Command Line 模式下建置 Flex 開發環境

此篇文章最近更新時間為2008-11-14 08:18:36 目前共有6篇留言

關於作者 - JosephJ

任職於 Faria。喜好戶外運動、2008 年 5 月完成「跑步環島」。對於新技術跟程式碼有著強烈的偏執狂。

前言

大部分的人會覺得我有病吧,明明就有一個好用的 Flex Builder 可拖拉, 為何還要用 CLI (Command Line Interface) 開發呢?

請理解我是徒手 + 不查詢就寫 HTML / CSS / JavaScript 的硬派前端工程師出身、加上喜愛沈溺於敲鍵盤的爽感。 Flex Builder 這種有滑鼠拖拉、自動提示、還得上傳到網站伺服器的模式實在不適合我的風格啊...

而經過幾天對 Flex 的 Study 後,認為它就是另一套需要編譯、比較多 UI Control 的 HTML。 So... 為啥不可用 Linux + VIM 開發呢?我相信用打字的方式、這些 Tag 與 Attribute、甚至 ActionScript 自然會印在腦海中!我們就來建置在 Linux 的 CLI 模式下的 Flex 開發環境吧!

建置環境

Google 搜尋了一下相關文件,大部分人在問 CLI 的編譯方式都是因為 Flex Builder 要錢、 或者是要用 Flex SDK + Eclipse 再寫一套才會問。 還好我找到了這一篇:「Flex 3 sdk command line development with example on Linux」, 網路上有臭味相投的稀有動物,真是開心 :D

我的 Flex Hello World 我把 Flex SDK 下載後,遵照文章指示果然 Compile 成功了(觀看結果)!你可以直接把我的結果連 Flex SDK 一同下載
解開後,對於整個環境你需要替 mxmlc ( Flex 的 Compiler ) 在 ~/.bashrc 設定 PATH 環境變數:

PATH=[解壓縮路徑]/bin/:/usr/local/bin:/usr/bin:/bin:/usr/games
所有檔案,我僅增加了 project 這個目錄,下面有一個 hello 的目錄,就是我的範例程式。 hello 下有 bin 與 src 兩個目錄:bin 放置了編譯後的 *.swf 程式、而 src 則是放 Flex 原始檔與相關要引用的 Class
compile 是個簡化編譯的 Shell Script,所以你需要賦予它可執行的權力:
chmod 755 compile
用 ./compile 執行後,它會去讀取 flex-config.xml 這個組態檔(若你的目錄結構跟我一樣就沒必要修改),接著在 bin 底下就會有編譯好的 *.swf 檔案產生。

未來你有任何新的程式需要開發,只需把這個目錄複製一份即可用同樣的模式編譯



Comments

  1. tka 2008-11-15 21:02:01
    你說的那兩個web debug proxy,我之前有調查過。
    因為我的開發環境notebook現在是裝archlinux,所以Friddler出局
    Charles的話,則是要收錢 (其實差點有要刷下去 :p)
    因為其實現在記憶體很便宜,多跑個apache或是nginx都OK
    再搭配firefox切換proxy專用的addon,其實對我來說還蠻方便的
  2. josephj 2008-11-15 14:39:31
    我真是初學者愛野人獻曝啊,感謝大家提供了這麼多好用的招式!
    @Dreamer: 頭腦也比較不會變笨啊,我以前面試碰過太多沒 Dreamwaver 就不會寫網頁的人了...

    @tempo:
    Cool~ 的確是很完整的解決方案,Maven 也是第一次聽到,兩個的概念都很不錯。
    下次要請比較懂 Java 的人指導一下 :D

    @tka,
    那個偷吃步的方法,對我很有幫助
    因為跟我過去工作的開發方式也有相關
    所以我也去找了一些資料,你提供的作法對我來說有兩個小缺點:
    得設定瀏覽器的 Proxy、得要有 localhost

    目前看到一個很不錯的叫 Friddler (http://www.fiddlertool.com/fiddler/)
    在 Windows 平台上支援 IE、Safari、Opera,只有 Firefox 要另外設 Proxy
    好處是只要指定檔案路徑或原始 URL 就可以做到 DNS Sproofing 了

    跨平台的解決方案叫 Charles Web Debugging Proxy
    都不需手動設定 Proxy,但仍然需要 localhost 且 match 路徑
    ===
    另外 fcsh 我試著跑了一下,可惜出現了錯誤訊息,晚點在來試看看
    (fcsh) mxmlc -load-config flex-config.xml ./src/index.mxml -output ./bin/index.swf
    fcsh: Assigned 1 as the compile target id
    Loading configuration file /var/www/josephj/lab/flex/project/hello/flex-config.xml
    Error: flex2.compiler.CompilerSwcContext.<init>(ZZ)V

    java.lang.NoSuchMethodError: flex2.compiler.CompilerSwcContext.<init>(ZZ)V
    at flex2.tools.SimpleShell.mxmlc(SimpleShell.java:797)
    at flex2.tools.SimpleShell.process(SimpleShell.java:123)
    at flex2.tools.SimpleShell.main(SimpleShell.java:63)

    很期待暴走啊~~
  3. Dreamer 2008-11-15 13:50:43
    命令行确实效率要高的多,如果内存不够用的话,用Flex Builder做开发大部分时间都用在等待编译上了……

    “喜愛沈溺於敲鍵盤的爽感” —— 现在我才体会到这点啊,以前没用过好键盘 !-_-
  4. tempo 2008-11-15 02:11:29
    我們是用 maven + flex-mojo (http://code.google.com/p/flex-mojos/) 來開發 flex 程式, 他把很多功能都整合好了, 所以還滿方便的..
    (雖然你沒有用 Java, 但還是可以參考一下囉 :p)
  5. tka 2008-11-14 23:11:44
    我這邊還有個開發時偷吃步的小技巧可以參考看看
    http://www.tkalu.com/blog/2008/10/12/37/
    用這個方法久不用一直上傳檔案到server上了 :p
  6. tka 2008-11-14 23:09:31
    我也是在linux下開發Flex的程式,真是難得遇到一樣的人呀。
    似乎沒看到你提到fcsh,用這個編譯就不用每次都慢吞吞的從頭編譯了。
    debug時的速度可以暴走歐
暱稱: 必填。
Email: 非必填。若填寫為不公開欄位,僅供站長參考聯繫。
內容: 必填。限 255 個字元以內。
驗證碼:
送出

Facebook Comment