Početna » alat » Bitka za izgradnju skripti Gulp Vs Grunt

    Bitka za izgradnju skripti Gulp Vs Grunt

    Već sam pisao o tome kako započeti s Gulpom, kao i kako započeti s Gruntom. Oboje automatizirati naše zadatke, oboje koristite Node, i oboje zahtijevaju od vas stvoriti zadatke i instalirati dodatke neke vrste. Ali pitate li se za razliku između ta dva, ili čak, što je bolje?

    U ovom članku ću se usredotočiti uglavnom na razlike između ta dva projekta što vam može pomoći da odlučite koji od vas dvojice možete smatrati boljim za sebe. Koristit ću neki kod koji možda nije poznat. Ako jest, predlažem da pročitate dva prethodno objavljena članka prije nego što počnete.

    Više na Hongkiat.com

    • Kako započeti s Gulpom
    • Kako započeti s Gruntom

    Ubrzati

    Glavna razlika između Gulpa i Grunta je u tome kako se bave svojim zadacima automatizacije iznutra. Gulp koristi Node struje dok Grunt koristi privremene datoteke. Stavimo to na običan engleski?

    Pretpostavimo da želite napisati SASS kod za vaš projekt. Vi biste htjeli sastaviti vaš SASS kod i onda ga možda smanjiti.

    Grunt rukuje ovim korištenjem posredničke datoteke koje su disk / I operacije. Vaša SASS datoteka je kompilirana, a zatim zapisana u privremenu datoteku. Privremenu datoteku koristi autoprefixer, a konačni se proizvod upisuje u odredišnu datoteku.

    Gulp se brine o svemu tome u sjećanju. Vaša je izvorna SASS datoteka kompilirana, rezultat se prosljeđuje autoprefixeru bez zapisivanja u datoteku, a odredišna datoteka se zatim ispisuje.

    U usporedbi s operacijama u memoriji, zapisi diska su spori što znači da Gulp ima veliku prednost u brzini (zasad). Usporedba brzine je učinjena od strane tech.tmw koja pokazuje da je većina zadataka najmanje dva puta brža na Gulpu. Iako to nije bilo jako znanstveno proučavanje, tu je tendencija i ja sam isto vidio s vlastitim projektima. Ali koliki je utjecaj na razliku u brzini?

    Razlika u sekundama

    Za većinu projekata to neće biti važno. Većina projekata je mala. Kada stvarate WordPress temu ili nešto slično, broj datoteka s kojima trebate raditi je unutar razumnog ograničenja. To stvarno nije važno ako su vaši stilovi sastavljeni u 400ms ili 800ms.

    Nadalje, većina projekata može biti strukturirani na takav način da se neka od najintenzivnijih pitanja mogu izbjeći. Ako imate 50 SASS datoteka, možete ih jednako brzo spojiti dok ste u razvoju, nećete ih morati autoprefiksirati ili smanjiti. Nećete morati optimizirati slike svaki put kada spremite projekt, i tako dalje.

    Čak i kada su vam potrebni veliki pištolji zato što radite na poslužitelju ili kad ažurirate spremište, izgrađeno vrijeme od 5 sekundi ili 9 sekundi čini veliku razliku?

    Na vrhu svega, Grunt će dodati podršku za cijevi u nadolazećem 0.5 izdanju koje će znatno ubrzati stvari, čineći ovo spornom točkom..

    Zajednica

    Grunt je bio mnogo duži od Gulpa pa ima značajnu korisničku bazu. Grunt trenutno prima oko 37.000 preuzimanja dnevno u prosjeku, Gulp dobiva nešto više od pola od toga, blizu 23.000 maraka. S obzirom na to, Gulp je tu tek godinu i pol, što je taj broj učinio najmanje vrijednim.

    Grunt trenutno ima preko 4000 dodataka, a Gulp ima više od 1200 dodataka. Prema Google trendovima više ljudi traži Grunt srodne stvari, postoji više foruma koji se bave time i općenito više podrške zajednici.

    Naravno Gulp je gore i dolazi što znači da je ovo vjerojatnost da će se dugoročno izravnati. Međutim, to je prepreka za neke programere, osobito one koji rade na projektima koji se temelje na Gruntu.

    Želio bih istaknuti da su zajednice za obje osobe izuzetno lijepo. Koliko ja znam, odnos između vođa u svakoj zajednici je nevjerojatan i trebao bi poslužiti kao primjer svima. Tvorac Gulpa je zapravo pomogao piscu usporedbe brzine testa poboljšati točnost vremena koja dovodi do smanjenja vremenskih razlika. To ja zovem gospodin!

    Konfiguracija koda vs

    Očigledno je to prekretnica za mnoge, ali da budem iskrena, ne vidim tu problem osobno.

    Argument glasi ovako: Gulp je dobar primjer Kod preko konfiguracije može biti dobra stvar kada konfiguracija postane pomalo zbunjujuća. Drugi ljudi kažu da je to istina, a Gulpu je lakše čitati, to je teže pisati jer cijevi mogu biti pomalo zbunjujuće.

    Prije nego što udebljam, evo prvog primjera u Gruntu, a zatim u Gulpu:

     grunt.initConfig (sass: dist: files: [src: 'dev / * .sssss', dest: '.tmp / styles', expand: true, ext: '.css'], autoprefixer : dist: files: [expand: true, cwd: '.tmp / styles', src: ', * / *. css', odredište: 'css / styles'], gledajte:  stilovi: datoteke: ['dev / *. scss'], zadaci: ['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', funkcija () gulp.run ('sass'); gulp.watch ('dev / *. scss', funkcija () gulp.run ('sass');); ); 

    Moje je mišljenje da to zapravo nije važno. Naravno, ako ste navikli na prvi način, možda ćete morati provesti neko vrijeme, ali to je točno i obrnuto. Tako za mene “to je zbunjujuće” argument je potpuno nevažeći. bilo koji nova metoda koju ste naučili je u početku zbunjujuća, ali ako uzmete vremena da shvatite logiku svakog od njih, sve se izjednačava.

    To sam rekao, ja osobno više volim Gulpov API jer je čister, i odražava način na koji ja mislim bolje od Grunta. Ovo je naravno potpuno subjektivno i uopće nije problem s Gruntom, to je samo moja osobna preferencija.

    Kako odabrati

    Ne mislim da postoji bilo kakvo pitanje o činjenici da su i Grunt i Gulp odlični alati i pomogli su ljudima uštedjeti bezbroj sati vremena tijekom godina. Grunt je za sada malo sporiji, ali ima mnogo veću zajednicu. Gulp je brži, ima čišći API, ali mu nedostaje korisnička baza.

    Mislim da će se odluka na kraju svesti na kontinuitet, dostupni dodaci i prednost.

    (1) Ako već neko vrijeme koristite Grunt / Gulp sretni ste s tim, nema razloga za promjenu.

    (2) Ako je vaš projekt zahtijeva dodatke koje ne daje Gulp, a vi niste spremni sami pisati, morat ćete otići s Gruntom.

    (3) Ako se gore navedena dva stajališta ne odnose na vas, ona će se svesti na preferencije. Predlažem da isprobate i jedno i drugo koji se drži s tobom.

    Kao što sam rekao, odlučio sam koristiti Gulp jer mi je njegov čistiji API bolji ali mi je savršeno udobno koristiti Grunt ako projekt to zahtijeva. Što biste trebali ne Čitajte da je g. Know-it-all rekao da je Gulp bolji i prihvatiti ga. Iako postoje razlike, nema jasnog pobjednika oba projekta mogu i hoće koegzistirati. Isprobajte ih i izmislite svoj um.

    Napomena: možda ćete htjeti razmotriti mišljenja korisnika kao što je Keith Cirkel (savjetnik za Javascript) koji vam savjetuje da koristite ni. U svom zanimljivom Zašto bi trebali prestati koristiti Grunt & Gulp članak, on predlaže korištenje npm.

    Daljnje čitanje

    Ima mnogo drugih izvrsnih članaka o ovoj temi. Srdačno bih preporučio bilo što od sljedećeg za daljnje čitanje; Nikad ne boli čitati ono što drugi imaju za reći!

    • Grunt vs Gulp - izvan brojeva (posebno hvala za jasne primjere)
    • Gulp, Grunt, svejedno
    • Odaberite: Grunt, Gulp ili npm?
    • Brzo testiranje Gulpa i Grunta
    • Zašto bismo trebali prestati koristiti Grunt & Gulp
    • Izgradite ratove (koristite strelice za navigaciju)
    • Nema potrebe za Grunt, uzmi Gulp svježeg zraka