<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,. 閱讀(236) 評論(0)  編輯  收藏 所屬分類: VM/Engine

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


    網站導航:
     
    ©2005-2008 Suprasoft Inc., All right reserved.
    主站蜘蛛池模板: 亚洲最大中文字幕| 国产亚洲色视频在线| 亚洲xxxxxx| 91热成人精品国产免费| 久久精品亚洲精品国产色婷| 91精品国产免费久久国语麻豆| 精品亚洲国产成AV人片传媒| 91网站免费观看| 亚洲国产激情在线一区| 日韩毛片无码永久免费看| 美女视频免费看一区二区| 亚洲伊人成无码综合网| 久久www免费人成精品香蕉| 水蜜桃亚洲一二三四在线 | 男女猛烈xx00免费视频试看| 国产一级大片免费看| 一区二区视频免费观看| 亚洲AV无码乱码在线观看富二代| 久久免费国产精品一区二区| 亚洲日产2021三区| 大陆一级毛片免费视频观看| 高清免费久久午夜精品| 亚洲视频在线观看| 性做久久久久免费看| 国产一级a毛一级a看免费人娇| 亚洲国产成人精品不卡青青草原| 在线观看免费人成视频色| 成人a毛片免费视频观看| 91亚洲导航深夜福利| 免费观看的av毛片的网站| 国产成人无码免费看片软件| 亚洲视频一区在线| 国产无遮挡吃胸膜奶免费看视频| 久久国产精品免费| 亚洲欧洲日本在线观看| 亚洲综合无码精品一区二区三区| 野花高清在线观看免费3中文 | 亚洲人成欧美中文字幕| 国产精品亚洲美女久久久| 天天影视色香欲综合免费| 国产亚洲精品精品精品|