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

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

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

    樂在其中

    以JEE為主攻,以Flex為點綴,以Eclipse RCP為樂趣
    請訪問http://www.inframesh.org

    首頁 新隨筆 聯系 管理
      43 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

    Adobe 開放 AVM2 source 加入 Tamarin 計畫的新聞已經出來兩天,在各大forum與blogs里都引起熱烈討論,畢竟能讓 javascrīpt 跑的比現在快 10倍,確實是件大事啊。

    但很有趣的是雖然官方已提供了詳細的 FAQ 回答常見的問題,但仍然有許多誤解存在,也因此我特別針對這些問題請教了 Gordon Smith (from Adobe Flex team) 兩人一陣 email 往返后,大概已得出最佳化的答案,下面我試者將學到的資訊整理出來。

    *Actionscrīpt 3 與 Javascrīpt 2 的差別

    AS3 與 JS2 都是依循 Ecmacript 4 規格所實作出來的語言,它們的 core language 是完全一樣的。

    Core language 包含: sealed classes, interfaces, namespaces, method closures, exceptions, strong typing, E4X 等,所以像 Array, String, int 等也都包含在內。

    但在 core language 之上,就會依它執行的環境不同,而加上不同的 extension。

    AS3: 在 flash player 里執行,因此會加上 flash所需的 DOM (Document Object Model) 例如 Sprite, MovieClip, Socket等。

    JS2: 在 Browser 里執行,就會加上 Browser 相關的 DOM, 例如 Document, Form等。

    *Tamarin 是什么?

    Tamarin 是由 AVM2 延伸而來,它只負責執行 Ecmacript 4 core language 的部份。

    因此 Mozilla Foundation 拿到 Tamarin engine 后,第一件要做的事就是在上面實作 Browser 相關的 DOM,例如 Form 要怎么生成、Document 物件要如何存取。

    Adobe 要做的事則是在上面實作 Flash 相關的 DOM, 例如 Sprite 要如何畫出來?Video 要怎么串流與播放?Audio 的載入與音量控制等。(很顯然的,這部份工作已經做完,不然你手上的 flash player 9 是打那兒來的?)

    *Adobe 與 Tamarin 往后的關系

    如果日后,Mozilla 的 developer community 針對 Tamarin 做了某些最佳化,例如有神童出現把 E4X 的執行效率提高了100倍(例如他寫了一個 routine/library 可以讓 xml 的 processing time 縮短為原本的1/100),這些改變一旦被加入 Tamarin 的 codebase,Adobe 也就可以共享成果。

    因此每當 Tamarin 有重大升級或改版時,Flash Player 就可能也跟者推出新版,因為它內部的 core language scrīpt engine 也需要升級才能整合 Tamarin 的改變。

    *這代表 Adobe 也將 Flash Player open source了嗎?

    不。

    Flash Player = Tamarin + Flash-specific DOM

    而這次開放出去的只有核心的 Tamarin engine,因此跟 open source flash player 完全沒關系。

    實際上做為一個 universal platform,最好也不要有太多的 branch/fork,所以在可見的將來也不太可能見到官方做這件事。

    *將來 Firefox 不再需要 flash player 了嗎?

    不,從上面可知,Firefox + Tamarin 只是取得了一個快速的 Ecmascrīpt 4 core language engine, 但它并沒有內含 flash DOM,所以用 Flash 開發的程式(swf)還是要乖乖在 flash player 里跑。

    不然,adobe 還投入人力開發 64bit 與 linux player,難不成是做心酸的嗎?

    *Tamarin 可以用在其它地方嗎?

    可以。

    以 Dreamweaver 為例,它有內建 javascrīpt engine,可以讓user寫一些巨集之類的指令,自動化做某些事。

    目前它是用 javascrīpt 1.5 語法,底層則是內建了 SpiderMonkey engine,然后在這之上,加入了 Dreamweaver 獨有的 DOM, 例如 MenuCommand, EditorWindow,讓user可以用 js1.5 去控制 Dreamweaver 的某些行為。

    將來,Dreamweaver 可以選擇改用 Tamarin 取代掉 SpiderMonkey 做為內建的 scrīpt engine, 這樣user就可以寫 OO 式的 JS2 巨集。

    這就是一個不同的應用實例,而實際上 Fireworks, Flash, Acrobat 等也都有這樣的能力,知名的 Red5 目前用 Rhino 將來也可以考慮改用 Tamarin,畢竟有個10倍速的免錢 scrīpt engine,何樂不為呢?

    *Tamarin 對 Flex developer 的影響

    這部份就很有趣,簡單來說,影響都是正面的,只是要把時間放長來看,正面的效應大概要一到兩年后才會出現,但最多三年(2009)后就可以看出這步棋下的完全正確,而且可能是決定性的一步。
    以上文字來自:http://ria.richtechmedia.com/

    posted on 2009-07-01 19:41 suprasoft Inc,. 閱讀(234) 評論(0)  編輯  收藏 所屬分類: VM/Engine

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


    網站導航:
     
    ©2005-2008 Suprasoft Inc., All right reserved.
    主站蜘蛛池模板: 精品无码AV无码免费专区 | 亚洲国产成人片在线观看无码 | 亚洲av无码一区二区三区不卡| 美女被羞羞网站免费下载| 成年女人免费v片| 亚洲一区二区无码偷拍| 中国在线观看免费国语版| 亚洲午夜无码久久| 破了亲妺妺的处免费视频国产 | 四虎最新永久免费视频| 国产.亚洲.欧洲在线| 成人毛片手机版免费看| 美女18一级毛片免费看| 亚洲国产综合精品一区在线播放| 污污污视频在线免费观看| 区久久AAA片69亚洲| 在线涩涩免费观看国产精品| 亚洲色图在线播放| 香蕉97超级碰碰碰免费公| 亚洲人片在线观看天堂无码| 又粗又硬又大又爽免费视频播放| 国产高清视频免费在线观看| 亚洲嫩模在线观看| 日韩电影免费在线观看视频| 五月天国产成人AV免费观看| 久久久亚洲欧洲日产国码aⅴ| 四虎免费影院ww4164h| 色欲aⅴ亚洲情无码AV| 亚洲乱亚洲乱妇无码麻豆| 精品一区二区三区无码免费视频| 精品丝袜国产自在线拍亚洲| 免费被黄网站在观看| 国产免费久久久久久无码| 亚洲国产综合精品中文第一区| 久久久久免费看黄A片APP | 亚洲精品美女久久7777777| 免费人成网站在线高清| 99久久久国产精品免费牛牛四川 | 国产精品亚洲精品| 国产亚洲欧洲Aⅴ综合一区 | 国产免费拔擦拔擦8X高清在线人 |