yuicompressorとgoogle closureの簡単な比較


以前はyuicompressorでjsファイルを圧縮していましたが、google closureがオープンソースになった後、開発者たちは複数の選択肢を持っていて、ユーザーとしてyuicompressorとgoogle closureを簡単に比較しました.
通常、プロジェクトではスクリプトを使用して実行するが、webサービスを使用することは少ないため、jarパッケージをダウンロードしてコマンドラインの下で実行する、yuicompressorのパッケージ名はyuicompressor-2.2である.4.jar,google closureのパッケージ名は:compiler.jar.
比較一:googleサイトの例
Googleのウェブサイトはhelloworldの例を提供して、以下のようにします

// A simplest function.
function hello(longName) {
  alert('Hello, ' + longName);
}
hello('New User');

yuicompressorとgoogle closureで圧縮:

//yuicompressor
java -jar yuicompressor-2.2.4.jar hello.js -o yui_hello.js

//google closure
java -jar compiler.jar --js hello.js --js_output_file g_hello.js

結果は次のとおりです.

// the javascript for g_hello.js
function hello(a){alert("Hello, "+a)}hello("New User");

// the javascript for yui_hello.js
function hello(A){alert("Hello, "+A)}hello("New User")

yuicompressorを使用して圧縮されたファイルはgoogle closureを使用して圧縮されたファイルより1つのセミコロンが少ないことが発見されたと信じています.ここで、開発者の80%がyuicompressorの圧縮能力がgoogle closureより強いと結論したと信じています.そして、私も当時そう思っていました.本当にそうですか.
もう一度実験をして、今度はjqueryを使います

//yuicompressor
java -jar yuicompressor-2.2.4.jar jquery-1.3.2.js -o yui_jquery-1.3.2.js

//google closure
java -jar compiler.jar --js jquery-1.3.2.js --js_output_file g_jquery-1.3.2.js

jqueryファイルサイズは120763バイト、yui_jquery-1.3.2.jsサイズは56835、g_jquery-1.3.2.jsのサイズは55323バイトで、google closureで圧縮されたファイルサイズはyuicompressorの97.3%です.この結果は少し苦笑できないが、これに基づいてgoogle closureがjsを圧縮する能力が強いとは言えないが、少なくともjqueryではgoogle closureの能力が体現されているのに対し、googleサイトで提供されている例は適切ではなく、小さなセミコロンが多くのユーザーを失う可能性が高い.
それでも、両者の違いはあまり明らかではありません.yuicompressorがcssファイルを圧縮できることを考慮すると、yuicompressorは依然として現在の第一選択になります.個人として、googleの製品が好きで、オープンソース技術が好きなので、googleの関連製品に注目し続けます.