[フレーム]
BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

InfoQのすべての体験をアンロックして、そのメリットを最大限に活用しましょう

ログインして、InfoQのすべての体験をアンロックしましょう!お気に入りの著者やトピックの最新情報を入手し、コンテンツと交流し、限定リソースをダウンロードできます。

ログイン
または

アカウントをお持ちでない方

登録
  • あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。
  • 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。
  • 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

Topics

地域を選ぶ

InfoQ ホームページ ニュース Mozilla と WebKit,縮小された JS や CoffeScript など JS 言語のデバッグサポートを目指す

Mozilla と WebKit,縮小された JS や CoffeScript など JS 言語のデバッグサポートを目指す

2011年8月10日 読了時間 2 分

作者:

翻訳者

原文(投稿日:2011年08月08日)へのリンク

最近の Web と Javascript デバッガは強力で,ブラウザと密に統合されている – ただしそれは デバッグ対象のコードが手作業で記述された,平坦なJavascript の場合に限った話だ。今日では,実行あるいはデプロイされる Javascript の多くが開発者ではなく,ソフトウェアによって生成されている。そのようなコードの大部分は縮小されているか,あるいは圧縮されたコードだ。このようなファイルに対して,通常はソース行を単位とするブレークポイントをセットするのは至難の技か,あるいは不可能だ – 元になったソースがきれいにフォーマットされたものであっても同じことだ。

もうひとつの問題:Javascript はコンパイル言語の出力ターゲット としても注目を高めてきている。Javascript 仮想マシンの普及がその主な理由だ。CoffeeScript はそのような新言語の一例であり,さらに先日発表された ClojureScript は,Javascript にコンパイルされる形式の,独立した言語の例だ。これらの言語で記述されたコードのデバッグでは,ブレークポイントの設定や console.log() メッセージ,その他言語依存の機能には,元になった言語ではなく 生成された Javascript コードを扱うことになる。

これは新しい問題ではなく,JVM 言語にもかつて同じ問題があった。その成果が JSR-045 - 他言語のデバッグサポート となり,JRuby など JVM へのコンパイルを行う様々な言語で使用されている。

解決策はソースマップ (Source Maps/SMAPs),すなわち,ソース言語とターゲット表現間をマップするファイルだ。Google の Closure コンパイラには,縮小された出力 Javascript ファイルの SMAP ファイルを生成する機能がある。ただし現時点で SMAP ファイルを読むことができるツールは,Firebug 拡張である Closure Inspector に限られている。

Mozilla と WebKit の両プロジェクトでは,それぞれのデバッグ機能で SMAP をサポートする作業を開始している。

Mozilla は SMAP とデバッグ機能に関する綿密な計画資料 を作成した。資料には,ソースマップの別領域に関する言及も見られる – SASS あるいは LESS など,CSS のスーパーセットによってコンパイルターゲットとして使用される CSS である。
この作業をトラックする Mozilla のチケットが Bug 618650 – JS ソースに変換されたソース言語と JS とを関連づけるマップ であり,計画資料ではターゲットリリースとして Firefox 9 がリストされている。

WebKit も SMAP サポートを計画しているが,実際に扱う SMAP フォーマットは Closure Inspector のフォーマットの拡張版になる可能性がある。同様な検討を Mozilla も行っていて,Bug 63940 – Web Inspector: デバッガのコンパイラソースマッピングサポートのドラフト実装 がその機能のトラックである。

この記事に星をつける

おすすめ度
スタイル

このコンテンツのトピックは Microsoft です。

関連記事:
  • 関連記事

    • 関連スポンサーコンテンツ

特集コンテンツ一覧

InfoQ ニュースレター

毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。 サンプルを見る

We protect your privacy.

BT

AltStyle によって変換されたページ (->オリジナル) /