摆脱浏览器限制-AIR
? ?? ???图1:PDF可任意嵌在HTML或SWF环境裡。
0 w7 L% p+ z, f8 H6 t
? ?? ???所以,我们先来综整一下,AIR的语言模型可以怎麼形成:
? ?? ???图2所示,你可以用
? ?? ???●纯粹使用Flash技术,此包含了Flex。?) g( G. \6 w! S" p???' O" u6 Y
? ?? ???●你可以使用Flash为底层,再嵌入HTML内容。?% N8 |0 J; N' X
? ?? ???●你可以单纯只使用HTML或JavaScript。?
? ?? ???●你可以使用HTML或JavaScript再嵌入Flash内容。?
? ?? ???以上所有语言的混搭都可以结合PDF文件内容。7 x% ~. x; T5 g' [4 N
# k" P5 E; T9 Q3 C; A
? ?? ???图2:适合开发AIR程式的语言
? ?? ???描述语言的整合?' I8 A4 Y" `! b??d# X* u0 y
? ?? ???由於WebKit与Flash Player引擎二者同时包含在AIR执行环境裡,所以Adobe也将他们能发挥的功能整合在一块,这对开发者上将会更加便利,举例来说,HTML内容被包含在Flash裡,事实上将是经由Flash来负责著色,这意味你可以任何在Flash裡做点阵图,像是模糊(Blur)、旋转(Rotate)、变型 (Transform)等。
? ?? ???另外使开发人员感到兴奋的一件事就是,ActionScript可以与JavaScript做双向沟通,如下:1 g3 A9 p; Y??D& t/ \8 M/ k" a
? ?? ???●容许JavaScript程式码去呼叫ActionScript APIs?0 i- J# Y. X??U4 ^
? ?? ???●容许ActionScript程式码去呼叫JavaScript APIs?4 Z6 S2 e& D( |$ ]. @
? ?? ???●ActionScript程式码可以直接操作DOM?$ b8 w/ T) l0 C. q0 r$ a9 [
? ?? ???●能藉由JavaScript与ActionScript来做事件註册?# A# S??U( A& v7 K2 f" c
/ l: D1 I4 M??o+ e& E/ n7 {
AIR支援哪些APIs ?+ C0 z: F7 [1 J" W1 Z
? ?? ???除了原有的Flash Player及WebKit引擎所提供的APIs之外,AIR附加了新的重要APIs功能,皆可由ActionScript或JavaScript来呼叫,如下:?+ z/ Z! l# F8 f* N5 q& E) j- I, Q
? ?? ???●完整的档案输入/输出功能?
? ?? ???●完整的视窗控制?
? ?? ???●完整的目录控制?
? ?? ???●网路连线/离线侦测?, t, @- X, q: l: U7 n
? ?? ???●资料快取与同步(便於让你开发离线作业的功能)?/ \) R0 m" t0 A0 Z! ^4 c) u* [
? ?? ???●系统通知功能(此需视作业系统的机制而定)?) S9 A4 R4 e( g+ g7 }: `; ~, V
? ?? ???●程式自动更新功能?
? ?? ???以上所有APIs功能都可以直接在执行环境上或AIR框架中完成。
桌面系统整合能力?; N, c/ m9 r& j. B) p" |
? ?? ???如同前言,摆脱以往瀏览器之所不能,又能让使用者像是在用原来桌面应用程式,更重要是让人去验验Flash介面的互动能力,这就是AIR的桌面整合特色。目前包括了:
? ?? ???●正常程式的安装与移除?
? ?? ???●可把安装完毕的程式直接放在桌面捷径或程式集?
? ?? ???●程式拖曳的操作,如:作业系统与AIR程式间的拖曳,AIR程式间的拖曳。?
? ?? ???●一般程式与AIR程式的沟通。?+ @- X2 i) E4 Q- d/ G
? ?? ???●支援剪贴簿功能?
? ?? ???●系统通知功能?
? ?? ???●自订图示?
? ?? ???●可将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的重要工具,各位可以去下载把玩,试试便知道精彩神奇的内容在哪裡。??t. M/ h# }7 g) }( a
开始前你必须要知道的?/ x: k* M) \1 |
--AIR RunTime* N! k; A, a& H- n' k
? ?? ???这是主要运行AIR程式的执行环境,如同微软的.NET Framework一样,任何开发好的AIR程式都要有这执行环境才能使用。: x1 C& \( N& f) O
--AIR SDK/ b" w+ ?( Y% f4 o- B' q, _9 O
? ?? ???SDK包含了AIR Frameworks、命令列程式、程式库、基本设定档等内容。所以可以让你做测试、除错或利用其他文字、视觉编辑工具写好后,直接打包成AIR程式。
在SDK裡有二个重要的命令列工具是:4 \( C+ K0 X8 [. K
? ?? ???●ADL(AIR Debugger Launcher):主要是用在不需要先前经过安装,就可以直接测试并执行AIR程式。) g8 h2 k??d+ t$ L
? ?? ???●ADT(AIR Developer Tool):这就是封装成AIR安装程式,副档名是.air,当你打包成air档后,你就可以佈署在任何的系统蒤