ITエンジニア/デザイナ向けにオープンソースを毎日紹介

setImmediate.jsはIE10のsetImmediateをIE6レベルのWebブラウザにも対応させるライブラリです。

JavaScriptで処理時間の長いスクリプトを実行する場合、setTimeoutを使うと思います。IE10ではさらに電力消費量を抑えられるsetImmediateが用意されていますが、類似関数を他のWebブラウザでも実現するのがsetImmediate.jsです。


デモです。様々な高さの棒が並んでいます。


こちらはHTML4を使って並び替えを行っています。


徐々に並んできました。


HTML4の場合、CPU負荷は低いです。対してHTML5の場合は高くなっています(それだけ高速です)。


setImmediate.jsを使った場合、CPU負荷は高いものの電力消費量は抑えられる仕組みです。

setImmediate.jsの対応ブラウザはIE6以上、Firefox3以上、WebKit、Opera 9.5以上、Node.jsとなっています。クライアントはもちろんサーバサイドでも使えるのが魅力になります。process.nextTickやpostMessageなどを使い分け、うまく処理を行ってくれます。

setImmediate.jsはJavaScript製、MIT Licenseのオープンソース・ソフトウェアです。


MOONGIFTはこう見る

setImmediateはIE10向けの機能になっています。幾らIEのシェアが高いといってもWindows8はまだまだ普及が進んでおらず、IE10もまたデファクトとは呼べない存在です。そのような中では最新の技術を使ってみようとは思えないでしょう。

そこで必要になるのが非対応のWebブラウザでも類似の技術を提供するライブラリです。インタフェースが共通であれば過去のWebブラウザでもそれなりの恩恵を受けられるようになります。こういった橋渡し的ライブラリは今後さらにニーズが出てくるでしょう。

setImmediate API demo

NobleJS/setImmediate · GitHub

 

MOONGIFTの関連記事

コメント

  • DevRel
  • Com2