İnşa Komut Dosyası Savaşı Gulp Vs Grunt
Gulp ile nasıl başlayacağınız ve Grunt ile nasıl başlayacağınız hakkında zaten yazdım. İkisi de görevlerimizi otomatikleştir, ikisi de Düğüm kullan, ve ikisi de seni istiyor görevler oluştur ve eklentileri yükle Bir çeşit. Ancak, ikisi arasındaki ve hatta daha iyi olan arasındaki farkı merak ediyor musunuz??
Bu yazıda ağırlıklı olarak odaklanacağım bu iki proje arasındaki farklar hangisinin kendiniz için daha iyi olacağına karar vermenize yardımcı olabilir. Bilmediğim bazı kodlar kullanacağım. Öyleyse, başlamadan önce daha önce yayınlanmış iki makaleyi okumanızı öneririm.
Hongkiat.com hakkında daha fazla
- Gulp ile nasıl başlanır
- Grunt ile nasıl başlanır
hız
Gulp ve Grunt arasındaki temel fark iç kısımdaki otomasyon görevleriyle nasıl başa çıktıklarını. Gulp, Düğüm akışlarını kullanırken Grunt geçici dosyaları kullanır. Bunu sade İngilizceye koyalım, olur mu?
Projeniz için SASS kodu yazmak istediğinizi varsayalım. SASS kodunuzu derlemek ve daha sonra küçültmek istersiniz.
Grunt bunu kullanarak halleder aracı dosyalar hangi disk G / Ç işlemleridir. SASS dosyanız derlenir ve geçici bir dosyaya yazılır. Geçici dosya otomatik düzeltici tarafından kullanılır ve ardından nihai ürün hedef dosyaya yazılır..
Gulp bütün bunlarla ilgileniyor bellekte. Kaynak SASS dosyanız derlenir, sonuç bir dosyaya yazılmadan otomatik düzelticiye iletilir ve hedef dosya daha sonra yazılır.
Bellek içi işlemlerle karşılaştırıldığında, disk yazma işlemi yavaş olur; Gulp büyük bir hız avantajına sahip (şimdilik). Tech.tmw tarafından hız karşılaştırması yapıldı, bu da çoğu işin Gulp'te en az iki kat daha hızlı olduğunu gösteriyor. Bu oldukça bilimsel bir çalışma olmasa da eğilim var ve kendi projelerimle de aynı şeyi gördüm. Fakat hızdaki fark ne kadar büyükse?
Saniye cinsinden Fark
Çoğu proje için bu önemli değil. Projelerin çoğu küçük. Bir WordPress teması veya benzer bir şey oluştururken, üzerinde çalışmanız gereken dosya sayısı makul bir sınır dahilindedir. Stil sayfalarınızın 400ms veya 800ms olarak derlenmeleri önemli değil..
Ayrıca, çoğu proje olabilir En yoğun sorunlardan bazılarının ele alınamayacağı şekilde yapılandırılmış. 50 SASS dosyanız varsa, geliştirme sırasında bunları bir an önce birleştirebilirsiniz, bunları otomatik düzeltme veya küçültme gerekmez. Bir projeyi her kaydettiğinizde görüntüleri optimize etmeniz gerekmez..
Gerçekten büyük silahlara ihtiyaç duyduğunuzda bile, çalışmanızı aşamalandırma sunucusuna zorladığınızdan veya bir depoyu güncellerken, 5 saniyelik veya 9 saniyelik yerleşik bir zaman fark yaratır?
Her şeyden önce, Grunt yaklaşmakta olan 0.5 sürümünde borulara destek katacak ve bu da işleri önemli ölçüde hızlandıracak, bunu bir tartışma noktası haline getirecek..
Topluluk
Grunt, Gulp'tan çok daha uzun zamandır bu yüzden önemli bir kullanıcı tabanına sahip. Grunt şu anda günde ortalama 37.000 indirme alıyor, Gulp 23.000 puan civarında, bunun yarısından biraz fazlasını alıyor. Söyleniyor, Gulp sadece bir buçuk yıl civarında olmuştur, bu sayıyı en az söylemek için saygın hale getirmiştir.
Grunt'un şu anda 4000'den fazla eklentisi varken Gulp'ta 1200'den fazla eklenti var. Google’ın eğilimlerine göre daha fazla insan Grunt’la ilgili şeyler arıyor, bununla ilgilenen daha fazla forum ve genel olarak daha fazla topluluk desteği var.
Elbette Gulp yükseliyor ve geliyor, bu demek oluyor ki uzun vadede bile muhtemel. Ancak bu, bazı geliştiricilerin, özellikle Grunt tabanlı projelerde çalışanların önündeki bir engeldir..
Her ikisinin de topluluklarının olduğunu belirtmek isterim son derece güzel. Her toplumdaki liderler arasındaki ilişkinin şaşırtıcı olduğunu söyleyebilirim ve herkese bir örnek teşkil etmeli. Gulp'in yaratıcısı aslında hız testi karşılaştırmasının yazarına zaman farklarında bir azalmaya yol açan zamanlama doğruluğunu iyileştirmede yardım etti. Ben buna beyefendi derim.!
Kod Vs Yapılandırması
Görünüşe göre bu çoğu için devrilme noktası, ama dürüst olmak gerekirse, konuyu şahsen göremiyorum.
Argüman şöyle gider: Gulp buna iyi bir örnek Konfigürasyon biraz kafa karıştırıcı hale geldiğinde konfigürasyon kodları iyi bir şey olabilir. Diğer insanlar bunun doğru olduğunu ve Gulp’in daha kolay olduğunu söylüyor okumak, daha zor yazmak Çünkü borular biraz kafa karıştırıcı olabilir.
Ağırlık vermeden önce, ilk önce Grunt'ta, sonra Gulp'taki aynı örnek:
grunt.initConfig (sass: dist: files: [src: 'dev / *. scss', dest: '.tmp / styles', genişlet: true, ext: '.css'], autoprefixer : dist: files: [genişlet: doğru, cwd: '.tmp / styles', src: ', * / *. css', dest: 'css / styles'], izle: styles: files: ['dev / *. scss'], görevler: ['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');); );
Benim fikrim, gerçekten önemli değil. Elbette, ilk yöntemlere alışkınsanız, ikinciyi bulmak için biraz zaman harcamanız gerekebilir, ancak bu durum tam tersi de geçerlidir. Yani benim için “kafa karıştırıcı” argüman tamamen geçersiz. herhangi Öğrendiğin yeni yöntem ilk başta kafa karıştırıcı, ama eğer her birinin mantığını anlamak için zaman ayırırsanız, her şey biter.
Ben şahsen tercih ederim dedi Gulp'in API'si temiz olduğu içinve Grunt’tan daha fazla düşündüğüm tarzımı yansıtıyor. Bu elbette tamamen öznel ve Grunt ile ilgili bir sorun değil, bu benim kişisel tercihim..
Nasıl seçilir
Hem Grunt hem de Gulp'in harika araçlar olduğu ve insanların yıllar boyunca sayısız zamandan tasarruf etmelerine yardımcı olduğu gerçeğiyle ilgili herhangi bir soru olduğunu sanmıyorum. Grunt şimdilik biraz yavaş ama çok daha büyük bir topluma sahip. Gulp daha hızlı, daha temiz bir API'ye sahip, ancak kullanıcı tabanından yoksun.
Bence karar sonunda sonuçlanacak süreklilik, mevcut eklentiler ve tercih.
(1) Bir süredir Grunt / Gulp kullanıyorsanız ve sen onunla mutlu, geçmek için hiçbir sebep yok.
(2) Eğer projen eklentileri gerektirir Gulp tarafından sağlanmayan ve kendin yazmaya hazır olmayan, Grunt’a gitmen gerekecek..
(3) Yukarıdaki iki husus sizin için geçerli değilse, tercihinize inecektir. Her ikisini de denemeyi ve görmeyi öneririm hangisi seninle yapışıyor.
Dediğim gibi, Gulp kullanmayı seçtim çünkü daha temiz olan API'sini daha çok seviyorum ama bir proje isterse Grunt'u kullanmakta çok rahatım. Ne yapmalısın değil Bay Know-it-all’in Gulp’in daha iyi olduğunu ve kabul ettiğini söylediği okunur. Farklılıklar varken, kesin bir kazanan yok ve her iki proje de bir arada bulunabilir ve olacak. Onları deneyin ve kendi kararınızı verin.
Not: Ayrıca, kullanmanızı tavsiye eden Keith Cirkel (A Javascript danışmanı) gibi kullanıcıların görüşlerini de almak isteyebilirsiniz. ne. Neden Grunt & Gulp makalesini kullanmayı bırakmalıyız? Npm'yi kullanmanızı önerir..
Daha fazla okuma
Bu konuyla ilgili birçok başka mükemmel makale var. Daha fazla okumak için aşağıdakilerden herhangi birini yürekten tavsiye ederim; başkalarının söyleyeceklerini okumak asla acı vermez!
- Grunt vs Gulp - Rakamların Ötesinde (net örnekler için özel teşekkürler)
- Gulp, homurdanıyor, her neyse
- Seçin: Grunt, Gulp veya npm?
- Speedtesting Gulp ve Grunt
- Neden Grunt & Gulp’u kullanmayı bırakmalıyız?
- Savaşları İnşa Et (gezinmek için okları kullan)
- Grunt'a gerek yok, Gulp Fresh Air'a katıl.