it.hideout-lastation.com
Paradiso Per Designer E Sviluppatori


The Battle Of Build Scripts: Gulp Vs Grunt

Ho già scritto su come iniziare con Gulp e su come iniziare con Grunt. Entrambi automatizzano i nostri compiti, entrambi utilizzano il nodo e richiedono entrambi di creare attività e installare plugin di qualche tipo. Ma ti chiedi della differenza tra i due, o anche, che è meglio?

In questo articolo mi concentrerò principalmente sulle differenze tra questi due progetti, che possono essere utili per aiutarvi a decidere quale dei due si potrebbe ritenere migliore per se stessi. Userò del codice che potrebbe non essere familiare. Se lo è, suggerisco di leggere i due articoli precedentemente pubblicati prima di iniziare.

Altro su Hongkiat.com

  • Come iniziare con Gulp
  • Come iniziare con Grunt

Velocità

La principale differenza tra Gulp e Grunt sta nel modo in cui gestiscono i loro compiti di automazione all'interno . Gulp utilizza gli stream dei nodi mentre Grunt usa i file temporanei. Mettiamolo in chiaro inglese, vero?

Supponi di voler scrivere il codice SASS per il tuo progetto. Vorresti compilare il tuo codice SASS e quindi forse ridurlo.

Grunt gestisce questo usando file intermedi che sono operazioni di I / O su disco. Il tuo file SASS è compilato e quindi scritto in un file temporaneo. Il file temporaneo viene utilizzato dal prefisso autofilm e quindi il prodotto finale viene scritto nel file di destinazione.

Gulp si prende cura di tutto questo in-memory . Il tuo file SASS sorgente viene compilato, il risultato viene passato al prefisso-autoprefixer senza essere scritto su un file e il file di destinazione viene quindi scritto.

Rispetto alle operazioni in memoria, le scritture su disco sono lente, il che significa che Gulp ha un grande vantaggio in termini di velocità (per ora). Un confronto di velocità è stato fatto da tech.tmw che mostra che la maggior parte delle attività sono almeno due volte più veloci su Gulp. Anche se questo non è stato uno studio estremamente scientifico, la tendenza è lì e ho visto lo stesso con i miei progetti. Ma quanto è grande l'impatto della differenza di velocità?

Differenza in secondi

Per la maggior parte dei progetti questo non importa. La maggior parte dei progetti sono piccoli . Quando crei un tema WordPress o qualcosa di simile, il numero di file con cui devi lavorare è entro un limite ragionevole. Non importa se i tuoi fogli di stile sono compilati in 400ms o 800ms.

Inoltre, la maggior parte dei progetti può essere strutturata in modo tale che alcuni dei problemi più intensi possano essere aggirati . Se hai 50 file SASS puoi concatenarli altrettanto rapidamente mentre sono in sviluppo, non ci sarà bisogno di autoprefix o di minimizzarli. Non è necessario ottimizzare le immagini ogni volta che si salva un progetto e così via.

Anche quando hai davvero bisogno delle armi grandi perché stai spingendo il tuo lavoro su un server di staging o quando stai aggiornando un repository, un tempo costruito di 5 secondi o 9 secondi fa molta differenza?

Per completare il tutto, Grunt aggiungerà il supporto per il piping nella prossima versione 0.5 che aumenterà considerevolmente le cose, rendendo questo un punto controverso.

La comunità

Grunt è stato molto più a lungo di Gulp quindi ha una base di utenti significativa. Grunt riceve attualmente circa 37.000 download al giorno in media, Gulp ne guadagna un po 'più della metà, vicino ai 23.000. Detto questo, Gulp è stato in giro solo per un anno e mezzo, rendendo quel numero di tutto rispetto a dir poco.

Grunt ha attualmente oltre 4000 plugin mentre Gulp ha più di 1200 plugin. Secondo le tendenze di Google, sempre più persone cercano cose relative a Grunt, ci sono più forum che si occupano di esso e in genere un maggior sostegno da parte della comunità.

Ovviamente Gulp sta andando e sta arrivando, il che significa che probabilmente andrà a finire nel lungo periodo . Tuttavia, questo è un ostacolo per alcuni sviluppatori, specialmente quelli che lavorano su progetti basati su Grunt.

Vorrei sottolineare che le comunità per entrambi sono estremamente belle . Per quanto posso dire, la relazione tra i leader di ciascuna comunità è sorprendente e dovrebbe servire da esempio a tutti. Il creatore di Gulp ha effettivamente aiutato lo scrittore del confronto dei test di velocità a migliorare le precisioni temporali che portano a una diminuzione delle differenze di tempo. Questo è quello che chiamo un gentiluomo!

Configurazione del codice Vs

Apparentemente questo è il punto di svolta per molti, ma ad essere onesti, non riesco a vedere il problema qui personalmente.

