クライアントサイドJavaScriptのエラー捕捉をするプロキシサービスProxino

次の記事

Codecademy, 立ち上げ3日でユーザ20万を突破, 完了したレッスンは210万

proxinologo

Y Combinator出身の新人スタートアップProxinoは、きっと多くのWebデベロッパたちの注目を浴びるだろう。クライアントサイドのJavaScriptのエラーを、デベロッパがあちこちに同じようなエラー処理のラッパーコードを書かなくても見つけてくれる、というサービスだ。

最初にちょっと入門編。Pythonなどの言語は、Webサイトのサーバ上で実行されるが、JavaScriptのコードはふつう、ユーザのWebブラウザ上でローカルに実行される。言い換えると”サーバ”上ではなく、”クライアント”サイドで実行される。サーバからの送信時間がないから、応答時間が速くて、おもしろい効果を作り出せる。ただし欠点もある。クライアントの環境はさまざまだから、デベロッパは、一部のユーザのところで問題が起きているかいないかを把握するのが、とても難しい。JavaScriptのコードは、ブラウザによって実行の仕方が違うことがあるのだ。そして、何か不具合が生じても、デベロッパのところに自動的にバグ報告は来ない。

対策はいろいろある。まず、デベロッパが、主なブラウザすべての’癖’に対応したテストプログラム(テストスイート, test suitesとも呼ぶ)を書き、それで実際のアプリに使おうと思っているコードをテストする。あるいは、コード中の各関数(function, ファンクション)をエラー処理のコードでラップする。でもProxinoのファウンダによると、テストスイートは完璧でない(最悪のバグを捉えられない)し、デベロッパがいちいちエラー処理を手書きで書くのはたいへんすぎる。

そこで、Proxinoが登場する。デベロッパは自分のJavaScriptアプリケーションを、Proxinoのプロキシサーバに通してブラウザに送る。するとプロキシサーバは、アプリケーションの各部分を、例外報告を生成するコードで自動的にラップする。それらの例外報告は、ユーザのブラウザに問題があるときに生成される。このプロキシは、ユーザのダウンロード時間を短くするためにコードを小さくしたり、実行スピードを上げるためにJavaScriptアプリをキャッシュすることもできる。また、CoffeeScriptなどほかの言語で書かれたコードを、エラー捕捉を装備したJavaScriptに自動的に変換する機能もある。

もちろん、プロキシサーバには欠点もある。サーバがダウンしたらアプリもダウンし、自分のサーバでないから簡単に修復ができない。しかしProxinoは、そんな場合に、プロキシを通さずにユーザのサーバから直接JavaScriptアプリをサーブする、という代替手段を採る。

Googleのクロージャコンパイラをはじめ、JavaScriptを最適化するためのツールはすでにいくつかあるが、Proxinoの主張では、ブラウザ上のエラーをデベロッパが検出できる良いツールは、まだあまりない。また、今ある競合製品は、WebkitとOperaなど、ブラウザの違いに対する正しいきめ細かい対応がない、とProxinoは言う。

Proxinoの料金は、ユーザのWebサイトのトラフィックで決まる。月間ページビュー1000未満という低トラフィックのサイトは、無料だ。その次が、月間10000ページまでの30ドル(料金表がここにある)。

長期的には、Proxinoはでっかい目標を持っている: “世界中のJavaScriptをうちからサーブしたい”。

[原文へ]
[jpTechCrunch最新記事サムネイル集]
[米TechCrunch最新記事サムネイル集]
(翻訳:iwatani(a.k.a. hiwa))