Slaget ved å bygge skript: Gulp Vs Grunt
Jeg har allerede skrevet om hvordan du kommer i gang med Gulp, samt hvordan du kommer i gang med Grunt. De automatiserer begge oppgavene våre, de bruker begge Node, og begge krever at du lager oppgaver og installerer plugins av noe slag. Men lurer du på forskjellen mellom de to, eller enda, som er bedre?
I denne artikkelen vil jeg først og fremst fokusere på forskjellene mellom disse to prosjektene, noe som kan bidra til å bestemme hvilken av de to du kanskje anser bedre for deg selv. Jeg vil bruke noen kode som kan være ukjent. Hvis det er, foreslår jeg å lese gjennom de to tidligere publiserte artiklene før du kommer i gang.
Mer på Hongkiat.com
- Hvordan komme i gang med Gulp
- Hvordan komme i gang med Grunt
Hastighet
Hovedforskjellen mellom Gulp og Grunt ligger i hvordan de håndterer sine automatiseringsoppgaver på innsiden . Gulp bruker Node-strømmer mens Grunt bruker tempfiler. La oss sette det inn i ren engelsk, skal vi?
Anta at du vil skrive SASS-kode for prosjektet ditt. Du vil ønske å kompilere SASS-koden og kanskje kanskje redusere den.
Grunt håndterer dette ved hjelp av mellomliggende filer som er disk-I / O-operasjoner. Din SASS-fil er kompilert og deretter skrevet til en midlertidig fil. Den midlertidige filen brukes av autoprefixeren, og sluttproduktet er skrevet til destinasjonsfilen.
Gulp tar vare på alt dette i minnet . Din kilde SASS-fil er kompilert, resultatet blir sendt til autoprefixeren uten å bli skrevet til en fil og destinasjonsfilen skrives deretter ut.
Sammenlignet med minnefunksjoner, skriver disken sakte, noe som betyr at Gulp har en stor fordel (for nå). En fartssammenligning ble utført av tech.tmw som viser at de fleste oppgaver er minst dobbelt så fort på Gulp. Mens dette ikke var en enorm vitenskapelig studie, er tendensen der, og jeg har sett det samme med mine egne prosjekter. Men hvor stor påvirkning er forskjellen i fart?
Forskjell i sekunder
For de fleste prosjekter er det ingen betydning. De fleste prosjekter er små . Når du lager et WordPress-tema eller noe lignende, må antall filer du trenger å jobbe med, ligge innenfor en rimelig grense. Det spiller ingen rolle om stilarkene dine er samlet i 400ms eller 800ms.
Videre kan de fleste prosjekter struktureres på en slik måte at noen av de mest intensive problemene kan sidestappes . Hvis du har 50 SASS-filer, kan du like kort sammenfatte dem mens du er i utvikling, det er ikke nødvendig å autoprefix eller redusere dem. Du trenger ikke å optimalisere bilder hver gang du lagrer et prosjekt, og så videre.
Selv når du virkelig trenger de store våpenene fordi du skyver arbeidet på en oppstartsserver eller når du oppdaterer et lager, gjør en innebygd tid på 5 sekunder eller 9 sekunder mye av en forskjell?
På toppen av alt, vil Grunt legge til støtte for rør i den kommende 0, 5-utgivelsen, noe som vil øke hastighetene raskt, noe som gjør dette til et høydepunkt.
Samfunnet
Grunt har eksistert mye lenger enn Gulp, så det har en betydelig brukerbase. Grunt mottar i dag omtrent 37 000 nedlastinger per dag i gjennomsnitt, Gulp blir litt mer enn halvparten, nær 23 000 mark. Når det er sagt, har Gulp bare eksistert i et og et halvt år, noe som gjør at nummeret respektabelt er minst sagt.
Grunt har for øyeblikket over 4000 plugins, mens Gulp har mer enn 1200 plugins. Ifølge Google-trender søker flere personer etter Grunt-relaterte ting, det er flere fora som omhandler det og generelt mer fellesskapsstøtte.
Selvfølgelig er Gulp opp og kommer, noe som betyr at dette sannsynligvis vil utjevne i det lange løp . Dette er imidlertid en barriere for noen utviklere, spesielt de som jobber med Grunt-baserte prosjekter.
Jeg vil påpeke at samfunnene for begge er veldig hyggelige . Så langt jeg kan fortelle forholdet mellom lederne i hvert samfunn er fantastisk, og bør tjene som et eksempel for alle. Skaperen av Gulp faktisk hjalp forfatteren av hastighetstest sammenligningen forbedre timing nøyaktighet som fører til en reduksjon i tidsforskjeller. Det er det jeg kaller en gentleman!
Kode Vs-konfigurasjon
Tilsynelatende er dette tipping point for mange, men for å være ærlig, kan jeg ikke se problemet her personlig.
Argumentet går slik: Gulp er et godt eksempel på at kode over konfigurasjon kan være en god ting når konfigurasjonen blir litt forvirrende . Andre sier at mens dette er sant og Gulp er lettere å lese, er det vanskeligere å skrive fordi rør kan være litt forvirrende .
Før jeg legger inn, er det samme eksempel først i Grunt, så i Gulp:
grunt.initConfig ({sass: {dist: {files: [{src: 'dev / * .scss', dest: '.tmp / stiler', utvid: true, ext: '.css'}]}}, autoprefixer : {dist: {files: [{expand: true, cwd: '.tmp / stiler', src: '{, * /} *. css', dest: 'css / styles'}]}} stiler: {files: ['dev / * .scss'], oppgaver: ['sass: dist', 'autoprefixer: dist']}}}); grunt.registerTask ('standard', ['stiler', 'watch']);
gulp.task ('sass', funksjon () {gulp.src ('dev / * .scss') .pipe (sass ()) .pipe (autoprefixer ()) .pipe (gulp.dest ('css / styles' ));}); gulp.task ('default', funksjon () {gulp.run ('sass'); gulp.watch ('dev / * .scss', funksjon () {gulp.run ('sass');});} );
Min mening er at det egentlig ikke betyr noe. Jo, hvis du er vant til den første måten, må du kanskje bruke litt tid på å finne ut det andre, men dette er sant omvendt også. Så for meg er "det forvirrende" argumentet helt ugyldig. Enhver ny metode du lærer er forvirrende i begynnelsen, men hvis du tar deg tid til å forstå logikken til hver, så går det ut.
Når det er sagt, foretrekker jeg personlig Gulps API fordi den er ren, og den reflekterer måten jeg tenker nærmere på enn Grunt. Dette er selvsagt helt subjektiv og er ikke et problem med Grunt i det hele tatt, det er bare min personlige preferanse.
Hvordan velge
Jeg tror ikke det er noen spørsmål om at både Grunt og Gulp er gode verktøy og har hjulpet folk med å spare utallige timer over tidene. Grunt er litt tregere for nå, men har et mye større fellesskap. Gulp er raskere, har en renere API, men mangler brukerbasen.
Jeg tror at beslutningen til slutt kommer ned til kontinuitet, tilgjengelige plugins og preferanser .
(1) Hvis du har brukt Grunt / Gulp for en stund nå, og du er fornøyd med det, er det ingen grunn til å bytte.
(2) Hvis prosjektet krever plugins som ikke er levert av Gulp, og du ikke er villig til å skrive en selv, må du gå med Grunt.
(3) Hvis ovennevnte to overvägelser ikke gjelder for deg, vil det komme ned til preferanse. Jeg foreslår at du prøver begge deler og ser hvilken som stikker med deg .
Som jeg sa, valgte jeg å bruke Gulp fordi jeg liker sin renere API bedre, men jeg er helt komfortabel med å bruke Grunt hvis et prosjekt krever det. Hva du ikke bør gjøre er å lese at Mr. Know-it-all sa at Gulp er bedre og aksepterer det. Selv om det er forskjeller, er det ingen klar vinner, og begge prosjekter kan, og vil, eksistere sammen . Prøv dem og sett opp ditt eget sinn.
Merk: Du vil kanskje også vurdere meninger fra brukere som Keith Cirkel (En Javascript-konsulent) som anbefaler deg å bruke verken . I hans interessante Hvorfor bør vi slutte å bruke Grunt & Gulp-artikkelen, foreslår han at han bruker npm.
Videre lesning
Det er mange andre gode artikler om dette emnet. Jeg vil hjertelig anbefale noen av følgende for videre lesing; det gjør aldri vondt for å lese hva andre har å si!
- Grunt vs Gulp - Beyond the Numbers (spesiell takk for de klare eksemplene)
- Gulp, Grunt, uansett
- Velg: Grunt, Gulp eller npm?
- Speedtesting Gulp and Grunt
- Hvorfor bør vi slutte å bruke Grunt & Gulp
- Bygg krig (bruk pilene for å navigere)
- Du trenger ikke å Grunt, ta en glede av frisk luft
Lær deg CSS Flexbox med Flexbox Froggy Game
Tidligere har vi glanset over flexbox og grunnleggende om hvordan det fungerer. Men å bruke flexbox til arbeidsflyten din kan være utfordrende fordi det er et komplisert tillegg til CSS-spesifikasjonen.Med Flexbox Froggy kan du lære alt det grunnleggende om flexbox med et morsomt webspill med frosker og lilypads . J
Topp 9 Apps til Batch Installer og avinstaller Windows Apps
Installere og avinstallere programmer en om gangen er en nødvendig prosess, spesielt med en ny Windows-versjon installert. Men prosessen med å gjøre det en om gangen er også utrolig kjedelig og irriterende - men igjen, viktig.En måte å kringgå denne prosessen er å installere eller avinstallere batcher av apper på en gang. Batchin