BT

Gulp cherche à détrôner Grunt

par João Paulo Marques , traduit par Nicolas André le 26 févr. 2014 |

La société Fractal qui a été très impliquée dans le développement de plusieurs modules Node.js très appréciés, vient de publier récemment gulp, un nouveau système de build qui essaye de remplacer Grunt comme task-runner Javascript le plus populaire.

D'après la documentation de gulp, cet outil cherche à couvrir les principales caractéristiques suivantes :

  • Simplicité d'utilisation : en préférant le code plutôt que la configuration, gulp garde les choses simples facile à réaliser et rend les tâches complexes abordables.
  • Efficacité : en exploitant la puissance des flux de node, vous obtenez des builds rapides qui n'écrivent pas les fichiers intermédiaires sur le disque.
  • Haute Qualité : les lignes directrices strictes de gulp assurent que les plugins restent simples et qu'ils fonctionnent comme vous l'attendez.
  • Simplicité d'apprentissage : grâce à une API réduite, vous pouvez apprendre gulp en peu de temps. Vos builds fonctionnent exactement comment vous l'imaginez : une suite de pipes de streaming.

Gulp tente de simplifier l'écriture des tâches en utilisant des flux et du code plutôt que de la configuration, c'est une approche qui peut être vue comme l'approche "jQuery" pour chainer des actions et créer des tâches de build. Les flux ont toujours été d'actualité depuis les premiers jours d'UNIX et sont une partie très importante de l'écosystème de Node.js, écrire pour gulp peut être ainsi considéré comme écrire pour Node.js. Tout en utilisant les flux, gulp se débarrasse des fichiers intermédiaires et seul le flux final est écrit sur le disque, ce qui rend tout le processus plus rapide. En préférant le code plutôt que la configuration, gulp garde les choses simples facile à réaliser et rend les tâches complexes abordables.

Comme n'importe quel système de gestion de tâches, chaque tâche peut être considérée comme une simple unité de travail.


var gulp = require('gulp'); 
var uglify = require('gulp-uglify');

gulp.task('scripts', function() {   
    return gulp
    .src(['src/js/**/*.js'])
    .pipe(uglify())
    .pipe(gulp.dest('build/js'));     
});

Ou avoir des dépendances vers d'autres tâches :


gulp.task('default-task', function(){
    gulp.run('scripts'); 
    // watch files and run scripts if they change 
    gulp.watch("./src/**/*.js", function(event { 
        gulp.run('scripts'); 
    });
);

En plus d'être plus verbeux, des réclamations au sujet de Grunt, soulignent que beaucoup de plugins font plus qu'ils ne devraient. Dans un blog, Mark Goodyear présente l'exemple de l'imagemin de Grunt, qui non seulement compresse les images mais utilise également la mise en cache. Selon lui, avec gulp la gestion du cache est un plugin complémentaire qui peut être utilisé par d'autres plugins, ce qui favorise la réutilisation.

Si on regarde l'activité du référentiel de code de gulp et le nombre de stargazers sur github, on peut voir que ce système de build commence à décoller. Il a déjà reçu beaucoup d'intérêts de la communauté JavaScript : Addy Osmani, le principal développeur de Yeoman, a enregistré une demande pour que l'équipe de Yeoman envisage gulp comme le remplaçant du système de build actuel. Sindre Sorhus, qui fait partie de l'équipe de Yeoman et principal contributeur de NPM, a écrit un blog sur gulp et il l'a référencé sur Twitter comme "Pensé comme Grunt, mais plus rapide et avec moins de configuration".

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT