February, 2006 > 所有文章列表

flash 8 的層級小故事…

In flash   February 14, 2006 - 1:22 pm

最近因為一些神奇的鳥事,必需再把 flash 8拿出來安裝然後寫點東西,意外發現下列三個數字:

-flash level 最高為 1,048,574 :

也就是理論上有超過百萬個 level 可塞東西進去 (以前覺得這功能挺棒,現在習慣了 Display List 後再回頭看突然覺得滿身冷汗…)

-flash level 最低為 -16383:

但通常負數level 都是 authoring time 放元件的地方

-flash level 的保留層級為 1048575:

這一層是用來放 tooltip 與 cursor (例如 busy cursor)用。

這些東西都可以在 mx.managers.DepthManager 裏面看到,下次當你使用 Alert, PopUpManager時,就是它在背後偷偷發功囉~

後記:在完全熟悉 AS3 與 eclipse editor 開發環境後,再回來flash 8寫東西真是只能用「往事不堪回首」來形容,很慶幸當年 survive了那段過程,也希望傳說中的 Flash 8.5 (Blaze) 快點到來,讓這一切結束吧。

Add comment | by admin

淺談 flex2 後的RIA發展(二)

In flash, flex   February 1, 2006 - 1:31 pm

*未來的發展

談完 flex 與 adobe 的發展後,我們順便來看一下這件事所來的影響。

1、Open Source Flash 將朝user-end product發展

以往在 osflash.org上可以看到大部份的project都是以開發工具為主,例如有人寫了flash editor, debugger tools等,但在 flex2 出來後,正統的 flash ria開發工具只有一個,大家不用再浪費時間寫這些工具,影響所及,oss 的發展方向勢必將轉向 user-end 的 product。

舉個簡單的例子,當 php/mysql 這兩個基礎工具完備之後,oss的方向就是朝應用程式為主,例如 phpbb, oscommerce, wordpress等,而目前 osflash還停留在開發 php/mysql這種工具階段,未來勢必會走向開發各種應用軟體,例如 flashbb, flashCommerce, flashPress之類的程式。

當然,這也正式標識者 mtasc 的死亡,雖然這是大家早知道的事,不過當它真的發生時還是讓人覺得感觸良多。(最重要的感觸:永遠要知道老大是誰…)

個人預測第一個勢必會出現的東西就是OSS版的 flex builder,畢竟目前已經有類似 SCITE, SEPY與flash editor之類的 OSS IDE,再加上 eclipse平台也有 ASDT/FDT等plugin,這幾個team合起來(或熱血青年把這些source code研讀一遍後來個大融合)就可以生出一個以 eclipse為底的免錢開發工具。

2、學習曲線與教育訓練資源不足

2006年是 flex 的一年已成既定事實,在五年內將有超過百萬名開發者投入這個市場,但伴隨而來的問題也會快速浮現。

*學習曲線仍然陡峭:

雖然 flex 提供了方便好用的 mxml 來快速生成介面,但任何會寫程式的人都知道,會一種語言只是最基礎的入場卷,真正能用一個語言實作某些技術才是重要的部份。

這就像拿到 SCJP 只是代表一個人會寫 java,但並不代表這個人能實作 J2EE 或任何商業應用,同樣的道理,要學會 mxml與AS3並不是太難的事,拼一點花一個月就可熟悉(附帶一提,以本地工程師的習慣,到時又會湧現一陣考照潮,這次應該要叫 ACFP吧 - Adobe Certified Flex Programmer ? )

但整件事中最難的部份則是:

-學會 mxml/as3後要如何開發商業專案?
-如何整合 flash美術設計 與 商業介面?
-如何使用標準軟體工程(UML/Pattern/framework/best practices)確保專案品質?
-如何評估與整合各種前後端技術?
-如何與各種不同後端技術介接與結合?
-如何應用flex與其它flash週邊技術(Enterprise Service, FMS, flashlite…)提供整體的 RIA constulting service?

上面所列的每一點都攸關 RIA專案開發成敗,但目前(並且預估在未來12個月內)大部份開發者仍然處在摸索flex是什麼的階段,所以學習曲線將會是這個產業面臨的第一個大問題。

*教育訓練資源不足

這個局面就很像六七年前java剛引進台灣時,市場上每個人都知道它很重要也很好用,但大家擠破頭就是找不到學習資源(那時最高級的原廠講師一小時收費高達六千元也還是供不應求),一直到兩三年後這個現象才逐漸舒緩,雖然 flex的複雜度沒有java這麼高,但同樣也是需要相當的磨合期才能上手。

