所有主流瀏覽器的最新版都支援 WebAssembly 了

Mozilla 的「WebAssembly support now shipping in all major browsers」提到了最近幾個禮拜,新版的 SafariEdge 都相繼支援 WebAssembly 了:

In the past weeks, both Apple and Microsoft have shipped new versions of Safari and Edge, respectively, that include support for WebAssembly.

由於 ChromeFirefox 都已經支援了,這宣告 WebAssembly 的障礙都已經排除了,接下來只是時間的問題... 對於需要效能的應用程式來說多了一個方式加速。

HTML 的 preconnect

在「Preconnect」這邊看到 Preconnect 這個功能,目前在 Mozilla FirefoxGoogle Chrome 以及 Opera 都有支援,用法也很簡單:

<link rel="preconnect" href="//example.com">
<link rel="preconnect" href="//cdn.example.com" crossorigin>

感覺如果要用的話,可以先送出 head 的部分,打 flush 讓瀏覽器先收到後再送出其他部分?不過對 MVC 架構來說好像變複雜了,不知道有什麼設計比較好...

另外一個是 Prerender,目前是 IE11+、Google Chrome 以及 Opera 有支援,看起來也頗有趣的...

把 Google Chrome 的套件移植到 Firefox 上

在「Porting Chrome Extensions to Firefox with WebExtensions」這邊提到了 WebExtensions 計畫:

The technology is designed for cross-browser compatibility: to a large extent the API is compatible with the extension API supported by Google Chrome and Opera. Extensions written for these browsers will in most cases run in Firefox with just a few changes. The API is also fully compatible with multiprocess Firefox.

提供另外一種方式開發,吸引 Google Chrome 現有的 extension 開發者,也就是利用現有的 ecosystem 來幫助自己,把本來需要整個重寫的工作降低...

Opera 換 WebKit...

Opera 決定放棄自己維護 render engine 了,將改用 WebKit:「Opera gears up at 300 million users」。

不確定是什麼樣的考量,我猜是為了省成本順便做的決定。翻了 gs.statcounter.com 的資料,Opera 的全球佔有率愈來愈低,看起來還蠻有可能的?

不過大多數的公司還是不管他吧:

YUI Target Environments

以及:

用 testling-ci 測試各種瀏覽器的結果...

testling-ci 是個測試服務,只要在 package.json 裡把要測的環境要求寫好,然後 GitHub 上的 web hook 設好,剩下就是驗收了...

網站的維護者在「How to write Testling-CI tests」這篇給了一個很簡單的範例,拿一個 IE9+ 才支援的語法實際測試所有的瀏覽器,然後有個 badge 讓你掛:

對於 open source 軟體應該是很方便,是 Travis CI 的另外一個選擇 :p

不安裝 Adobe DLM 的前提下安裝 Adobe Flash Player 11.x

兩年前寫的「直接安裝 Adobe Flash Player 而不安裝 DLM」這篇已經過時了,新的網址是:

抓下 exe 檔後直接執行就可以了。

YouTube 將 99% PV 影片加上 WebM 支援

YouTube 發了一篇公告,將站上約 30% 的影片另外壓一份 WebM 格式,而這 30% 佔全站 99% pageview:「Mmm mmm good - YouTube videos now served in WebM」。

目前在 Firefox 4+、Opera 10.6+、Google Chrome 支援 WebM 格式,手機平台則是 Android 2.3 (Gingerbread) 支援。

希望有一天可以完全取代 H.264...

直接安裝 Adobe Flash Player 而不安裝 DLM

Update:下面連結已經失效,請參考「不安裝 Adobe DLM 的前提下安裝 Adobe Flash Player 11.x」。

現在 Adobe Flash Player 會要你裝 DLM 後再利用這個 P2P-based 的下載軟體安裝 Adobe Flash Player,再加上 Flash 三不五十就有安全漏洞要更新 (但以現在的環境來說,不能不用他),在 HTML5 能取代他之前先暫時想辦法...

如標題所說,直接下載對應的安裝檔而不要裝 DLM,在國外的 blog 有不少人寫過,像是:「Download the Latest Adobe Flash for Firefox and IE Without Any Extras」。

簡單來說,對於 ActiveX-based 版本的 (也就是 IE 系列),下載 fpdownload.adobe.com/get/flashplayer/current/install_flash_player_ax.exe 這個即可。

而對於 plugin-based 版本的 (除了 IE 以外的都是),則是下載 fpdownload.adobe.com/get/flashplayer/current/install_flash_player.exe 這個即可。

所以每次出安全性更新時都要抓兩份安裝。

HTTP Redirect Response Cache

之前在 debug 時為了 HTTP Redirect Response 的 cache 問題測過一些,發現結果很亂,後來找到一些 workaround 避開 redirect response 後就沒有再研究太多。今天在「Redirect caching deep dive」這篇看到在討論 HTTP Redirect Response 時的 cache 問題,作者把幾個常見的瀏覽器都測過一次作成表格...

可以看出來情況還蠻複雜的,雖然 RFC 有定義 cache 的時機,但沒有一家完全照 "SHOULD" 的規矩來 XD

不過既然有人提出來而且整理成表格了,之後應該會修正...

WebM 以及 VP8 將成為下一代影音標準

經過這半個月的發展,看起來 WebM 以及 VP8 會是下一代影音的新標準。

去年 Mozilla (Firefox) 及 Opera 因為 H.264 的軟體專利問題而不願意支援 H.264,所以大家都很注目比較可能沒有專利問題的 Theora。這是基於 On2 Technologies 在 2001 年所 open source 的 VP3 而發展出來的。也因此大家對於是否可以用 Theora 取代 H.264 一直很有疑問 (參考二月時寫的「Theora 與 H.264 的畫質差異」)。

首先是 Google 在 2009 年八月的時候買下 On2 Technologies (在 2010 年 2 月的時候完成收購),有不少人希望 Google 可以授權 On2 在 2008 年所發表的 VP8 給大家使用,FSF 甚至利用 YouTube 的影響力,並且主動提供 VP8 格式的影片,大力推廣 VP8:「Open letter to Google: free VP8, and use it on YouTube」。

上個月 Google I/O 2010 的時候,Google 公開 WebM Project,其中包括了 VP8 的使用權,並且提供免費的專利使用權。雖然有些人對於 VP8 還是覺得不夠好 (像是「The first in-depth technical analysis of VP8」這篇分析),但由於 Mozilla、Opera、Google 在當天都已經宣佈會支援 WebM,微軟也宣佈會在 IE9 內支援 WebM 檔案格式 (至於 VP8 codec 則是在系統內安裝),所以 WebM 很快就變成大家注目的焦點,而在 ffmpeg 的 mailing list 上也很快就有人把將 libvpx 整合到 ffmpeg 內。

接下來看看能不能更直接將 WebM 直接納入 HTML5 的 spec 內...