2007年9月23日 星期日

不是我低級







動漫的十大謊言

動漫的十大謊言

1.富姦:距離入侵,還剩下十分鐘..........(都做好幾集了= =)
2.同樣的招式對聖鬥士是無效的!!......(不是一樣受傷)
3.北斗神拳是一子相傳的........(最好啦)
4.後宮男主角:我和XXX真的沒有什麼.......(明明有很多)
5.達爾:去!!對付你這種貨色我一個人就夠了!!........(到最後都被打個半死)
6.大雄:我下次不敢了,多拉A夢....(演了好幾百集了= =)
7,勇者:我真的已經不行了..........(後來都有打敗魔王)
8,魔王:你是殺不死我的!!咈咈咈!!.......(最後都被消滅)
9.距離比賽結束只剩下三十秒了!!.......(都過了30分鐘了)
10.那美克星再過五分鐘就要爆炸了!!.........(已經演了60分鐘了= =)

2007年9月22日 星期六

美女地女雜誌及自動出現美女主機維護完畢

由於昨天被虛擬主機商警告使用太多主機資源須要停止服務,所以臨時關閉了圖片的服務,

今天新的空間上線繼續服務大家啦,請各位繼續捧場。^^

又多花了70美金~xd

2007年9月19日 星期三

PHPRPC for js 與Silverlight整合測試

M$最近釋出了Silverlight 1.0,就來試試銀光怎麼耍囉,

發現1.0版目前只支援Javascript,所以來試試和我最常使用的PHPRPC for js整合測試一下。

整合的結果當然和PHPRPC搭配得很好。借由PHPRPC 銀光(Silverlight)可以和其它語言交換資料以

及做遠端呼叫的動作囉。雖然測試起來還算順利,不過銀光1.0目前還不支援中文呢,真是殘念啊…

另外還發現銀光的downloader物件不能跨網域,這用起來有點不太爽快啦…翻桌翻桌。

給大家看一個範例啦,借由PHPRPC for js 去跟PHP server要了一段字回來以及替大家要了美女相片回來給大家看看。

2007年9月18日 星期二

[gadget]天然災害停止辦公及上課情形查詢-可放在iGoogle

今天放了颱風假,在昨天要睡覺我前一刻我才知道,
為了更即時的掌握放假資訊,我特別做了天然災害停止辦公及上課情形查詢小工具。



把小工具加到你的iGoogle

2007年9月15日 星期六

美女自動送上門-大尺寸版

前陣子做的一個igoogle小工具-美女自動送上門發現還挺吸引人的,應觀眾要求,

特別推出大尺寸版的美女自動送上門…由於5秒鐘換一張,很容易看得入迷 喔…

友情提示:小心上癮!!!

美女自動送上門-大尺寸版

2007年9月14日 星期五

2007年9月8日 星期六

2007年9月7日 星期五

年度精妙語錄

年度經濟動物大獎:豬
豬肉價直追房價。
頒獎辭:它以它的生命完成了一道經濟學課題。

年度形象動物大獎:熊貓
燒香的不一定是和尚,還可能是熊貓...
頒獎辭:它以它的形象實現了一次網絡顛覆。

年度流體力學貢獻大獎:張藝謀
時間和乳溝一樣,擠一擠還是有的。
頒獎辭:以強烈的視覺效果增強了東方女性的自信。

年度女性經典語大獎:
下輩子我一定要投胎做一個男人,然後娶一個我這樣的女人.
頒獎辭:用一種跨時空概念解決婚姻問題。

年度男性經典語大獎:
對流血一週仍然不死的動物千萬不能大意……
頒獎辭:用一種科學的分析證明一種危險的存在。

年度服務業用語大獎:
我不能給你幸福,但可以給你舒服!
頒獎辭:舒服一時,幸福一生

2007年9月5日 星期三

Yahoo!奇摩字典 AIR版本桌面程式 追加同義/反義 變化形 功能




請下載過的人重新下載安裝替換就行了:)

