![]() |
Firefox web browser - Faster, more secure & customizable |
Mozilla開発者ブログに「speak.js」に関する興味深い記事が掲載された。
「speak.js」はテキストの読み上げを実現するJavaScriptライブラリ。JavaScriptとHTML5のaudio機能のみを使って動作しており、ブラウザにおける汎用的な読み上げ機能として注目される。ご存じない方は、「speak.js」のデモを試すと理解しやすい。現段階でこのデモが正しく動作するのはFirefoxだけなので、実行する場合にはFirefoxからアクセスする必要がある(Chromeでも動作するものの、ローディングに長い時間がかかる)。
「speak.js」が興味深いのは、フルスクラッチから開発されたライブラリではなく、C++で実装されたスピーチシンセサイザ「eSpeak」を移植したものだ、という点にある。
C++の「eSpeak」からJavaScriptの「speak.js」への変換には「Emscripten」が使われていると説明がある。「Emscripten」はLLVMのJavaScriptバックエンドだ。LLVMバイトコードをJavaScriptへコンパイルする機能を提供する。LLVMはこのように言語を超えた変換において要となるプロダクトとして機能しており、多種多様な言語の相互変換に活用されている。
なお、コードを変換しただけでは、eSpeakが使うopen()やread()/write()といったようなファイルシステムを操作する部分を回避できないが、ここはEmscriptenの提供する偽装ファイルシステムの機能を使って回避しているという。ファイルシステムへのアクセスがブラウザにおけるほかの処理に置き換えられている。
今回の事例で興味深いのは、LLVM変換を使って生成されたJavaScriptコードが実用的な速度でブラウザで実行されている点にある。C/C++と比較すればJavaScript版の実行速度は劣るが、それでも十分活用できるレベルに到達している。さらにブラウザのJavaScriptエンジンは高速化の取り組みが進められており、今後もユーザ体験の改善が期待できる。変換の要がLLVMであるため、C/C++以外の言語からも変換できるということであり、膨大な量の既存のソフトウェアがブラウザで動作するようになるかもしれないという可能性がある。
C/C++をLLVMで変換してブラウザで実行するという取り組みは、2008年にAdobe Labsに登場した「Adobe Alchemy」がすでに同じことを実施している。最近AdobeはAIRで開発したアプリをiOSで実行できるようにしたが、この部分にもLLVMが活用されており、LLVMが重要な技術として認識されていることがわかる。
こうした取り組みと逆の方向性となるのがGoogleがChrome 14から実現させようとしている「ネイティブクライアント」。ネイティブクライアントはC/C++でコンパイルしたコードを直接ブラウザで実行可能にしようというもの。プラグインの枠組みを拡張して実現している。
一旦JavaScriptへコードを変換して実行するか、ダイレクトにC/C++バイナリを実行できるようにするか、といった違いはあるものの、Webアプリケーションで実現できるラインが高いところまできていることは間違いなく、今後ハイレベルなアプリケーションが登場することになるのではないかとみられる。
| Firefox 8に導入、メモリ改善「ダークマターディテクター」 [2011/8/19] |
| Azure、Firefox 7で登場へ [2011/8/18] |
| Firefox 7、サードパーティ製勝手インストールアドオン無効化へ [2011/8/16] |
| Firefox 6、TCPコネクション積極的に使い回して通信高速化 [2011/8/12] |
| Firefox 7は"細マッチョ"、20%~30%の省メモリ化実現 [2011/8/10] |
| Firefox、メモリ食い「ダークマター」の正体突き止める [2011/8/9] |
| 150タブベンチ、FirefoxとOperaは似た性能結果 [2011/8/8] |
| Firefox新デザイン案公開 - Chromeによく似ている? [2011/8/3] |
| Firefox、タブとアドレスバーを1行にまとめる「OneLiner」を試験公開 [2011/8/2] |
| Firefox、大量タブ使用時のパフォーマンスはChromeを圧倒 [2011/8/1] |
| ISSCC 2012 - ルネサス、システムLSI向け2ポートSRAM回路技術を開発 [15:38 2/23] |
| 村田製作所、TransferJet規格に対応した無線デバイスを開発 [15:24 2/23] |
| FSL、全通信方式対応のマルチモード/マルチバンドRFトランシーバLSIを発売 [14:21 2/23] |
| ISSCC 2012 - ソニー、転送速度350Mbpsを実現したTransferJet対応LSIを発表 [13:54 2/23] |
| ISSCC 2012 - パナソニック、443MB/sの書き込み速度を実現したReRAMを開発 [13:35 2/23] |
|
ソニー、「Reader」普及を狙った入門者向けパッケージと相談ダイヤル [16:32 2/23] 携帯 |
|
[長谷川博己]テレ東ドラマ「鈴木先生」の映画化決定 「実現うれしい」 [16:19 2/23] エンタメ |
|
ハギワラソリューションズ、ウィルス対策機能を内蔵したオフライン端末用USBメモリ [16:17 2/23] パソコン |
|
夜なのに「あさイチ」イノッチと有働アナが漢方最前線を紹介! [16:15 2/23] キャリア |
|
傑作・話題作を大画面で! “TOHOシネマズ PRESENTS セレクト”が復活 [16:15 2/23] キャリア |