Luar's Flash Playground:由MMC轉往MTASC
由MMC轉往MTASC (13-09-2005)

今天(美國時間12/9/2005)是Studio 8可以下載的大日子,這天也是我由Flash IDE的Compiler(MMC)轉去MTASC的日子。過去忍受夠了MMC那極慢的編譯速度,我是那種喜歡一邊寫每一小步,一邊立即編譯,看看剛寫好的成果是如何的人。MMC這樣編譯速度,嚴重影響我的工作效率,而且它編譯時,系統資源被大量佔去,像「凝固」一樣,非常討厭。

雖然FAME這Open Source Flash開發組合已經推出一段日子,但我自己不喜歡用Eclipse,這臃腫啟動速度又慢的Editor,正如大部分Coder不喜歡IDE Action Panel一樣,我們需要一個功能強大而輕巧,啟動速度快的Editor。我最喜歡用是Scite|Flash,它的啟動速度非常非常快,跟Notepad沒有分別,可惜作者已經停止開發。其次是SEPY,我一直看著和等待著SEPY功能不斷圓善。Open Source Flash開發可行,說穿了唯一功勞只有一個,就是MTASC。所以我一直希望喜歡的Editor可以加入MTASC編譯功能。

SEPY在1.0.6.80起(目前是1.0.7.1)已經加入MTASC編譯功能,非常感動!今天我嘗試將一個工作中專案轉為MTASC編譯,由於這專案一直是在Flash IDE裡開發,沒有什麼針對FAME/MTASC的開發流程,我要看看將Flash IDE/MMC的開發流程轉為前者,究竟要經歷什麼陣痛。過程雖然出現不少問題,但是我只是花了3小時,就完成過渡。(這3小時陣痛,卻免去我以後漫長等待痛苦!)

嚴謹語法
由於MTASC能夠提供非常嚴謹和有用語法檢查,我根據它提示,在所有Classes裡只是改了不多於10個MTASC不支援寫法。

編譯設定
其次,是Package路徑問題,在MTASC編譯時,經常出現找不到Package問題,不過根據MTASC錯誤訊息,加入-pack的參數就解決了。
sepy_mtasc_s.gif

MTASC不支援語法
最後遇到問題比較棘手,用MTASC編譯後SWF,竟然運作上不是我預期,有些功能無法實現,反覆追蹤程式碼執行和翻看MTASC官方說明,知道了一些寫法MTASC是不支援(編譯時又不會報錯-_-):

  • no support for initialization of member variables directly inside the class body (unless it's constant or static expression).
    我喜歡在Class Static Member中直接做EventDispatcher.initialize(),現在要改為在Constructor裡
  • arguments is supported, but not with dynamic access (such as eval("arguments") for example).
    像這樣寫法eval("this."+paraObj.parameter)不支援,我改為eval(owner+"."+owner.paraObj.parameter)(先用owner=this;建立了Reference)。

本文章由發表。
意見
"; print "沒有意見。
 "; } ?>
  • 很长一段时间我也在用SEPY,确实很小巧。但是code format太死板,会删除空行,又强制为C#的括号风格,context help也比较有限,而且有明显Bug。 FDT不错,是我用下来最强的AS开发环境,可惜是收费的。偶本来就很喜欢Eclipse。 FDT已经比较接近它的JDT了

    MTASC也有不舒服的地方,如内部类或方法中看不到外部类的属性和方法。 如果看他的maillist话也有不少问题。 不过FAME的开发方式确实效率比较高,对于纯编程的来讲

    由Jove於13-09-2005發表

  • 對, SEPY的AutoFormat格式我也不喜歡, 如果可以跟回Flash IDE, 那就完美了。

    luar於13-09-2005發表

  • MTASC的编码默认为GBK,而MMC的编码默认为UTF-8,所以有中文的时候,不可以互相编译通过,另外我使用Eclipse+FDT+CVS,其实Eclipse+FDT可以提高写程序的效率,这个远高于调试效率,因为除了代码提示以外还有重要的一点,你在写代码时已经尽可能的修正代码错误了,当然逻辑错误还是需要动脑判断的!

    由云开於14-09-2005發表

  • 我是比較喜歡FAME的工作環境,因為我們的後台程式本來就是在eclipse上開發,現在把flash code也一起導進來,開發環境反而是簡化。

    由RitaLee於14-09-2005發表

  • SEPY 内存也耗得不少...

    magicwind於14-09-2005發表

  • 我的终极解决方法,换个顶级的pc...不过公司不给报销,还是用sepy了...

    7yue於19-09-2005發表

  • 1.SE|PY好用,这个很明显.特别是新加入了Mtasc,很ok
    2.其实SE|PY的format很棒啊,格式是C#的很好阅读,我很习惯
    3.同学送我一个内存,于是我内存基本>512M,在不开多余的服务的时候基本够用
    4.eclipse2.0开始我就使用,真是我见过最好的IDE(差不多是IDE的意思),但是我不喜欢在Eclipse中加入一些垃圾插件,所以我的eclipse只有Lomboz,xmlbuddy,tomcatplugin,htmlTidy,最近加了struts和spring的插件,已经很吃内存啦

    williamy於22-09-2005發表

  • 不支援語法的第一點比較頭大......

    如果我沒記錯,所有的dataProvider component都需要這個東西來initialize DataProvider 和 DataSelector進行mixin。

    由aladdin於26-09-2005發表

  • 能提供MTASC的下载地址吗?

    由flyinflash於19-04-2006發表

同組文章