to FAME or not to FAME
keith peters 對於試用 FAME的感想。
基本上我90%同意他的想法,並且也決定繼續使用 primalscript做為主要的editor.
大約幾個月前我開始試用 FAME (FAMES, FLAMES)這樣的組合,當時主要是看上 MTASC的超快速編譯速度與更嚴謹的type checking。
但很快的我就發現FAME做為 open source的一份子,也自然繼承了所有OSS會有的缺點,例如buggy, use at your own risk.
FAME基本上是由四個工具組成並合作,因此只要裏面任何一環節出錯,整件事就無法運行,撇開個人對 Eclipse IDE的操作不習慣與介面配置不談,光是要讓 flashout正常運作就是難事一件,為了能順利安裝執行,我就換了三組不同的 jre與eclipse版本。
再加上我並不十分認同 swfmill 這種完全拋開 flash ide的做法,總是覺得拉介面這樣的工作還是以視覺的方式進行比較有效率,因此整體而言 FAMES對我的吸引力就不是很大。
另一方面, FAME目前還在非常年輕的階段,而flash 8又快要出來,緊接者明年AS3也將問市,屆時恐怕連 MTASC也得做改版才能重新支援新語言的所有功能,因此站在這個時間點來看,採用FAME恐怕弊多於利,古諺有云:if it’s not broken, don’t fix it… 既然現在 primalscript 表現良好生產效率又高,何苦去跳泥沼跟豬打架呢?
不過以目前 flash 與 open source的關系越來越密切,我個人到是挺希望儘快看到下面兩件事實現:
1、類似 apple interface builder 與 MS visual studio 的視覺化介面產生工具,並且最重要的是能自動產生對應的程式碼,也就是所謂的 code-behind,例如,我在畫面上放了一個button,它就應該自動產生:
var mybtn = new Button();
mybtn.label = "test button";
mybtn.moveTo(10,10);
mybtn.setSize(20, 10);
然後當我move 或 resize這顆按鈕時,它應該能自動產生改變後的code,但其它不變的地方則不受影響。
目前在flash ide裏這是做不到的事,主要原因是macromedia v2 component無法直接用 mybtn = new Button()這樣的語法來產生一個instance, 雖然有 createClassObject(….)可用,但仍然必需先將用到的組件放一份到library裏,這就讓一切事情變的很不經濟。
而在flex裏情況則好很多,它是用類似
mx :Button width="10 height="10" x="10" y="10" label="mytest"
來標示一顆按鈕,並且在 flexbuilder的 preview窗內也可以直接看到這顆按鈕的大小與位置,是真正的 code-behind, 因此這代表macromedia 是有能力提供這種 所見所得式 的GUI builder,只要它願意將flex 的 compile time gui library移植到 flash compiler內即可。但據目前觀察到的情況,mm大概比較想靠 zorn來強化 flex的市場,至於會回饋多少到 flash 本身就不得而知了。
所以我得期待有一天OSS會出現類似這樣的gui builder. BTW, 我曾用 flash javascript寫過一個克難的 code-behind generator, 可以將畫面上的元件自動產生as2 code,但使用上限制頗多,並無法真正達成心目中該有的功能,所以….
2. open-source GUI library: MM V2 component 雖然很好用,但bug確實也很多,而最為垢病的地方就在於它skinning 與 套用的方式。目前OSS界已經有幾組計畫在進行,個人最看好的就是 ActionStep project, 它是完全依照 NextStep (也就是 mac os x 的前身)的標準在進行組件製作,幾乎80%的 API都跟NextStep 相容,語法也跟 Object-C很類似,看起來是非常嚴謹的專案,非常有潛力成為明日之星。
雖然目前他們還沒放出任何版本的release, 但已可從cvs中直接取出最新版試用。


3 Comments Add your own
1. b6s&hellip | July 22nd, 2005 at 3:56 pm
不管是不是 open source 都有可能 buggy,但是 open source 不怕你知道,也很容易找到 complain 的對象。
從這一點來說,特別是與 security 相關的 bugs,use at your own risk 的可能是相反的軟體。:p
2. jeremy&hellip | July 22nd, 2005 at 11:15 pm
哈哈,感謝b6s兄現身指導,可能是我沒把話講清楚,基本上這年頭有熱血青年肯出來免費做事就已經讓人感動萬分說實在是沒啥可挑愓了,只是當初我把玩FAME的立場是:快進快出,把東西裝好每個功能試一遍,然後開發個小專案看看是否合用。
結果沒想到光是裝工具就花了幾天,之後當然就別提進階測試了。因此這件事中比較令我印象深刻的是,商業軟體會把東西包的好好的,至少它會保証裝了就能用,就像開罐頭一般,而OSS則是彈性大選擇多,什麼事都要自已來,這時它的rough edge就很容易刺傷人,之前裝 windows 版trac也是一例。
所以當時簡單的結論是:事有輕重緩急,專案當前一切以結案為重,所以那個work就先用,而那種不太好用或還沒証明自已夠可靠的solution當然只好先放一邊有空再聯絡了
3. b6s&hellip | July 23rd, 2005 at 3:09 pm
嘿嘿,我再怎麼樣也不可能到指導的地步啦~ XD
討論討論而已。
包裝得好也不一定非得商業公司不可,有時候是軟體本身性質、或是開發環境/語言的特色。反正到頭來都是看實用性,還有那個 “license” 有沒有空間… orz
Trackback this post | Subscribe to the comments via RSS Feed