下載位址
http://bawbaw-hu.deep.tw/air/AIRYahooDict.air

設定Adobe Air應用程式的屬性 教學

除了所有建立 AIR(Adobe Integrated Runtime )應用程式的需要的資來源檔以外,Adobe AIR應用程式還需要一個應用程式說明檔案,一個用來定義Adobe AIR應用程式基本屬性的XML檔案。

如果你使用Flex Builder 3,這個應用程式說明檔案檔案,在你建立一個新的AIR項目時,被自動的生成。
如果你使用Flex 的 AIR SDKs來開發Adobe AIR 應用程式,你需要自己手動建立這個檔案。


Adobe AIR應用程式說明檔案架構
Adobe AIR程式說明檔案application.xml,包含的Adobe AIR程式的全部屬性,如AIR程式的名字,版本,版權資訊,等等之類的。Adobe AIR程式說明檔案能使用任何檔名字。當建立一個新的項目時,Flex Builder 自動建立一個說明檔案。當你打包匯出Adobe AIR應用程式時,不論是用Flex Builder 還是 ADT,都會被重命名為application.xml,并且放在AIR包的一個特定目録下。

下面是一個Adobe AIR程式說明檔案的例子:

<?xml version="1.0" encoding="utf-8" ?>

<application appId="com.adobe.air.examples.HelloWorld" version="2.0"

xmlns="http://ns.adobe.com/air/application/1.0.M4">

<name>AIR Hello World</name>

<description>

This is the Hello World sample file from the Adobe AIR documentation.

</description>

<title>HelloWorld -- AIR Example</title>

<copyright>Copyright © 2006</copyright>

<rootContent systemChrome="none"

transparent="true"

visible="true"

width="640"

height="480">

HelloWorld-debug.swf

</rootContent>

<installFolder>Adobe/Examples</installFolder>

<icon>

<image16x16>icons/smallIcon.png</image16x16>

<image32x32>icons/mediumIcon.jpg</image32x32>

<image48x48>icons/bigIcon.gif</image48x48>

<image128x128>icons/biggestIcon.png</image128x128>

</icon>

<handleUpdates/>

<fileTypes>

<fileType>

<name>adobe.VideoFile</name>

<extension>avf</extension>

<description>Adobe Video File</description>

<contentType>application/vnd.adobe.video-file</contentType>

</fileType>

</fileTypes>

</application>

在程式說明檔案中定義Adobe Air程式屬性
在Adobe AIR程式說明檔案根部,包含有一個Adobe AIR程式的下列幾個屬性:
<application appId="com.adobe.air.HelloWorld" version="1.0"

xmlns="http://ns.adobe.com/air/application/1.0.M4">
appID 一個Adobe AIR應用程式唯一的旗標。這個屬性值限定在下列字元範圍之内:
  • 0-9
  • a-z
  • A-Z
  • . (dot)
  • - (hyphen)
這個值必須包含17到255個字元。

這個appId The 字符串典型的使用一個點分隔符層級,用一個反轉的DNS域名位址,一個JAVA包或類名,或者一個OS X通用的類別識別。這個類似DNS的形態不是强制的,不會在這個名字和域名之間建立任何聯繫。

version 指定的版本資訊(他和Adobe AIR執行時的虚擬機版本没有關係)。這個版本串是Adobe AIR應用程式設計者定義的。Adobe AIR虚擬機不會通過任何途徑解譯這個版本串。因此版本”3.0″并不假定是比目前的”2.0.”或例如:“1.0″, “.4″, “0.5“, “4.9″, “1.3.4a” 版本更高
xmlns 是AIR 的名字空間,你必須用預設的XML名字空間定義,這個名字空間將隨着Adobe AIR的每個發行版本而改變。

定義Adobe AIR應用程式的名字,標題,說明,版權,和裝載目録
name 的名字。必須定義在這個元素裡。

<name>TestApp</name>

