2010年7月31日 星期六

Adobe AIR開發Android Application的流程簡介

發現不常做的步驟,很容易忘記。做個筆記,順便分享一下。

首先,我們要有幾點基礎認知:
1.AIR for Android目前還在Prerelease版階段,還沒有推出正式版。目前每隔一陣子會有新版本,增加一些新的功能。
2.AIR for Android一開始釋出的版本可以在Android 2.1及Android 2.2上面跑,但後面幾次更新就只看到2.2版的Runtime了。
3.AIR for Android的效能比起直接使用JAVA開發仍有一大段差距。將來的版本理論上也只能盡量逼近JAVA的效能而已。
綜合以上幾點,老實說AIR for Android目前也只能拿來玩玩而已,將來即使正式版推出,我想就如Maso在第三屆 PTT Flash 閃光俱樂部分享時一直說的:要使用AIR的話,就應該要去做一些JAVA做不到或不容易做到的事吧。

2010年7月23日 星期五

使用FlashDevelop來幫自定義的Library產生SWC、ASDoc、以及Fat SWC

Flash程式開發一段時間後,相信大家多少都會開發自己常用功能的Library來使用。一開始當然要先產出source code,一堆.as檔案依照package分別放在適合的資料夾裡。慢慢的,我們可能會想把這一堆檔案包裝成一個SWC檔,不但輕巧方便,也比較快速。現在大部分的Libraries都有提供SWC檔。隨著我們自定義的功能與類別越來越多,我們可能會希望產出一份說明文件,一方面提醒自己,另一方面也讓工作夥伴方便了解這些Lib.的功能,如果要公布出來給大家使用,那就更不可或缺啦。最常見的文件格式,就是ASDoc,也就是如ActionScript 3.0 Client Library for Facebook Platform API,或者Adobe自己官方的ActionScript 3.0 Reference for the Adobe Flash Platform,相信這樣的文件大家並不陌生。這些html當然不是人工刻出來的,只要在source code裡面依照一定的規則加上註解,再經由工具就可以產出。不管是SWC或者ASDoc都有一點歷史了,這篇最主要還要介紹新一點的東西--Fat SWC。從Flash Builder 4開始,code hint不再只有參數的型別,而是連同ASDoc裡的說明都會自動跑出來,減少了程式寫到一半還要去查說明文件的機會。FlashDevelop最新的版本也已經支援,不過我們所使用的Libraries的SWC必須是Fat SWC,也就是包了ASDoc產出的一些XML檔案進去的SWC,這樣開發工具才能把註解抓出來顯示在code hint裡。下面就一項一項來說明如何用FlashDevelop來幫我們產出。

2010年7月20日 星期二

Youtube API簡介,AuthSub認證,以及Browser-base Upload

前陣子研究了一下Youtube API,稍微分享一下心得,讓有興趣的人可以比較好上手。由於已經很久沒寫Server端程式了,所以只能大概介紹一下概念。

首先Youtube API共分幾塊:
Widget:
只要在產生Widget的頁面上輸入一些例如網址、關鍵字等資料,就可以產生Widget的程式碼,就可以直接貼到網頁上使用。目前只有Video Bar與Video Search Control兩種。
Custom Player:
也是一樣輸入一些設定值就可以得到自訂撥放器的程式碼,也可貼到網頁上使用。
Player APIs:
可以使用JavaScript或ActionScript來自己撰寫Youtube撥放器。
Data API:
這部分才是重點了。透過Data API,可以經由認證連結user的Youtube帳號,可以取得影片資料,下評論,上傳影片等等。接下來要介紹的主要是這一塊。

接著我們進入到Youtube API的Getting Started頁面。這一頁就是剛剛介紹四大類API的頁面。左邊攔有一長串相關的文章連結,這邊就稍微介紹哪幾篇重要該看。

2010年7月5日 星期一

使用Embed來加速Flash編譯,並結合到Progression 4專案裡

2011/3/7更新

開發Flash網站時,需要不斷的修改-發佈來測試程式碼,而使用Flash IDE來發佈的話,每次Ctrl+Enter按下去就必須把元件與程式碼都一起重新編譯一次。在CS3以前,除了內嵌影片,這樣發佈倒還很快。但到了CS4,甚至到了CS5,這樣反覆的發佈可能會把開發者逼瘋,因為實在太~慢~啦~。為了加快開發的速度,這陣子找了不少資料,分析比較各種的方法,最後決定採用Embed的方式,將編譯好的元件「嵌進」程式碼,然後在FlashDevelop裡面發佈。在研究的過程中發現,其實沒有一個方法是十全十美的,每個方法都有優點及缺點,最後還是要依照自己開發的習慣來做取捨。以下先分析幾個我找到的方法,說明為何採用Embed,最後看看這方法如何結合到前面使用的Progression 4專案裡。