L'argomento è simile al seguente: Gulp è un buon esempio del fatto che il codice sulla configurazione può essere una buona cosa quando la configurazione diventa un po 'confusa . Altre persone dicono che mentre questo è vero e Gulp è più facile da leggere, è più difficile da scrivere perché i piping possono essere un po 'confusi .

Prima di appesantire, ecco lo stesso esempio prima in Grunt, poi in Gulp:

 grunt.initConfig ({sass: {dist: {file: [{src: 'dev / *. scss', dest: '.tmp / styles', espandi: true, ext: '.css'}]}}, autoprefixer : {dist: {file: [{expand: true, cwd: '.tmp / styles', src: '{, * /} *. css', dest: 'css / styles'}]}}, guarda: { styles: {files: ['dev / *. scss'], tasks: ['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');});} ); 

La mia opinione è che non importa davvero. Certo, se sei abituato al primo modo potresti aver bisogno di passare un po 'di tempo a capire il secondo, ma questo è anche vero viceversa. Quindi per me, l'argomento "è confuso" è completamente invalido. Ogni nuovo metodo che apprendi all'inizio è confuso, ma se ti prendi il tempo per capire la logica di ognuno, tutto si uniforma.

Detto questo, personalmente preferisco l'API di Gulp perché è pulito e riflette il modo in cui penso più da vicino di Grunt. Questo è ovviamente completamente soggettivo e non è affatto un problema con Grunt, è solo una mia preferenza personale.

Come scegliere

Non penso ci sia alcuna domanda sul fatto che sia Grunt e Gulp siano grandi strumenti e hanno aiutato le persone a risparmiare innumerevoli ore di tempo nel corso degli anni. Grunt è un po 'più lento per ora, ma ha una comunità molto più grande. Gulp è più veloce, ha un'API più pulita, ma manca la base di utenti.

Penso che alla fine la decisione dipenderà dalla continuità, dai plugin disponibili e dalle preferenze .

(1) Se usi Grunt / Gulp da un po 'e ne sei felice, non c'è motivo di cambiare.

(2) Se il tuo progetto richiede plug-in non forniti da Gulp e non sei pronto a scriverne uno da solo, dovrai farlo con Grunt.

(3) Se le due considerazioni di cui sopra non si applicano a voi, arriverà alla preferenza. Suggerisco di provare entrambi e vedere quale si attacca con te .

Come ho detto, ho scelto di utilizzare Gulp perché mi piace la sua API più pulita, ma mi sento perfettamente a mio agio nell'utilizzare Grunt se un progetto lo richiede. Quello che non dovresti fare è leggere che Mr. Know-it-all ha detto che Gulp è migliore e lo accetta. Mentre ci sono differenze, non c'è un vincitore chiaro ed entrambi i progetti possono coesistere e coesisteranno . Provali e prendi una decisione.

Nota: potresti anche prendere in considerazione le opinioni di utenti come Keith Cirkel (un consulente Javascript) che ti consiglia di non usare nessuno dei due . Nella sua interessante Perchè dovremmo smettere di usare l'articolo di Grunt & Gulp, suggerisce di usare npm.

Ulteriori letture

Ci sono molti altri articoli eccellenti su questo argomento. Raccomanderei caldamente quanto segue per ulteriori letture; non fa mai male leggere ciò che gli altri hanno da dire!

  • Grunt vs Gulp - Beyond the Numbers (ringraziamenti speciali per gli esempi chiari)
  • Gulp, Grunt, Whatever
  • Scegli: Grunt, Gulp o npm?
  • Speedtesting Gulp and Grunt
  • Perché dovremmo smettere di usare Grunt & Gulp
  • Build Wars (usa le frecce per navigare)
  • Non c'è bisogno di Grunt, prendi un Sorso d'Aria Fresca

4 modi per possedere Bitcoin online nel 2017

4 modi per possedere Bitcoin online nel 2017

L'infrastruttura Bitcoin è cresciuta in modo significativo e oggi possedere alcuni Bitcoin può rivelarsi molto utile. A causa di ciò, alcuni rivenditori offrono sconti per gli acquisti effettuati con questa valuta digitale. Esistono anche piattaforme finanziarie ibride che combinano le valute digitali e tradizionali per creare conti bancari essenzialmente globali .Se

(Consigli tecnici e di design)

Come organizzare i segnalibri di Instagram in collezioni private

Come organizzare i segnalibri di Instagram in collezioni private

Verso la fine del 2016, Instagram ha dato ai suoi utenti la possibilità di aggiungere ai segnalibri i post fatti da altri per una visione successiva. Anche se la funzionalità stessa può rivelarsi utile per alcuni utenti, un problema che molti hanno con questa funzione è che raggruppa tutti i post con segnalibri nella sezione Salvato .Per

(Consigli tecnici e di design)