以目前美國、歐洲與台灣本地來看,目前市場上只有一本flex 書籍,並且還是講舊版 v1.5的軟體,基本上跟全新改版的 v2.0差距頗大,至於訓練課程,只有在美國與澳洲有零星的訓練課程,就連macromedia原廠也還沒將 v2.0的教材改版。

所以可預見的,在2006年會有許多想學這個技術卻不得其門而入的工程師,而到了2007年當商業需求大量湧現時這個情況就會更嚴重,最樂觀的估計是2007第二季後市場上才會有比較充足的書籍與訓練課程來滿足這些需求。

而以台灣IT產業平均落後美國一年的傳統來看,2007-2008 將會是引爆的關鍵,至於香港與大陸情況也相去不遠,香港應該會好一點甚至比台灣更快普及,但對中港台三地而言這終究會是一條漫長的摸索之旅,上進的工程師們仍然有待努力啊~

*player 與 開發工具不同步

未來這半年(2006第一、二季)內 flash player 8.5將經歷多次的改版與升級,以符合AS3不斷變化的 bytecode 與效能改良,另一方面,在 Flash 8.5(codename:Blaze)正式推出前,flex2也不能載入任何 flash8的swf (code),這代表許多開發手續會有點小麻煩,這種情況要等到半年後當 Flash 8.5 正式發表後才能解決,因此這段期間新進的工程師除了要學習與熟悉flex2外,也要持續與 flex/flash間的差異性奮戰。

*flex2中文支援度不足

根據過去幾個月大量在flex2上開發專案的心得,flex2對中文的支援只能以「大過不犯小錯不斷」 來形容,基本的中文顯示是沒問題,但如果要用不同的中文字型或embed font問題就一堆,最嚴重的就是當機不斷。以目前 flex team還忙於完成產品設計來看,大概還要等一段相當長的時間中文問題才能解決。

*總結

在之前的文章中曾打趣的猜測下一個免錢的adobe產品,當時在心中即已合理的推測 flex framework是最有可能的人選,但沒想到會這麼快成真。

如果要用一句話來總結這件事:

Flex is gonna be HUGE and I mean it !

最後祝大家新年快樂 :-)

comments(2) | by admin

淺談 flex2 後的RIA發展(一)

In flash, flex   February 1, 2006 - 11:38 am

好久沒寫東西了,本來打算繼續潛水到所有專案結束再浮出來,但最近幾件大事還是讓人忍不住先透透氣。

今天最大的消息當然就是 flex 2將以幾近完全免費的方式大放送,adobe的新聞稿裏面指出Flex SDK將完全免費,這包含了下列幾項產品

1. MXML/AS compiler:

這是所有技術中最底層也最重要的一項,有了compiler才有可能生出各種不同的神奇應用,而有了 *free* compiler,你就有了一片繁榮的OSS囉!

2. Flex class library:

這個就是所謂的 flex framework,裏面包含了 application framework與component framework 等所有 class library,平常當你寫 mx:Button 或 mx:Script 時就是在使用這個framework,所有的 mxml tag在編譯時會被codegen engine即時轉換成對應的AS3程式碼

* Flash player 8.5

呃,好吧,這個原本就免費,只是無三不成禮放一起比較好看。當然很重要的一點是FP8.5在效能的表現上有[...](請自行加上適當的形容詞,例如我想放 驚人 ) 的表現,搭配AS3的靈活應用,我可以很有把握的說從此沒有什麼是flex寫不出來的應用程式,不論是web或 desktop。

所以簡單來看這件事,大底而言要推廣一個平台或技術最重要的兩件事就是

1、開發工具
2、客戶端程式

以java來說,jdk是開發工具(內含compiler與class library) 而 jre是客戶端程式(內含java vm),它們都是免費的,因此任何人都可以到sun的網站下載這兩樣東西後就開始寫java程式。

而現在 flex 也提供了同樣的環境,任何人都可以到 adobe的網站下載 flex framework (內含flex compiler/class library) 與 flash player (flash vm)然後就開始寫 flash RIA 程式。

所以可想而知的,當基礎打好路也鋪平後,接下來可預期的當然就是康莊大道的出現。

綜合而言,adobe這樣的舉動有幾點意義:

1、主導市場企圖心旺盛:

2005年是 RIA真正興起的一年,在這年裏我們看到了各種 RIA技術的實作,其中以 AJAX 與 flash 為最大宗,而目前是呈現兩方壁壘分明互不相讓的局面,在這種局面下,一般被認為是flash RIA最大罩門的兩點就是:

*開發工具昂貴且與傳統軟體工程工法不相容:

在當時不論flash/flex builder都要價三萬以上,並且是用 binray檔案格式與專屬語法,跟市場上大多數工程師熟悉的 dhtml/javascript/java/c#/php 都不一樣,因此自然會有死忠的抗議者抓者flash打罵。但現在 flex 完全採用 xml 語法,大部份會寫html的工程師都可以在幾小時內上手,同時它是純文字檔案,可以輕易用 source code management (例如 svn)管理,再加上改版後的 AS3根本就是 java/c#的翻版,所以 xml + AS3應該會讓目前就業市場上大部份(咳,積極進取)的工程師都很快樂的接受。

*非公開規格:

大部份論點是傾向認定 AJAX 走 html/javascript/xml 路線每一項都是W3C公開標準,因此可避免 vendor lock-in 問題,而flash是商業公司獨有因此就是罪該萬死,但實際上jvm也是sun獨自開發然後.net自始至終也只能完全與自家IE 100%相容,這些本質上都是某種性質的vendor lock-in 並且也是絕對避免不了的事,人生本來就是一連串的選擇不是嗎?

另一方面,swf本來就是一個公開且已送進 W3C審核的標準,adobe也即將公開 swf 8 (flash player 8支援的版本)的規格書,從此任何人都可以用自已的方式去implement 這個標準而達到相容,例如 GNU目前正進行中的 gnash player (open source flash player) 就是例子之一。

這些種種代表的是:flash player做為一個client-side vm,它並不是那麼的封閉與獨佔,尤其當考量到以它迷你的體積、能做到的事(audio/video/animation/application interface)與它驚人的普及率(根據一份今天發佈的fp8普及率統計,目前它在美洲與歐洲都有超過50%的安裝率,至於fp7則已接近99%)來評估c/p值,任何理性客觀的決策者都會知道該怎麼選擇。

因此在adobe祭出免費sdk與公開player規格兩大戰術後,傳統的罩門可說是正式退卻,而flash做為 RIA client的既有優勢則有日益突顯之姿,不但視覺介面更多樣化,同時影音串流與多人連線也更方便,再加上player本身的速度改良,所有擋在路上的路頭皆已搬開,在2006年幾乎可以肯定的預測flash將開始dominate ria market,這也正是adobe長期的戰略規劃,大家可以拭目以待整個局勢的發展與變動。

2、獲利模式更明確:

macromedia/adobe 一直是以賣軟體產品做為獲利模式的公司,在 flex sdk免費後這個態勢更形明顯,畢竟在 sdk - IDE - player 這個獲利鐵三角中,sdk與player皆已免費,因此短期來看adobe主要的獲利來源將是flex builder與 Enterprise Service license。

但有趣的部份則在長期。

長遠來看,adobe勢必將走上其它大廠的路線,我指的是像 SUN, IBM等公司,從賣軟、硬體產品,轉型為賣服務、賣顧問(constulting service),簡單來說就是以賣大腦做為主要獲利來源(呃,好吧,你嫌賣大腦太俗氣,那就冠上 知識經濟產業 這個名號吧),畢竟這樣的 eco-system才真正夠大夠肥,遠比賣一套套三萬元的IDE來的有趣跟迅速。

所以簡單的預測是,adobe會先以 flex及其週邊一系列技術/工具擴大市佔率與普及率,然後轉型為:

1、顧問公司:提供flash為主的 RIA 專案導入/建置服務,這時可以target 的 customer可就是 fortune 500 內的每一家公司了。

2、可高度客製化的軟體提供者:例如 breeze 就是牛刀小試之做,只要簡單想想,賣一套 FMS頂多賺十五萬,但賣一套 breeze 可是上百萬之譜,這還不包括客製化修改的部份。

不過雖然大方向已經很清楚,但每家公司的際遇卻也各不相同,IBM賣掉個人電腦事業部專心做軟體服務目前看來還挺成功,至少幾個關鍵產品與市場都守的住,但SUN這個java創始者卻似乎總是無法從自家的java技術上撈到什麼厚利,這也是adobe在未來走上相同路線時要特別注意的。(尤其要特別注意當開發工具與客戶端程式都不能收錢時,就更要守住能獲利的軟體服務部份)

comments(2) | by admin

Next Posts

mobile phone