The Battle Of Build Scripts Gulp Vs Grunt
Saya sudah menulis tentang bagaimana memulai dengan Gulp serta bagaimana memulai dengan Grunt. Mereka berdua mengotomatiskan tugas kami, mereka berdua gunakan Node, dan mereka berdua meminta Anda untuk melakukannya buat tugas dan instal plugin semacam. Tetapi apakah Anda bertanya-tanya tentang perbedaan antara keduanya, atau bahkan, mana yang lebih baik?
Pada artikel ini saya akan fokus pada perbedaan antara kedua proyek ini yang mungkin menjadi faktor dalam membantu Anda memutuskan yang mana dari dua yang Anda anggap lebih baik untuk diri sendiri. Saya akan menggunakan beberapa kode yang mungkin tidak dikenal. Jika ya, saya sarankan membaca dua artikel yang sebelumnya diterbitkan sebelum Anda mulai.
Lebih lanjut tentang Hongkiat.com
- Cara memulai dengan Gulp
- Bagaimana cara memulai dengan Grunt
Kecepatan
Perbedaan utama antara Gulp dan Grunt terletak pada bagaimana mereka menangani tugas otomasi mereka di dalam. Gulp menggunakan aliran Node sementara Grunt menggunakan file temp. Mari kita letakkan itu ke dalam bahasa Inggris yang sederhana?
Asumsikan Anda ingin menulis kode SASS untuk proyek Anda. Anda ingin mengkompilasi kode SASS Anda dan kemudian mungkin mengecilkannya.
Grunt menangani ini menggunakan file perantara yang merupakan operasi I / O disk. File SASS Anda dikompilasi dan kemudian ditulis ke file sementara. File sementara digunakan oleh autoprefixer dan kemudian produk akhir ditulis ke file tujuan.
Gulp menangani semua ini dalam kenangan. File SASS sumber Anda dikompilasi, hasilnya diteruskan ke autoprefixer tanpa ditulis ke file dan file tujuan kemudian dituliskan.
Dibandingkan dengan operasi dalam memori, penulisan disk lambat yang artinya Gulp memiliki keunggulan kecepatan besar (untuk sekarang). Perbandingan kecepatan dilakukan oleh tech.tmw yang menunjukkan bahwa sebagian besar tugas setidaknya dua kali lebih cepat pada Gulp. Walaupun ini bukan studi ilmiah yang sangat besar, kecenderungannya ada di sana dan saya telah melihat hal yang sama dengan proyek saya sendiri. Namun seberapa besar dampaknya adalah perbedaan kecepatan?
Perbedaan Dalam Detik
Untuk sebagian besar proyek ini tidak masalah. Sebagian besar proyek kecil. Ketika Anda membuat tema WordPress atau sesuatu yang serupa, jumlah file yang Anda butuhkan untuk bekerja dengan baik berada dalam batas yang wajar. Tidak masalah jika stylesheet Anda dikompilasi dalam 400ms atau 800ms.
Lebih jauh, sebagian besar proyek dapat terstruktur sedemikian rupa sehingga beberapa masalah yang paling intensif dapat dihindarkan. Jika Anda memiliki 50 file SASS, Anda dapat dengan cepat menyatukannya dalam pengembangan, tidak akan perlu untuk memperbaiki sendiri atau memperkecilnya. Anda tidak perlu mengoptimalkan gambar setiap kali Anda menyimpan proyek, dan sebagainya.
Bahkan ketika Anda benar-benar membutuhkan senjata besar karena Anda mendorong pekerjaan Anda ke server pementasan atau ketika Anda memperbarui repositori, apakah waktu yang dibangun 5 detik atau 9 detik membuat banyak perbedaan?
Sebagai tambahan, Grunt akan menambahkan dukungan untuk perpipaan dalam rilis 0,5 mendatang yang akan mempercepat banyak hal, menjadikan ini sebagai poin yang bisa diperdebatkan.
Komunitas
Grunt telah ada jauh lebih lama daripada Gulp sehingga memiliki basis pengguna yang signifikan. Grunt saat ini menerima sekitar 37.000 unduhan rata-rata sehari, Gulp mendapat sedikit lebih dari setengahnya, mendekati angka 23.000. Yang sedang berkata, Gulp hanya ada selama satu setengah tahun, membuat jumlah itu terhormat untuk sedikitnya.
Grunt saat ini memiliki lebih dari 4000 plugin, sementara Gulp memiliki lebih dari 1200 plugins. Menurut tren Google, semakin banyak orang mencari hal-hal terkait Grunt, ada lebih banyak forum yang menghadapinya dan umumnya lebih banyak dukungan komunitas.
Tentu saja Gulp naik dan datang yang artinya ini kemungkinan akan keluar dalam jangka panjang. Namun, ini menjadi penghalang bagi beberapa pengembang, terutama mereka yang bekerja proyek berbasis Grunt.
Saya ingin menunjukkan bahwa komunitas untuk keduanya sangat bagus. Sejauh yang saya tahu hubungan antara para pemimpin di setiap komunitas itu luar biasa, dan harus menjadi contoh bagi semua. Pencipta Gulp sebenarnya membantu penulis dari perbandingan tes kecepatan meningkatkan akurasi waktu yang mengarah pada penurunan perbedaan waktu. Itulah yang saya sebut pria terhormat!
Konfigurasi Kode Vs
Tampaknya ini adalah titik kritis bagi banyak orang, tetapi jujur saja, saya tidak bisa melihat masalah ini di sini secara pribadi.
Argumennya seperti ini: Gulp adalah contoh yang bagus konfigurasi kode bisa menjadi hal yang baik ketika konfigurasi menjadi sedikit membingungkan. Orang lain mengatakan itu sementara ini benar dan Gulp lebih mudah Baca baca, lebih sulit menulis karena perpipaan bisa sedikit membingungkan.
Sebelum saya memberi bobot, inilah contoh yang sama pertama di Grunt, kemudian di Gulp:
grunt.initConfig (sass: dist: file: [src: 'dev / *. scss', dest: '.tmp / styles', perluas: true, ext: '.css'], autoprefixer : dist: files: [expand: true, cwd: '.tmp / styles', src: ', * / *. css', dest: 'css / styles'], tonton: gaya: file: ['dev / *. scss'], tugas: ['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');); );
Pendapat saya adalah itu tidak masalah. Tentu, jika Anda terbiasa dengan cara pertama Anda mungkin perlu meluangkan waktu mencari tahu yang kedua, tetapi ini juga berlaku sebaliknya. Jadi bagi saya, itu “ini membingungkan” argumen sama sekali tidak valid. Apa saja metode baru yang Anda pelajari pada awalnya membingungkan, tetapi jika Anda meluangkan waktu untuk memahami logika masing-masing, semuanya akan keluar.
Yang mengatakan, saya pribadi lebih suka Gulp's API karena bersiheh, dan itu mencerminkan cara saya berpikir lebih dekat daripada Grunt. Ini tentu saja sepenuhnya subjektif dan bukan masalah dengan Grunt sama sekali, itu hanya preferensi pribadi saya.
Bagaimana Cara Memilih
Saya tidak berpikir ada pertanyaan tentang fakta bahwa baik Grunt dan Gulp adalah alat yang hebat dan telah membantu orang menghemat berjam-jam waktu selama bertahun-tahun. Grunt sedikit lebih lambat untuk saat ini, tetapi memiliki komunitas yang jauh lebih besar. Gulp lebih cepat, memiliki API yang lebih bersih, tetapi tidak memiliki basis pengguna.
Saya pikir keputusan akhirnya akan turun ke kontinuitas, plugin yang tersedia dan Pilihan.
(1) Jika Anda telah menggunakan Grunt / Gulp untuk sementara waktu sekarang dan kamu senang dengan itu, tidak ada alasan untuk beralih.
(2) Jika proyek Anda membutuhkan plugin yang tidak disediakan oleh Gulp dan Anda tidak siap untuk menulis sendiri, Anda harus pergi dengan Grunt.
(3) Jika dua pertimbangan di atas tidak berlaku untuk Anda, itu akan menjadi pilihan. Saya sarankan mencoba keduanya dan melihat yang mana yang melekat pada Anda.
Seperti yang saya katakan, saya memilih untuk menggunakan Gulp karena saya suka API pembersihnya lebih baik tetapi saya sangat nyaman menggunakan Grunt jika sebuah proyek memanggilnya. Apa yang seharusnya tidak do is read that Mr. Know-it-all mengatakan bahwa Gulp lebih baik dan menerimanya. Meskipun ada perbedaan, tidak ada pemenang yang jelas dan kedua proyek dapat, dan akan, hidup berdampingan. Cobalah dan putuskan sendiri.
Catatan: Anda mungkin juga ingin mempertimbangkan pendapat dari pengguna seperti Keith Cirkel (Konsultan Javascript) yang menyarankan Anda untuk menggunakan tidak juga. Dalam artikelnya yang menarik Mengapa kita harus berhenti menggunakan artikel Grunt & Gulp, ia menyarankan untuk menggunakan npm.
Bacaan lebih lanjut
Ada banyak artikel bagus lainnya tentang topik ini. Saya sungguh-sungguh merekomendasikan hal-hal berikut untuk bacaan lebih lanjut; tidak ada salahnya untuk membaca apa yang orang lain katakan!
- Grunt vs Gulp - Beyond the Numbers (terima kasih khusus untuk contoh yang jelas)
- Gulp, Grunt, Terserah
- Pilih: Grunt, Gulp atau npm?
- Gulp dan Grunt Speedtesting
- Mengapa kita harus berhenti menggunakan Grunt & Gulp
- Bangun Perang (gunakan panah untuk menavigasi)
- Tidak perlu Grunt, ambil Gulp of Fresh Air