Αρχική σελίδα » Εργαλειοθήκη » Η μάχη της κατασκευής σεναρίων Gulp Vs Grunt

    Η μάχη της κατασκευής σεναρίων Gulp Vs Grunt

    Έχω ήδη γράψει για το πώς να ξεκινήσετε με το Gulp καθώς και πώς να ξεκινήσετε με την Grunt. Και οι δύο αυτοματοποιούν τις εργασίες μας, και οι δύο χρησιμοποιήστε τον κόμβο, και και οι δύο σας απαιτούν να δημιουργήσετε εργασίες και να εγκαταστήσετε πρόσθετα κάποιου είδους. Αλλά αναρωτιέστε για τη διαφορά μεταξύ των δύο, ή ακόμα και, η οποία είναι καλύτερη?

    Σε αυτό το άρθρο θα επικεντρωθώ κυρίως σε τις διαφορές μεταξύ αυτών των δύο έργων η οποία μπορεί να σας βοηθήσει να αποφασίσετε ποιο από τα δύο μπορείτε να θεωρήσετε καλύτερα για τον εαυτό σας. Θα χρησιμοποιήσω κάποιο κωδικό που μπορεί να είναι άγνωστος. Αν ναι, σας προτείνω να διαβάσετε τα δύο προηγούμενα δημοσιευμένα άρθρα προτού ξεκινήσετε.

    Περισσότερα για το Hongkiat.com

    • Πώς να ξεκινήσετε με το Gulp
    • Πώς να ξεκινήσετε με την Grunt

    Ταχύτητα

    Η κύρια διαφορά μεταξύ Gulp και Grunt βρίσκεται στο πώς χειρίζονται τα καθήκοντά τους αυτοματισμού στο εσωτερικό. Ο Gulp χρησιμοποιεί ροές κόμβων ενώ ο Grunt χρησιμοποιεί αρχεία temp. Ας το βάλουμε σε απλό αγγλικό, θα το κάνουμε?

    Ας υποθέσουμε ότι θα θέλατε να γράψετε κώδικα SASS για το έργο σας. Θα θελήσετε να μεταγλωττίσετε τον κώδικα SASS και, στη συνέχεια, ίσως να το διαγράψετε.

    Το Grunt χειρίζεται αυτό χρησιμοποιώντας ενδιάμεσα αρχεία οι οποίες είναι λειτουργίες δίσκου I / O. Το αρχείο SASS σας μεταγλωττίζεται και στη συνέχεια γράφεται σε ένα προσωρινό αρχείο. Το προσωρινό αρχείο χρησιμοποιείται από το autoprefixer και στη συνέχεια το τελικό προϊόν εγγράφεται στο αρχείο προορισμού.

    Ο Γκούλπ φροντίζει όλα αυτά εις μνήμην. Το αρχείο SASS της πηγής σας μεταγλωττίζεται, το αποτέλεσμα μεταδίδεται στο autoprefixer χωρίς να είναι γραμμένο σε ένα αρχείο και τότε το αρχείο προορισμού είναι γραμμένο.

    Σε σύγκριση με τις λειτουργίες της μνήμης, οι δίσκοι είναι αργές που σημαίνει ότι Το Gulp έχει ένα μεγάλο πλεονέκτημα ταχύτητας (προς το παρόν). Μια σύγκριση ταχύτητας έγινε από το tech.tmw το οποίο δείχνει ότι τα περισσότερα καθήκοντα είναι τουλάχιστον δύο φορές πιο γρήγορα στο Gulp. Ενώ αυτό δεν ήταν μια τεράστια επιστημονική μελέτη η τάση είναι εκεί και έχω δει τα ίδια με τα δικά μου έργα. Αλλά πόσο μεγάλη είναι η διαφορά στην ταχύτητα?

    Διαφορά σε δευτερόλεπτα

    Για τα περισσότερα έργα αυτό δεν έχει σημασία. Τα περισσότερα έργα είναι μικρά. Όταν δημιουργείτε ένα θέμα WordPress ή κάτι παρόμοιο ο αριθμός των αρχείων που πρέπει να εργαστείτε είναι μέσα σε ένα λογικό όριο. Δεν έχει σημασία αν τα φύλλα στυλ σας είναι συγκεντρωμένα σε 400ms ή 800ms.

    Επιπλέον, τα περισσότερα έργα μπορεί να είναι διαρθρωμένη κατά τρόπον ώστε ορισμένα από τα πιο εντατικά ζητήματα να παραβιαστούν. Αν έχετε 50 αρχεία SASS, μπορείτε να τα ενώσετε ταυτόχρονα με την ανάπτυξη, δεν θα χρειαστεί να τα διορθώσετε ή να τα διαγράψετε. Δεν θα χρειαστεί να βελτιστοποιήσετε τις εικόνες κάθε φορά που αποθηκεύετε ένα έργο και ούτω καθεξής.

    Ακόμη και όταν πραγματικά χρειάζεστε τα μεγάλα πυροβόλα όπλα επειδή πιέζετε την εργασία σας σε ένα διακομιστή σταδιοδρομίας ή όταν ενημερώνετε ένα αποθετήριο, ο κατασκευασμένος χρόνος των 5 δευτερολέπτων ή των 9 δευτερολέπτων κάνει μεγάλη διαφορά?

    Για να το ξεπεράσει όλα, ο Grunt θα προσθέσει στήριξη για σωληνώσεις στην επερχόμενη έκδοση 0.5, η οποία θα επιταχύνει σημαντικά τα πράγματα, κάνοντας αυτό το σημείο αναφοράς.

    Η κοινότητα

    Ο Grunt ήταν πολύ περισσότερο από τον Gulp, οπότε έχει μια σημαντική βάση χρηστών. Ο Grunt λαμβάνει σήμερα περίπου 37.000 λήψεις ημερησίως κατά μέσο όρο, ο Gulp παίρνει λίγο περισσότερο από το μισό από αυτό, κοντά στο όριο των 23.000. Τούτου λεχθέντος, ο Γκουλπ ήταν μόνο εδώ και ενάμιση χρόνο, καθιστώντας τον αριθμό αξιοσέβαστο να πει το λιγότερο.

    Το Grunt διαθέτει σήμερα πάνω από 4000 plugins ενώ το Gulp διαθέτει περισσότερα από 1200 plugins. Σύμφωνα με τις τάσεις της Google, περισσότεροι άνθρωποι ψάχνουν για πράγματα που σχετίζονται με το Grunt, υπάρχουν περισσότερα φόρουμ που ασχολούνται με αυτό και γενικά περισσότερη υποστήριξη από την κοινότητα.

    Φυσικά ο Γκουλπ είναι έτοιμος και έρχεται που σημαίνει αυτό είναι πιθανό να εξομαλυνθούν μακροπρόθεσμα. Ωστόσο, αυτό αποτελεί εμπόδιο για ορισμένους προγραμματιστές, ειδικά για εκείνους που εργάζονται με έργα Grunt.

    Θα ήθελα να επισημάνω ότι οι κοινότητες και για τις δύο είναι εξαιρετικά ωραία. Στο βαθμό που μπορώ να πω ότι η σχέση μεταξύ των ηγετών σε κάθε κοινότητα είναι εκπληκτική και πρέπει να χρησιμεύσει ως παράδειγμα σε όλους. Ο δημιουργός του Gulp βοήθησε πραγματικά ο συγγραφέας της σύγκρισης των δοκιμών ταχύτητας να βελτιώσει την ακρίβεια του χρόνου που οδηγεί σε μείωση των χρονικών διαφορών. Αυτό λέω έναν κύριο!

    Διαμόρφωση κώδικα Vs

    Προφανώς αυτό είναι το σημείο ανατροπής για πολλούς, αλλά για να είμαι ειλικρινής, δεν μπορώ να δω το ζήτημα εδώ προσωπικά.

    Το επιχείρημα πηγαίνει έτσι: Το Gulp είναι ένα καλό παράδειγμα ο κώδικας πάνω από τη διαμόρφωση μπορεί να είναι καλό όταν η διαμόρφωση παίρνει λίγο συγκεχυμένη. Άλλοι λένε ότι ενώ αυτό είναι αλήθεια και η Gulp είναι ευκολότερη ανάγνωση, είναι πιο δύσκολο να γράφω επειδή Οι σωληνώσεις μπορεί να είναι λίγο συγκεχυμένες.

    Πριν βάσω, εδώ είναι το ίδιο παράδειγμα πρώτα στο Grunt, στη συνέχεια στο Gulp:

     grunt.initConfig (sass: dist: αρχεία: [src: 'dev / *. scss', dest: '.tmp / styles', expand: true, ext: '.css'], autoprefixer : : : : :  στυλ: αρχεία: ['dev / *. scss'], εργασίες: ['sass: dist', 'autoprefixer: dist']); grunt.registerTask ('προεπιλογή', ['στυλ', 'ρολόι']); 
     gulp.task ('sass', function () gulp.src ('dev / *. scss') .pipe (sass ()) .pipe (autoprefixer) )),). gulp.task ('default', function () gulp.run ('sass'); gulp.watch ('dev / *. ) · 

    Η άποψή μου είναι ότι δεν έχει σημασία. Σίγουρα, εάν είστε συνηθισμένοι με τον πρώτο τρόπο, ίσως χρειαστεί να περάσετε λίγο χρόνο για να μάθετε το δεύτερο, αλλά αυτό είναι και το αντίστροφο. Έτσι για μένα, το “είναι ασαφές” το επιχείρημα είναι εντελώς άκυρο. Οποιος η νέα μέθοδος που μαθαίνετε είναι αρχικά μπερδεμένη, αλλά αν πάρετε το χρόνο να καταλάβετε τη λογική του καθενός, όλα εξισορροπούνται.

    Αυτό είπε, προσωπικά προτιμώ Το API του Gulp, επειδή είναι καθαρόκαι αντανακλά τον τρόπο που πιστεύω πιο στενά από τον Grunt. Αυτό είναι βέβαια εντελώς υποκειμενικό και δεν είναι πρόβλημα με την Grunt καθόλου, είναι μόνο προσωπική μου προτίμηση.

    Πώς να επιλέξετε

    Δεν νομίζω ότι υπάρχει κάποια ερώτηση σχετικά με το γεγονός ότι τόσο το Grunt όσο και το Gulp είναι εξαιρετικά εργαλεία και έχουν βοηθήσει τους ανθρώπους να σώσουν αμέτρητες ώρες χρόνου με τα χρόνια. Ο Grunt είναι λίγο πιο αργός για τώρα, αλλά έχει μια πολύ μεγαλύτερη κοινότητα. Το Gulp είναι ταχύτερο, έχει καθαρότερο API, αλλά στερείται τη βάση χρηστών.

    Νομίζω ότι η απόφαση θα καταλήξει τελικά συνέχεια, διαθέσιμα πρόσθετα και προτίμηση.

    (1) Εάν έχετε χρησιμοποιήσει το Grunt / Gulp για λίγο καιρό και τώρα είστε ευχαριστημένοι με αυτό, δεν υπάρχει λόγος να αλλάξουμε.

    (2) Εάν το σχέδιό σας απαιτεί πρόσθετα τα οποία δεν παρέχονται από τον Gulp και δεν είστε διατεθειμένοι να γράψετε μόνοι σας, θα χρειαστεί να πάτε με την Grunt.

    (3) Εάν οι παραπάνω δύο σκέψεις δεν ισχύουν για εσάς, θα μειωθεί στην προτίμηση. Σας προτείνω να δοκιμάσετε και τα δύο και να δείτε ποιος κολλάει μαζί σου.

    Όπως είπα, επέλεξα να χρησιμοποιήσω το Gulp επειδή μου αρέσει το καθαρότερο API του καλύτερα, αλλά είμαι απόλυτα άνετα χρησιμοποιώντας το Grunt εάν ένα έργο το καλεί. Τι πρέπει να κάνετε δεν κάνει να διαβάσετε ότι ο κ. Know-it-all είπε ότι ο Gulp είναι καλύτερος και το αποδεχόμαστε. Ενώ υπάρχουν διαφορές, δεν υπάρχει σαφής νικητής και και τα δύο έργα μπορούν και θα συνυπάρξουν. Δοκιμάστε τα και δημιουργήστε το δικό σας μυαλό.

    Σημείωση: Ίσως θελήσετε επίσης να λάβετε γνώμες από χρήστες όπως ο Keith Cirkel (σύμβουλος Javascript) ο οποίος σας συμβουλεύει να χρησιμοποιήσετε κανενα απο τα δυο. Στο ενδιαφέρον του Γιατί πρέπει να σταματήσουμε να χρησιμοποιούμε το άρθρο Grunt & Gulp, προτείνουμε να χρησιμοποιήσετε npm.

    Περαιτέρω ανάγνωση

    Υπάρχουν πολλά άλλα εξαιρετικά άρθρα σχετικά με αυτό το θέμα. Θα συνιστούσα με υπερηφάνεια κάποια από τα παρακάτω για περαιτέρω ανάγνωση. ποτέ δεν πονάει να διαβάσει τι έχουν να πουν οι άλλοι!

    • Grunt vs Gulp - πέρα ​​από τους αριθμούς (ιδιαίτερες ευχαριστίες για τα σαφή παραδείγματα)
    • Γκουλ, Γκρουτ, Ο, τιδήποτε
    • Επιλέξτε: Grunt, Gulp ή npm?
    • Speedtesting Gulp και Grunt
    • Γιατί πρέπει να σταματήσουμε να χρησιμοποιούμε το Grunt & Gulp
    • Build Wars (χρησιμοποιήστε τα βέλη για να περιηγηθείτε)
    • Δεν χρειάζεται να γκρεμίζετε, να πάρετε ένα Gulp του Fresh Air