在windos系統裡,它察看在應用程式的標題條和windows的開始功能表裡。在MAC OS裡,當Adobe AIR應用程式執行時它察看在功能表條裡。
title (可選項)察看在Adobe AIR應用程式裝載說明裡。
<title>TestApp from Adobe Systems Inc.</title>

description (可選項) 察看在Adobe AIR應用程式裝載說明裡。
<description>An MP3 player.</description>

copyright (可選項) Adobe AIR應用程式的版權資訊。
<copyright>Copyright © 2006 [YourCompany, Inc.]</copyright>

installFolder (可選項) 確定預設裝載目録的子目録。
<installFolder>Acme</installFolder>

在Windows系統裡某人的裝載子目録是Program Files 目録。在Mac OS系統裡,它是./Applications 目録。例如:installFolder屬性是設為“Acme”并且Adobe AIR應用程式名字是“ExampleApp”,那麽這個Adobe AIR應用程式在wodows系統裡將被裝載在C:\Program Files\Acme\Example,而在Mac OS裡將被裝載在./Applications/Acme/Example.app
如果你想指定嵌套的子目録,可以使用”/”字元作為目録分隔符,類似下面那様:
<installFolder>Acme/Power Tools</installFolder>

installFolder屬性可以包含任何Unicode (UTF-8) 字元,除了下列的字元以外,這些字元是被任何檔案系統所禁止使用的。
  • Character
  • Hex Code
  • various
  • 0×00 - x1F
  • *
  • x2A
  • x22
  • :
  • x3A
  • >
  • x3C
  • <
  • x3E
  • ?
  • x3F
  • \
  • x5C
  • |
  • x7C
installFolder 的屬性是可選的。如果你没有指定這個屬性,這個Adobe AIR應用程式將被裝載在基于name 屬性的預設裝載子目録。

定義Adobe AIR應用程式的 rootContent元素
application.xml檔案也指示了rootContent檔案。這個檔案是第一個被Adobe AIR應用程式載入執行的。它可能是一個SWF檔案或一個HTML檔案。
這個為rootContent 指定的值是一個相對于application.xml檔案根的URL。例如,在下列rootContent 的屬性裡,AIRTunes.swf 檔案(在和application.xml 檔案相同的目録下)被定義為Adobe AIR應用程式的根檔案。
<rootContent

systemChrome="none"

transparent="true"

visible="true"

height="400"

width="600">

AIRTunes.swf

</rootContent>

rootContent元素設定被載入執行的根内容的視窗之内的特徴。
systemChrome 如果你設定這個特徴為standard,將察看系統chrome(這個詞不知如何翻譯,應該是視窗基本的風格様式),如果你設定為none,系統chrome不會被察看。當使用Flex WindowedApplication 套件,這個套件將應用自訂的chrome。
transparent 如果想應用程式視窗支援aplha混合(透通效果)設定它為 “true”.當一個視窗被建立後,這個transprent屬性無法再被改變。一個具有透通屬性的視窗將察看比對慢,并且需要更多的其餘的記憶體。

重要輔助說明: 當systemChrome=”none”時只能設定transparent=”true” 。
visible 如果你想主視窗第一次建立時被隱藏,設定這個值為“false”。預設值是“true”。
你可以在你的Adobe AIR程式程式碼中讓主視窗起始時隱藏,然後設定它的位置和大小。然後你可以通過設定stage.window.visible (主視窗的)屬性為true,來察看它。跟多詳細説明請看Working with windows.

height, width 應用程式的視窗的高和寬。如果不設定這個特徴,視窗的大小將由根的SWF檔案决定設定,或者HTML情况,被作業系統設定。如果你設定visible特徴為“false”,你能加入程式碼去調整視窗的寬和高的屬性(在設定visible屬性為true之前) 。
指定Adobe AIR程式的icon圖像檔案
icon 屬性指定一個或更多的被Adobe AIR應用程式檔案使用的icon圖像檔案。含括一個圖像icon是可選的。如果你没有指定一個icon屬性,作業系統將察看預設的圖像。
這個指定的路徑是相對于Adobe AIR應用程式的根目録。支援PNG, GIF, 和JPEG的檔案格式。你能指定下列所有的icon圖像大小。

<icon>

<image16x16>icons/smallIcon.png</image16x16>

<image32x32>icons/mediumIcon.jpg</image32x32>

<image48x48>icons/bigIcon.gif</image48x48>

<image128x128>icons/biggestIcon.png</image128x128>

</icon>

如果指定了一個圖片,它必須是指定的大小。如果所有的大小没有提供,最接近的將被縮放到適合的大小,供作業系統提供給用户察看。
主意:圖像檔案不是自動被加入Adobe AIR套裝軟體裡的。當Adobe AIR應用程式被打包時,這個icon圖像檔案必須被包含在目前區域相對路徑下。

一個包含更新介面的訊號(翻譯比對怪异Signaling the inclusion of an update interface)
通常的,Adobe AIR裝載和更新應用程式使用預設的裝載對話方塊。然而你也能使用AIR Updater API為更新一個Adobe AIR應用程式,定義你自己的更新機制。去指定你的應用程式自己管理更新處理控點,你必須含括handleUpdates元素在Adobe AIR應用程式說明檔案裡:
<handleUpdates/>
當你的Adobe AIR應用程式的裝載版本,在應用程式說明檔案裡,含括handleUpdates元素,并且用户按兩下啓動一個新的 版本(appID屬性必須符合,即保證是同一個Adobe AIR應用程式)的AIR檔案,AIR執行時開啟這個應用程式被裝載的版本,而不是預設的AIR應用程式裝載器。你的程式邏輯上能够决定如何去處理更新操 作。
注意:handleUpdates 機制僅僅當應用程式已經裝載并且用户按兩下AIR檔案時才起作用。
(翻譯比對彆扭參看原文)When the installed version of your application includes the handleUpdates element in the application descriptor file and the user then double-clicks on the AIR file for a new version (the appID attributes must match), the runtime opens the installed version of the application, rather than the default AIR application installer. Your application logic can then determine how to proceed with the update operation.
Note: The handleUpdates mechanism only works when the application is already installed and the user double-clicks the AIR file.
更多資訊,看 Updating applications programatically.
註冊檔案類別(Registering file types)

檔案類別屬性讓你指定一些檔案類別給AIR應用程式註冊,示例如下:
The fileTypes property lets you specify any file types to be registered for the AIR application, as in this example:
<fileTypes>

<fileType>

<name>adobe.VideoFile</name>

<extension>avf</extension>

<description>Adobe Video File</description>

<contentType>application/vnd.adobe.video-file</contentType>

</fileType>

</fileTypes>

fileTypes元素是可選項。如果采用,你能指定一些數量的檔案類別註冊。
The fileTypes element is optional. If present, you can specify any number of file type registrations.
name 和 extension 屬性是每一個fileType 定義必須被含括的。注意extension是不含括前置的。description屬性是可選項。如果指定,作業系統可以用這個屬性值的内容去說明這個檔案類別。contentType也是可選項。
The name and extension properties are required for each fileType definition that you include. Note that the extension is specified without the preceding period. The description property is optional. If specified, the operating system may use the value of the description property to describe the file type. The contentType property is also optional.
當一個檔案類別被一個AIR應用程式註冊,無論何時一個用户開啟這個類別的檔案,這個程式將被呼叫。如果應用程式已經執行了,AIR將傳送一個呼叫 事件給這個執行的實例。否則AIR將首先啓動這個應用程式。在這兩個案例中,檔名和位置能從通過應用程式Shell物件傳送的InvokeEvent對 象中被找到。
When a file type is registered with an AIR application, the application will be invoked whenever a user opens a file of that type. If the application is already running, AIR will dispatch the invoke event to the running instance. Otherwise, AIR will launch the application first. In both cases, the file name and location can be retrieved from the InvokeEvent object dispatched by the application Shell object.

