<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Habitat Framework

    專注于Java EE企業級開發
    posts - 13, comments - 81, trackbacks - 0, articles - 5
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Adobe AIR 初探

    Posted on 2007-11-05 20:39 Kerwin Weng 閱讀(3806) 評論(7)  編輯  收藏 所屬分類: Javascript
    好像國內對Adobe的新產品AIR反應還不多,我個人試用了下覺得其實用處還是很大的,于是我就拋磚引玉寫一篇相關介紹文章吧

    AIR其實是一套框架和一個VM,它允許用戶把Javascript,HTML,CSS集成到統一的客戶端,在用戶桌面運行,避免了瀏覽器差異,并且實現了跨平臺的通用性,同時又對Javascript功能進行了很多擴展,比如讀取本地磁盤文件,做跨域的遠程訪問,使用多媒體文件等等(相信是flash的底層在支持),相對于兩年前的Flex,AIR在RIA領域無疑又是一個跨越,
    想象一下以后我們可以用JS+HTML+CSS來寫基于http的遠程且防火墻安全的C/S應用了,還是蠻爽吧
    Demo在這里:http://labs.adobe.com/showcase/air/?promoid=BJXTF
    用JS來寫應用的文檔在這里:http://livedocs.adobe.com/labs/air/1/devappshtml/


    Adobe AIR出新版SDK后,出乎意料的是很多之前的Demo不能跑了,會出"parsing disallowed"
    ,原因就是adobe換用了新的安全框架,禁止掉了Javascript中某些可能對其框架做出安全威脅的API,比如說JSON的命根--eval

    Adobe的官方解釋是在AIR2禁止掉了類似eval這種動態代碼加載技術在其Application sandbox中的運行,解決辦法是把你有eval的應用移到Browse sandbox中執行,所謂的Browse sandbox意思是你的應用主頁面是通過application.xml中配置的根頁面來用iframe引入的,在iframe引入的頁面中你就可以做eval,而把其他如跨域查詢等AIR提供的高級API操作放到根頁面中去做,然后通過一個parent/childSandboxBridge來做互相引用和傳遞數據的橋梁,
    但是同時你在iframe中的js也不能直接使用AIR所提供的一些高級API,比如air.trace().原文的解釋在這里 ,Adobe甚至還寫了一篇文章來鼓吹這種方式其實更符合設計模式--根頁面負責數據傳遞,iframe頁面負責業務邏輯.但是無論如何這篇文章作為Browse sandbox的入門來講還是很值得細讀的

    于是結合自己當前的實際需要,我寫了一個批量查詢airasia.com機票的小工具,因為airasia從來都是打廣告說從多久到多久,從那里飛到那里才幾塊MYR! 就是這個"起"字相當關鍵......直接造成每次我去查的時候發現因為"已經快滿坐"了,所以價格和平時的一樣,甚至更高,聽同事說他們都是先一天一天去查看哪天便宜就趕快預定,太辛苦了吧,那我要查2007-11-05到2008-01-31日的機票要花多少時間啊,而且不查到最后一天還不知道是不是最便宜的,嘲笑他們原始之后我就決定自己寫個工具來查

    所以我寫的第一個AIR應用就是這個AirAsiaTicketsSearch,可以批量查詢某個時間段去和某個時間段回的所有機票,并且把機票價格用jQuery.tablesort給排序出來,并且用jQuery.tablesort.page做了分頁(說句題外話,jQuery的tablesort確實很強大,但是在排序"1,280.00 CNY"這種數據的時候還是有問題).另外開發環境值得一說,無論是eclipse+aptana或者aptana standalone都一樣的,aptana就是一個Eclipse的RCP,關鍵就是aptana真的是很好用的工具,目前不僅支持AIR,而且還支持開發Apple iPhone的應用,只是專業版要收費.....

    后面給出截圖,
    結果發現昨天還有295.99的機票,到了今天就漲到349.99了-_-!



    評論

    # re: Adobe AIR 初探  回復  更多評論   

    2007-11-06 09:25 by BeanSoft
    要說AIR, 微軟很早以前推出的有 HTA. 至于腳本擴展, 為啥病毒木馬橫行, 也跟微軟那個強大的 VBScript/JScript 擴展是分不開的. 國內要流行, 那也得先把做桌面程序的人都干掉才行.

    # re: Adobe AIR 初探  回復  更多評論   

    2007-11-06 09:38 by Kerwin Weng
    印象中hta/htc當時還沒有AJAX這類應用,作用有限,現在AIR的API允許Javascript使用多媒體資源,跨域資源,windows menu,os資源等,甚至可以開socket,相對于當年,應該說air強大的正是時候.

    關于國內流行這個問題,我覺得只要一個產品真的好,真正能幫助程序員提高開發效率,降低維護難度,又能讓客戶體驗提高的話,不用誰去打敗誰,都會有很多C/S程序員和新入門的程序員轉去另一邊

    # re: Adobe AIR 初探  回復  更多評論   

    2007-11-06 10:15 by pallove
    現在的AIR還是比較雞肋的。

    # re: Adobe AIR 初探  回復  更多評論   

    2007-11-06 11:03 by BeanSoft
    典型的技術推廣貼的說辭

    用戶 A 寫道:
    我從實用的角度上來說 **** 框架/技術是相當爛的一個東西.
    從理論上也許先進.

    用戶 B 反駁道:
    我不喜歡聽沒有證據的東西。不知道你指的"**** 是相當爛的一個東西"什么意思?不知道你使用****有多久?是做了具體的項目體會出來它很爛還是玩了半天就覺得它爛?能不能舉出具體的例子?
    我認為 **** 很棒,因為這是我在做項目和學習的過程中體會到的。
    國外有很多牛人都認為 ****很棒,牛人 XXX 從????年就已經在他的項目中使用了自己的****架構,至今有很多大型的項目都在使用這個****架構。**** 在此之上做了很多的改進,總結了框架 A 和框架 B 的不足,是經過很多考驗和實踐總結的成果,希望大家不要只花了半天時間就把它否定掉。



    把 **** 替換成不同的框架/技術, 這就是當前技術推廣貼的一貫文風.

    放這里完全合適, 呵呵, 其實這個是 JavaEye 上某 Spring Fans 反駁另一位反駁者的話的. 開個玩笑了, 別介意, 呵呵.

    當然非常感謝樓主寫了介紹文章, 呵呵. AIR 我也去看了一眼, 個人覺得還不行啊, 就跟 AJAX 一樣, 開發成本太高了. 哪天瀏覽器內置各種控件(如 Tree, Table, Grid)可以調用就好了.

    # re: Adobe AIR 初探  回復  更多評論   

    2007-11-06 11:55 by Kerwin Weng
    我沒有推廣的意思,只是分享自己最新的體驗和看法,大家用不用不是我關心的.

    蘿卜白菜各有所愛吧,我猜你肯定是做Web application的吧,所以巴不得瀏覽器內置很多東西,而且最好不用寫JS,都交給gwt,JSF等幫你生成了.個人覺得還是應該把Javascript當成一門很有用的語言對待,不過我最希望瀏覽器做的就是提供統一的支持,少一些自作主張,尤其憎惡IE這個不遵守W3C標準的家伙,這在要求客戶統一使用IE的時候是不需要考慮的

    我不知道你說的AJAX開發成本高指什么,我覺得倒是很容易啊,prototype,jQuery,dojo我還可以數出10個js的lib都實現了高級AJAX的抽象封裝,甚至我自己改過的JSON-RPC,調用遠程數據也就是1-2句代碼.如果是指整個AJAX應用的話,的確Javascript占的分量相當多,對沒有豐富的Javascript組織經驗的團隊來說還是很繁重的工作量,但是一旦有很好代碼組織體系,充分利用Javascript的繼承特性,開發應用還是非常快的,更不要說還有像jQuery這樣的優秀lib,插件眾多,甚至在Javascript中實現AOP

    # re: Adobe AIR 初探  回復  更多評論   

    2007-11-06 12:04 by Kerwin Weng
    @pallove
    的確,可能業界還沒有找到AIR最有競爭力的場景吧,80%功能瀏覽器可以做,剩下20%Flash和C/S又輕而易舉,不過即便這樣,AIR在有限的RIA場景中可能也是受人喜愛的

    # re: Adobe AIR 初探  回復  更多評論   

    2007-11-06 14:15 by pallove
    嗯,是的,其特殊性就算jser不喜歡,flasher也會喜歡的。對air現在只是觀忘。java總是有很多東西學不完,而flash總是在等待學一些東西。

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 两个人的视频高清在线观看免费 | 亚洲精品资源在线| 国产乱子精品免费视观看片| 一本天堂ⅴ无码亚洲道久久| 久久久久国产亚洲AV麻豆| 1区2区3区产品乱码免费| 亚洲精品色在线网站| 日韩精品亚洲人成在线观看 | 亚洲国产精品VA在线看黑人| 99久久99久久精品免费看蜜桃| 午夜在线亚洲男人午在线| 久久久综合亚洲色一区二区三区| 中文字幕av无码无卡免费| 一个人看的免费观看日本视频www| 亚洲免费二区三区| 亚洲综合亚洲综合网成人| 无人在线观看免费高清视频| 人成电影网在线观看免费| 亚洲专区中文字幕| 亚洲欭美日韩颜射在线二| 青青草国产免费久久久下载| 性无码免费一区二区三区在线 | 97免费人妻在线视频| 黄网站色视频免费观看45分钟| 亚洲精品午夜视频| 国产成人综合亚洲AV第一页 | 亚洲免费人成在线视频观看 | 天天摸天天碰成人免费视频| 免费高清国产视频| 一级A毛片免费观看久久精品| 亚洲AV无码乱码麻豆精品国产| 亚洲AV无码专区电影在线观看 | 亚洲精品美女久久久久9999| 精品国产人成亚洲区| 国产中文字幕免费| 久久不见久久见中文字幕免费| 久久久久久久99精品免费| 精品久久久久久国产免费了 | 亚洲成a人片在线观看天堂无码| 亚洲第一页中文字幕| 亚洲gv白嫩小受在线观看|