no.hideout-lastation.com
Paradis For Designere Og Utviklere


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

Tesseract.js bringer bilde OCR-oversettelse til nettlesere

Tesseract.js bringer bilde OCR-oversettelse til nettlesere

OCR-oversettelsen er fortsatt ikke perfekt, men den har forbedret seg dramatisk de siste årene. Forresten er Tesseract- oversetteren for tiden åpen i C ++ .Selv om dette er et utrolig bibliotek, er det imidlertid begrenset til programvare. Heldigvis gjorde noen en havn av Tesseract til JavaScript som heter Tesseract.j

(Tekniske og design tips)

10 DIY-sett og moduler for å eksperimentere med elektronikk

10 DIY-sett og moduler for å eksperimentere med elektronikk

Gjør det selv-elektronikk pleide å være domenet til den super geeky, men i de siste årene har ting virkelig endret seg. Platformer og datamaskiner som Arduino og Raspberry Pi har gitt opphav til en helt ny produsentkultur, og det er nå enklere enn noensinne å begynne å eksperimentere med, lære og bygge DIY elektronikkprosjekter . Fra Ar

(Tekniske og design tips)