2007年9月3日 星期一

Yahoo!字典 桌面應用程式版(AIR的應用)

前幾天練習了AIR的製作,今天特別推出一個成品
Yahoo!字典 桌面應用程式版
界面預覽



想要查單字,不用另外開網頁,是不是很方便啊?
想要用這程式要先安裝AIR的執行環境。

Windows系統從此下載

Macintosh系統從此下載

下載完後先安裝好,再下載 Yahoo!字典 桌面應用程式版
http://bawbaw-hu.deep.tw/air/AIRYahooDict.air

安裝後就開始享受不用開啟網頁就能查Yahoo!字典的程式啦!!

==========================================
真是不好意思咧,我剛把自動完成功能加上呢…

須要的人重新下載安裝就可以多了自動下拉選字的功能

網頁系統回到桌面應用時代己來臨-Adobe AIR全攻略!

AIR(全名Adobe Integrated Runtime,前身Apollo)的來意



這幾年企業應用系統慢慢己從窗口桌面轉移到網頁平台上,人們開始習慣在瀏覽器上購買商品、轉帳、繳費、甚至公司的入口網站也都是從網頁進入使用,如請假、簽到、人資系統甚至物流管理等。



網頁開發人員也不例外,動態網頁不管是用什麼語言來撰寫(如:ASP.NET、PHP、JSP、ColdFusion等),你會發 現到,現在這些語言似乎成了基本配備,殊不知Web 2.0的應用理念排山倒海而來,也讓Ajax的技術使用掘起,RIA(Rich Internet Applications)的應用也更加擴大;伴隨著使用上的要求,瀏覽器上的功能變得越來越複雜,開發者也越來越頭痛,一方面要學習許多技術,一方面又 要能符合顧客所需,如何讓開發者不用再重新學習,只善用本身既有技能,也能滿足顧客口味,客戶端也能夠兼顧到網頁及窗口程序的優點,如此想法,AIR油然 而生。



什麼是AIR?



AIR(全名Adobe Integrated Runtime),前身是Apollo,美商Adobe公司在開發此項目時所命名的一個代號名稱,它是專為網絡桌面系統應用的一個執行環境 (RunTime),競爭產品如同微軟的WPF,AIR能真正跨平台在Windows/Mac/Linux操作系統上執行,目前為Alpha 1階段(Linux版還沒釋出),很適合應用在網絡多媒體內容上,如把PDF、Flash/Flex、HTML、Ajax全部結合在一個程序上,加上善用 操作系統上的環境資源,就能快速開發出RIA應用,並且原有的網頁開發者不需要重新學習新的語言。



你會需要AIR嗎?



我們需要區分幾種類型來分析、思考,AIR是否對你有需要,以下列出3種類型族群。



使用者(End user)



你常使用計算機,你己發現到,現在的系統大多都會讓你在瀏覽器(常見是IE/FireFox)上完成,不管是查詢最新上映電影、網 絡訂車票、網絡報稅、在線購物,或企業的入口網站要查詢庫存、銷售報表等,甚至採購訂單,幾乎在瀏覽器上就能一手包辦,不過你也發現到幾個惱人的事,例 如:你使用的過程中,不小心要回上一步,瀏覽器的認定卻是上一頁,剛剛輸入的動作就幾乎要重來,亦或者網絡剛好中斷,而你的交易正執行到一半,等待網絡可 以重新連上後,之前所輸入的內容也是要再來一遍,另外,網絡上的畫面真的都跟使用者一樣,所見即所得嗎?不一定,因為正當你要把最關鍵的網絡信息打印下來 時,卻也發現,邊緣的信息怎麼被截斷了。



以上,都是屢見不鮮的案例,這樣的節骨眼,利用AIR所提供的環境程序,就可以協助你,當離線時還能保持功能正常運作,當打印時也 能常保完整(因為PDF能夠有一致的文件結構),你也不需要有充份的時間去學如何操作系統,因為RIA的接口與互動,己足夠讓你省下不少摸索時間。



