<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.
    主站蜘蛛池模板: 亚洲人成色777777精品| 亚洲狠狠爱综合影院婷婷| 亚洲精品高清视频| 最近中文字幕大全免费版在线| jlzzjlzz亚洲乱熟在线播放| 人成电影网在线观看免费| 又爽又高潮的BB视频免费看| 一级大黄美女免费播放| 亚洲人成电影在线观看网| 毛片无码免费无码播放| 久久亚洲精精品中文字幕| 日本成年免费网站| 亚洲av无码偷拍在线观看| 亚洲高清免费视频| 三年在线观看免费观看完整版中文| 亚洲午夜国产精品无码| 午夜精品免费在线观看 | 天黑黑影院在线观看视频高清免费| 超清首页国产亚洲丝袜| 男女作爱在线播放免费网站| 亚洲国产日韩一区高清在线| 在线看片免费不卡人成视频| 亚洲av无码一区二区三区人妖 | 免费的一级片网站| 一级特黄色毛片免费看| 亚洲午夜视频在线观看| 最近中文字幕无免费视频| 免费人成视频在线播放| 久久精品免费一区二区喷潮 | 亚洲一级免费视频| 日韩亚洲人成在线综合| 久久精品国产69国产精品亚洲| 四虎永久在线观看免费网站网址| 麻豆亚洲AV成人无码久久精品| 亚洲人成中文字幕在线观看| 美女视频黄的全免费视频| 人成电影网在线观看免费| 亚洲精品在线免费观看视频| 国产一级一片免费播放| 37pao成人国产永久免费视频| 18禁亚洲深夜福利人口|