Bitka o vytváranie skriptov Gulp Vs Grunt
Už som napísal o tom, ako začať s Gulpom, ako aj ako začať s Gruntom. Obaja automatizovať naše úlohy, obaja použite Uzol, a obaja vás vyžadujú vytvárať úlohy a inštalovať doplnky nejakého druhu. Ale zaujímate sa o rozdiel medzi týmito dvoma, alebo dokonca, čo je lepšie?
V tomto článku sa budem sústreďovať hlavne na rozdiely medzi týmito dvoma projektmi čo môže pomôcť vám rozhodnúť, ktorý z dvoch môžete považovať za lepšie pre seba. Budem používať nejaký kód, ktorý môže byť neznámy. Ak je to tak, predtým, než začnete, navrhujem čítanie dvoch predtým publikovaných článkov.
Viac na Hongkiat.com
- Ako začať s Gulpom
- Ako začať s Gruntom
rýchlosť
Hlavný rozdiel medzi Gulp a Grunt leží v ako sa zaoberajú svojimi automatizačnými úlohami vo vnútri. Gulp používa toky uzlov, zatiaľ čo Grunt používa dočasné súbory. Dajme to do obyčajnej angličtiny, či my?
Predpokladajme, že by ste chceli napísať kód SASS pre váš projekt. Chcel by si zostaviť kód SASS a potom ho skrátiť.
Grunt to zvládne sprostredkovateľské súbory ktoré sú operácie disku I / O. Váš súbor SASS je zostavený a potom napísaný do dočasného súboru. Dočasný súbor používa nástroj autoprefixer a potom sa konečný produkt zapíše do cieľového súboru.
Gulp sa o to postará v pamäti. Váš zdrojový súbor SASS je kompilovaný, výsledok je odovzdaný autoprefixeru bez toho, aby bol zapísaný do súboru a cieľový súbor je potom vypísaný.
V porovnaní s operáciami v pamäti sú zápisy na disku pomalé, čo znamená, že Gulp má veľkú rýchlostnú výhodu (na Teraz). Porovnanie rýchlosti bolo vykonané techn.tmw, čo ukazuje, že väčšina úloh je na Gulpu aspoň dvakrát rýchlejšia. Hoci to nebolo veľa vedeckej štúdie, tendencia je tam a ja som videl rovnako s mojimi vlastnými projektmi. Ale ako veľký dopad je rozdiel v rýchlosti?
Rozdiel za sekundu
Pre väčšinu projektov to nezáleží. Väčšina projektov je malá. Pri vytváraní témy WordPress alebo podobne počet súborov, s ktorými potrebujete pracovať, je v rozumnom limite. Naozaj nezáleží na tom, či vaše štýly sú kompilované v 400ms alebo 800ms.
Okrem toho môže byť väčšina projektov štruktúrované tak, aby sa mohli vyhnúť niektoré z najintenzívnejších otázok. Ak máte 50 SASS súborov, môžete ich tak rýchlo zreťaziť počas vývoja, nebude potrebné ich autoprefixovať ani ich minimalizovať. Nebudete musieť optimalizovať obrázky pri každom ukladaní projektu a tak ďalej.
Dokonca aj keď naozaj potrebujete veľké zbrane, pretože tlačíte svoju prácu na staging server alebo keď aktualizujete úložisko, stavaný čas 5 sekúnd alebo 9 sekúnd má veľký rozdiel?
Na začiatok to všetko, Grunt pridá podporu pre potrubie v nadchádzajúcej 0,5 vydanie, čo urýchli veci, výrazne, čo je bod.
Komunita
Grunt bol oveľa dlhší ako Gulp, takže má významnú užívateľskú základňu. Grunt v súčasnosti dostáva priemerne približne 37 000 stiahnutí za deň, Gulp je o niečo viac ako polovica, čo je takmer 23 000 známok. Hovorí sa, že Gulp je už len rok a pol, a to, že je to najmenšie.
Grunt má v súčasnosti viac ako 4000 pluginov, zatiaľ čo Gulp má viac ako 1200 pluginov. Podľa trendov Google viac ľudí vyhľadáva Grunt súvisiace veci, existuje viac fór, ktoré sa s ňou zaoberajú a všeobecne viac komunitnej podpory.
Samozrejme, že Gulp je a prichádza, čo znamená, že to je pravdepodobne v dlhodobom horizonte vyrovná. Je to však bariéra pre niektorých vývojárov, najmä tých, ktorí pracujú na projektoch Grunt.
Chcel by som poukázať na to, že komunity sú pre obe strany veľmi pekné. Pokiaľ môžem povedať, že vzťah medzi vodcami v každej komunite je úžasný a mal by byť príkladom pre všetkých. Tvorca Gulpu skutočne pomohol spisovateľovi porovnávania rýchlostných testov zlepšiť časovú presnosť, ktorá vedie k poklesu časových rozdielov. To je to, čo nazývam pánovi!
Konfigurácia kódu Vs
Zdá sa, že to je bod pre mnohých, ale aby som bol úprimný, osobne to tu osobne nevidím.
Argument vychádza takto: Gulp je dobrým príkladom toho kód cez konfiguráciu môže byť dobrá vec, keď konfigurácia dostane trochu mätúce. Iní ľudia hovoria, že zatiaľ čo je to pravda a Gulp je ľahšie prečítať, je to ťažšie zapísať pretože potrubie môže byť trochu mätúce.
Predtým, než začnem, tu je ten istý príklad ako prvý v Grunt, potom v Gulp:
grunt.initConfig (sass: dist: súbory: src: 'dev / * .sss', dest: '.tmp / styles', expand: true, ext: '.css'], autoprefixer : : rozložiť: true, cwd: '.tmp / styles', src: ', * / * .css', dest: 'css / styles' štýly: súbory: ['dev / *. scss'], úlohy: ['sass: dist', 'autoprefixer: dist']); grunt.registerTask ('default', ['styles', 'watch']);
gulp.task ('sass', funkcia () gulp.src ('dev / *. scss') .pipe (sass ()) .pipe (autoprefixer) ));); gulp.task ('default', funkcia () gulp.run ('sass'); gulp.watch ('dev / *. );
Môj názor je, že na tom naozaj nezáleží. Iste, ak ste zvyknutí na prvý spôsob, možno budete musieť stráviť nejaký čas zistiť druhý, ale to je pravda aj naopak. Takže pre mňa “je to mätúce” argument je úplne neplatný. akýkoľvek nová metóda, ktorú sa naučíte, je najprv nejasná, ale ak si vezmete čas na pochopenie logiky každého, všetko sa vyrovná.
To znamená, že ja osobne preferujem Gulp API, pretože je čistýa to odráža spôsob, akým myslím viac ako Grunt. To je samozrejme úplne subjektívny a nie je problém s Gruntom, je to len moje osobné preferencie.
Ako si vybrať
Nemyslím si, že je tu nejaká otázka o tom, že Grunt a Gulp sú skvelé nástroje a pomohli ľuďom ušetriť nespočetné množstvo času v priebehu rokov. Grunt je teraz trochu pomalší, ale má oveľa väčšiu komunitu. Gulp je rýchlejší, má čistejšie API, ale chýba užívateľská základňa.
Myslím, že rozhodnutie sa nakoniec skončí kontinuita, dostupné pluginy a prednosť.
(1) Ak už dlho používate Grunt / Gulp a ste s ňou spokojní, nie je dôvod na prepínanie.
(2) Ak váš projekt vyžaduje doplnky ktoré Gulp neposkytuje a nie ste pripravený písať sami, budete potrebovať ísť s Gruntom.
(3) Ak sa tieto dve úvahy nevzťahujú na vás, znižuje sa prednosť. Navrhujem vyskúšať oboje a vidieť ktoré sa s tebou drží.
Ako som povedal, rozhodol som sa používať Gulp, pretože sa mi páči jeho čistejší API lepšie, ale ja som dokonale spokojný s použitím Grunt, ak ho projekt zavolá. Čo by ste mali nie je to, že pán Know-it-all povedal, že Gulp je lepší a akceptuje to. Zatiaľ čo existujú rozdiely, nie je jasný víťaz a oba projekty môžu a budú existovať spoločne. Vyskúšajte ich a pripravte si svoju myseľ.
Poznámka: Možno budete chcieť zvážiť aj názory užívateľov ako Keith Cirkel (konzultant Javascript), ktorý Vám odporúča používať ani. V jeho zaujímavom Prečo by sme mali prestať používať článok Grunt & Gulp, navrhuje použitie npm.
Ďalšie čítanie
Existuje mnoho ďalších vynikajúcich článkov o tejto téme. Srdečne odporúčam niektoré z nasledujúcich otázok na ďalšie čítanie. to nikdy neubližuje čítať to, čo ostatní majú povedať!
- Grunt vs Gulp - Za číslami (zvláštne vďaky za jasné príklady)
- Gulp, Grunt, čokoľvek
- Vyberte: Grunt, Gulp alebo npm?
- Speedtesting Gulp a Grunt
- Prečo by sme mali prestať používať Grunt & Gulp
- Build Wars (použiť šípky na navigáciu)
- Nie je potrebné Grunt, vziať Gulp čerstvého vzduchu