設計者/開發者(Designer/Developer)



視覺設計者通常強在美術天份的表達,舒適性的畫面總是在他們的巧手上完成,然而一般在設計網頁與窗口的表現,過程中是需要很多加以 調整,如:尺寸大小、檔案格式等,AIR的系統環境裡,你可以專注在原來網頁設計的技巧,其它靠著Flash的引擎,就能發揮與網頁同質的效果。



開發者亦是,他們最不喜歡花時間去學習新的語言,你可以善用己熟悉的HTML、CSS、Ajax、Flash、Flex等,就能夠開發出桌面窗口程序,並且支持實時聯機/離線、檔案拖拉等功能,甚至還可與二個不同的窗口程序溝通,整個工作流程更具簡便。



企業業主/老闆



花錢的是老闆,要利潤的也是老闆,大多數人的想法是不用花費任何一毛錢最好,要告訴老闆們的是,AIR執行環境是不用任何費用,沒 錯,「就是免費」,公司所養的開發人員也不用為了教育費用重新來過,只需花一點技巧,讓他們知道怎麼導入企業應用,怎麼把現有網頁轉換成AIR程序即可, 當然,若採用Adobe的解決方案,花小額,採用最適合的工具,如Flex Builder、Flash等,更容易創造出公司未來的生財服務,還是一句話,「值得」。



AIR技術賣點



用相同Web技術就能製作出窗口系統,並且強調的是RIA系統,AIR它不是原生於操作系統內,而是附加安裝後可以讓你執行的環 境,也因此,不建議你用AIR做一個類似PhotoShop軟件,甚至是Premiere很仰賴系統資源的軟件,但是你卻能做出如Kuler色彩管理工具 或其它結合網絡應用的程序,想像一下,所有網頁能夠執行的內容,都可以搬到桌面窗口應用,再者,加上檔案拖曳功能,實時聯機與離線作業,可把PDF、 SWF、HTML集於一身,支持跨平台安裝與執行,這就是AIR的技術賣點。



Adobe針對AIR的使用技術,區分了二種技術類型,一為「應用程序」,二為「文件」。以下就以這二類型來說清楚講明白。



一、應用程序類型



以一針見血來說,其實就是利用Flash與HTML來建立與佈署AIR程序。



