ホームページ » ツールキット » ビルドスクリプトの戦いGulp Vs Grunt

    ビルドスクリプトの戦いGulp Vs Grunt

    Gulpの使い方とGruntの使い方についてはすでに書いています。彼らはふたりとも タスクを自動化する, 彼らはふたりとも ノードを使用, そしてそれらは両方ともあなたに要求します タスクを作成してプラグインをインストールする ある種の。しかし、この2つの違い、あるいはそれ以上の違いについて疑問に思いますか。?

    この記事では主に焦点を当てます これら2つのプロジェクトの違い これは、2つのうちどちらが自分にとって良いと考えるかを決める手助けになるかもしれません。なじみのないコードを使用します。もしそうなら、私はあなたが始める前に2つの前に出版された記事を通して読むことを勧めます.

    Hongkiat.comについての詳細

    • Gulpを始める方法
    • Gruntを始める方法

    速度

    GulpとGruntの主な違いは、 内側で自動化タスクをどのように扱うか. Gulpはノードストリームを使用し、Gruntは一時ファイルを使用します。それをわかりやすい英語にしましょう。?

    あなたのプロジェクトにSASSコードを書きたいとしましょう。あなたはあなたのSASSコードをコンパイルし、そしておそらくそれを縮小したいと思うでしょう。.

    Gruntはこれを使ってこれを処理します。 中間ファイル これはディスクI / O操作です。 SASSファイルはコンパイルされてから一時ファイルに書き込まれます。一時ファイルは自動プレフィックスによって使用され、最終製品は宛先ファイルに書き込まれます。.

    Gulpはこれらすべての面倒を見る インメモリ. ソースのSASSファイルがコンパイルされ、結果がファイルに書き込まれずに自動プレフィックスに渡され、宛先ファイルが書き出されます。.

    メモリ内操作と比較して、ディスクへの書き込みは遅くなります。 Gulpはスピードの面で大きな利点があります (今のところ)。速度比較はtech.tmwによって行われました、それは大部分のタスクがGulpで少なくとも2倍速いことを示します。これはあまり科学的な研究ではありませんが、傾向はそこにあり、私は自分のプロジェクトでも同じことを見ました。しかし、速度の違いはインパクトのうちどれほど大きいのか?

    秒の違い

    ほとんどのプロジェクトではこれは問題になりません. ほとんどのプロジェクトは小規模です. WordPressテーマなどを作成しているときは、作業に必要なファイル数は妥当な範囲内です。あなたのスタイルシートが400msと800msのどちらでコンパイルされていても、実際には関係ありません。.

    さらに、ほとんどのプロジェクトは 最も集中的な問題のいくつかを回避できるように構成されている. 50個のSASSファイルがある場合、開発中にそれらをすばやく連結することができます。それらを自動プレフィックスまたは縮小する必要はありません。プロジェクトを保存するたびに画像を最適化する必要はありません。.

    作業をステージングサーバーにプッシュしているため、またはリポジトリを更新しているときに大きな銃が本当に必要な場合でも、5秒または9秒の構築時間が大きな違いを生むでしょう。?

    それをすべて終わらせるために、Gruntは今後の0.5リリースでパイピングのサポートを追加します。.

    コミュニティー

    GruntはGulpよりもずっと長い間使用されてきたので、かなりのユーザーベースを持っています。 Gruntは現在、平均して1日平均約37,000ダウンロードを受け取り、Gulpはその半分以上の23,000マーク近くを獲得しています。とは言っても、Gulpは1年半しか経っていないので、その数字は控えめに言っても立派なものとなっています.

    Grupは1200以上のプラグインを持っている間Gruntは現在4000以上のプラグインを持っています。 Googleの傾向によると、より多くの人がGruntに関連するものを検索していますが、それに対処するフォーラムや一般的により多くのコミュニティサポートがあります.

    もちろんGulpは立ち上がってきており、これはつまり 長期的には平準化する可能性が高い. ただし、これは一部の開発者、特にGruntベースのプロジェクトで作業している開発者にとっては障壁です。.

    私は両方のためのコミュニティがあることを指摘したいと思います とてもいい. 私が言える限りでは、各コミュニティのリーダー間の関係は驚くべきものであり、すべての人に例として役立つべきです。 Gulpの作成者は実際にはスピードテスト比較の作者が時間差の減少につながるタイミング精度を向上させるのを助けました。それが私が紳士と呼ぶものです!

    コード対構成

    どうやらこれは多くの人にとっての転換点ですが、正直に言うと、ここで個人的に問題を見ることはできません.

    議論は次のようになります。Gulpはその良い例です。 設定が少し紛らわしくなるとき設定上のコードは良いことである場合もあります. 他の人々はこれが本当でありながらGulpがより簡単であると言う 読む, それはより困難です 書きます なぜなら 配管は少し紛らわしいかもしれません.

    ここで説明する前に、まずGrunt、次にGulpで同じ例を示します。

     grunt.initConfig(sass:dist:ファイル:[src: 'dev / *。scss'、dest: '.tmp / styles'、展開:true、ext: '.css']、autoprefixer :dist:files:[expand:true、cwd: '.tmp / styles'、src: '、* / *。css'、dest: 'css / styles']、watch:スタイル:ファイル:['dev / *。scss']、タスク:['sass:dist'、 'autoprefixer:dist']); grunt.registerTask( 'default'、['styles'、 'watch']); 
     gulp.task( 'sass'、function()gulp.src( 'dev / *。scss').pipe(sass()).pipe(autoprefixer()).pipe(gulp.dest( 'css / styles') ));); gulp.task( 'default'、function()gulp.run( 'sass'); gulp.watch( 'dev / *。scss'、function()gulp.run( 'sass');); ; 

    私の意見は、それは本当に問題ではないということです。確かに、もしあなたが最初の方法に慣れているなら、あなたは2番目を理解するためにいくらかの時間を費やす必要があるかもしれません、しかしこれは逆もまた真です。だから私にとっては、 “ややこしい” 引数が完全に無効です. どれか あなたが学ぶ新しい方法は最初は混乱します, あなたがそれぞれの論理を理解するために時間がかかるならば、それはすべて平準化します.

    それは言った、私は個人的に好む GulpのAPIはきれいだからそれは私がGruntよりもっと密接に考える方法を反映しています。これはもちろんです 完全に主観的 そしてGruntにとってはまったく問題ではありません、それは私の個人的な好みです.

    選び方

    GruntとGulpの両方が優れたツールであり、人々が長年にわたって数え切れないほどの時間を節約するのに役立ってきたという事実については、疑問はありません。 Gruntは今のところ少し遅くなっていますが、より大きなコミュニティを持っています。 Gulpはより速く、よりクリーンなAPIを持っていますが、ユーザーベースを欠いています.

    その決定は最終的には次のようになると思います。 継続性、利用可能なプラグイン そして 嗜好.

    (1) あなたが今しばらくGrunt / Gulpを使っていたら あなたはそれに満足しています, 切り替える理由はありません.

    (2) あなたのプロジェクトなら プラグインが必要です これはGulpによって提供されていません、そしてあなたは自分でそれを書く準備ができていません、あなたはGruntと一緒に行く必要があるでしょう.

    (3) 上記の2つの考慮事項があなたに当てはまらないなら、それは好みに帰着するでしょう。両方試してみることをお勧めします どっちがあなたに固執する.

    私が言ったように、私はGulpを使用することを選択しました。なぜなら私はそのよりクリーンなAPIがより好きだからですが、プロジェクトがそれを要求すれば私はGruntを完全に快適に使用します。あなたがすべきこと ではない Know-it-all氏がGulpの方が優れており、それを受け入れていると言ったことを読むべきです。違いはありますが、明確な勝者はありません。 両方のプロジェクトは共存でき、そして共存する. それらを試してみて、あなた自身の心を作り上げてください.

    注:Keith Cirkel(Javascriptコンサルタント)のようなユーザにアドバイスを求めるユーザからの意見も検討することをお勧めします。 どちらでもない. Grunt&Gulpの記事の使用をやめるべきなのか、彼の興味深い記事では、彼はnpmの使用を提案しています。.

    参考文献

    このトピックに関する他の多くの優れた記事があります。さらに読むために、私は以下のいずれかを心からお勧めします。他の人が言わなければならないことを読むことは決して傷つけません!

    • Grunt vs Gulp - 数を超えて(明確な例に感謝します)
    • Gulp、Grunt、なんでも
    • 選択:Grunt、Gulp、またはnpm?
    • スピードテストGulp and Grunt
    • Grunt&Gulpの使用を中止する理由
    • ウォーズを構築する(移動するには矢印を使用してください)
    • うなり声を上げる必要はありません、新鮮な空気の一杯を取ります