AIR己有把Flash Player核心放進來,這是AIR的核心之一,所以它支持ECMAScript為基礎的ActionScript 3語言,現在Flash Player也貢獻在開放性程序代碼的Tamarin項目,未來在Firefox瀏覽器版本上也能看到。(更多Tamarin專案詳情,請見網站:http://www.mozilla.org/projects/tamarin/)



非但如此,AIR不僅在既有的Flash Player APIs可以用,可做的事情更加擴大,主要包含如下:



1. AIR引擎可實時解析ActionScript語法,以致有更好的效能表現。
2. 完整的網絡堆棧,所以支持HTTP、RTMP、2位及XML Sockets。
3. 完整性的圖形向量著色功能,加上還有繪圖APIs,讓你可以自由設計手繪功能。
4. 多媒體支持,包含Bitmaps(位圖)、向量圖、影像、聲音等。(這在傳統的Ajax技術無法辦到)。
5. 不能忘記的是Flex框架(Framework),所有Flex 2的功能,你都可以在AIR身上全力發揮。

只要是HTML的功能,在AIR也都能施展,這其中包括了,HTML、JavaScript、CSS、XHTML、DOM(Document Object Model)。因此,你可以不需使用Flash,同樣可以寫出AIR程序,而且用的是HTML、JavaScript等,這項對傳統網頁開發者來說無疑是 如魚得水,可以這麼做的原因也是在於用了開放性的WebKit引擎,此引擎在許多瀏覽器上可以找到,如Mac OS的Safari瀏覽器、Linux相關係統的KHTML等。



在這裡我們應該要曉得背後的動機是什麼,為什麼要採用WebKit,知道主要原因將有助於瞭解日後發展狀況。




  • 首當其衝因為Webkit是開放性項目,Adobe知道一個HTML引擎的長期開發及維護是相當不容易,Webkit有全球眾多的開發者及社群在 維護著,尤其許多使用者分佈在Apple及Nokia領域的Power User,使得Adobe可以專心在其它如除錯、延伸功能等,並且有效回報內容給Webkit組織,獲得不斷精進。
  • 其次是Adobe在決定用Webkit時,希望Web開發人員可以熟悉Webkit引擎的解析狀況,好比,同個HTML碼在Firefox執行可能是沒問題的,但在IE就會錯誤百出。
  • 很多人都希望AIR的執行環境程序能夠越小越好,而WebKit引擎的程序代碼是經過組織性的討論與嚴謹撰寫下而完成,目前以Flash與HTML引擎加上之後的檔案大小大約在5MB多左右(遠比.NET Framework小太多倍)。
  • WebKit是被計劃可以執行在手持裝置上,這與Adobe長期的策略不謀而合,現己證實能執行在Nokia及Apple的手機上。



二、文件類型



文件類型在AIR的應用是希望可以用在動態電子文件中,也就是說每個字段內容都是可以用互動方式產生,在這裡PDF及HTML就是主角。


以目前來說Alpha1還沒把PDF功能整合進來,但是值得一提的是,AIR程序裡的PDF文件是可以嵌在Flash裡或HTML裡,甚至 是同時混搭(Mash-up)在Flash、HTML中。同樣的,HTML也是可以做相同工作,把PDF與SWF都放在一塊。如圖1所示。




圖1:PDF可任意嵌在HTML或SWF環境裡。



所以,我們先來綜整一下,AIR的語言模型可以怎麼形成:


圖2所示,你可以用



1. 純粹使用Flash技術,此包含了Flex。
2. 你可以使用Flash為底層,再嵌入HTML內容。
3. 你可以單純只使用HTML或JavaScript。
4. 你可以使用HTML或JavaScript再嵌入Flash內容。
以上所有語言的混搭都可以結合PDF文件內容。




圖2:適合開發AIR程序的語言

描述語言的整合



由於WebKit與Flash Player引擎二者同時包含在AIR執行環境裡,所以Adobe也將他們能發揮的功能整合在一塊,這對開發者上將會更加便利,舉例來說,HTML內容被 包含在Flash裡,事實上將是經由Flash來負責著色,這意味你可以任何在Flash裡做位圖,像是模糊(Blur)、旋轉(Rotate)、變型 (Transform)等。



另外使開發人員感到興奮的一件事就是,ActionScript可以與JavaScript做雙向溝通,如下:



1. 容許JavaScript程序代碼去呼叫ActionScript APIs
2. 容許ActionScript程序代碼去呼叫JavaScript APIs
3. ActionScript程序代碼可以直接操作DOM
4. 能藉由JavaScript與ActionScript來做事件註冊

AIR支援哪些APIs



除了原有的Flash Player及WebKit引擎所提供的APIs之外,AIR附加了新的重要APIs功能,皆可由ActionScript或JavaScript來呼叫,如下:



1. 完整的檔案輸入/輸出功能
2. 完整的窗口控制
3. 完整的目錄控制
4. 網絡聯機/離線偵測
5. 數據快取與同步(便於讓你開發離線作業的功能)
6. 系統通知功能(此需視操作系統的機制而定)
7. 程序自動更新功能

以上所有APIs功能都可以直接在執行環境上或AIR框架中完成。

面系統整合能力



如同前言,擺脫以往瀏覽器之所不能,又能讓使用者像是在用原來桌面應用程序,更重要是讓人去驗驗Flash接口的互動能力,這就是AIR的桌面整合特色。目前包括了:



1. 正常程序的安裝與移除
2. 可把安裝完畢的程序直接放在桌面快捷方式或程序集
3. 程序拖曳的操作,如:操作系統與AIR程序間的拖曳,AIR程序間的拖曳。
4. 一般程序與AIR程序的溝通。
5. 支持剪貼簿功能
6. 系統通知功能
7. 自訂圖示
8. 可將AIR程序在背景中執行

一旦安裝完成,AIR程序如同一般安裝後的程序感覺都一樣,每一支都是獨立的,你可以來回用Tab鍵切換。使用者不需知道這程序的背後機制是怎麼來,只管其操作方法。但其接口的互動感覺確是可以讓人深刻體會。



AIR相關工具組



網頁程序現在應用為什麼會這麼普遍,其中之一也是因為網頁開發者根本不需要知道使用者用的是什麼操作系統,就可以把他們寫好的程序馬上給客戶使用,不管是Windows或Linux、Solaris、或手機,祗要是網頁程序能夠被瀏覽器讀取,就幾乎都可以使用。



對AIR也是同樣道理,不僅是可以提供跨平台的網頁桌面應用能力外,它也是可以在打包成軟件的情況下,讓你在其它操作系統上執行。



事實上,AIR目前不局限只能在Flex Builder上開發,你可以用NotePad(筆記本),或是任何可以寫HTML、JavaScript的編輯工具,就可以打造出AIR的應用程序。



當然,工欲善其事,必先利其器。若你要有視覺性的開發工具,Flex Builder不失為值得使用的IDE工具,你可以到Adobe官方網站下載試用,記得必須要下載Flex Builder 2.0.1加上AIR Extensions for Flex Builder 2.0.1,才能管理整個AIR程序項目。



另外,Adobe官方剛釋放一些AIR的重要工具,各位可以去下載把玩,試試便知道精彩神奇的內容在哪裡。



開始前你必須要知道的



AIR RunTime
這是主要運行AIR程序的執行環境,如同微軟的.NET Framework一樣,任何開發好的AIR程序都要有這執行環境才能使用。



AIR SDK
SDK包含了AIR Frameworks、命令列程序、鏈接庫、基本設定檔等內容。所以可以讓你做測試、除錯或利用其它文字、視覺編輯工具寫好後,直接打包成AIR程序。



在SDK裡有二個重要的命令列工具是:



- ADL(AIR Debugger Launcher)
主要是用在不需要先前經過安裝,就可以直接測試並執行AIR程序。



- ADT(AIR Developer Tool)
這就是封裝成AIR安裝程序,擴展名是.air,當你打包成air檔後,你就可以佈署在任何的系統上(目前Alpha1祗提供Windows及Macintosh二種平台,正式版會有Linux平台,官方說明未來也會有手機運行版本)。


以上,所有下載網址都在http://labs.adobe.com/downloads/air.html



小結:



多數的朋友聽到AIR的應用後,常詢問一個問題,那就是AIR會不會就是取代瀏覽器上的應用?並且未來直接再把AIR的程序再放回瀏覽器上使用?


這問題我與Adobe資深開發人員關係產品經理討論過,AIR是為了解決瀏覽器上應用的不足,並且他是用相同的技術、語言、鏈接庫來完成桌 面上的應用,並且AIR還在發展階段,後續將上市的功能也都會顧及到使用者在長期以來得不到的解決方案,然而開發者什麼時候會用AIR技術在桌面平台上? 這也會視需求量而定,不過既然都使用Web技術,所以你可以很快就轉換成AIR版本,還可以同時有二個版本存在,這給你的客戶或未來所有使用者有了更好的 選擇。


作者簡介:



劉仲濱


國立交通大學電機信息學院數字圖書組碩士,研究 Adobe/macromedia相關產品多年,為國內企業暨華人社群大力推展 RIA互動多媒體應用暨解決方案,著作有相關Adobe/Macromedia網頁書籍、多篇雜誌專欄,同時為大型研討會講師,技術顧問,及RiS平台(http://j2eemx.com)資深社群主持人。