Αρχική σελίδα » Εργαλειοθήκη » 11 Εργαλεία διαχείρισης εξάρτησης για προγραμματιστές Web

    11 Εργαλεία διαχείρισης εξάρτησης για προγραμματιστές Web

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

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

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

    1. NPM

    Δεν μπόρεσα να γράψω αυτόν τον οδηγό χωρίς να δώσω πίστωση στον Διαχειριστή πακέτων κόμβων. Χτισμένο σε Node.js, αυτό το σύστημα διοχετεύει ένα τεράστιο αποθετήριο 100.000 πακέτα και ενότητες.

    Κάθε έργο μπορεί να χρησιμοποιήσει μια εγκατάσταση του πακέτου package.json μέσω του NPM και μάλιστα με τη διαχείριση του Gulp (στον κόμβο). Οι εξαρτήσεις μπορούν να ενημερωθούν και να βελτιστοποιηθούν από το τερματικό. Και μπορείτε να δημιουργήσετε νέα έργα με αρχεία εξάρτησης και αριθμούς έκδοσης που τραβήχτηκαν αυτόματα από το αρχείο package.json.

    Το NPM είναι πολύτιμο για κάτι περισσότερο από τη διαχείριση εξάρτησης και είναι πρακτικά ένα εργαλείο που πρέπει να ξέρετε για τη σύγχρονη ανάπτυξη ιστού. Αν έχετε σύγχυση, παρακαλώ δείτε αυτό το νήμα Reddit για την εξήγηση του αρχάριου.

    2. Bower

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

    Ελέγξτε την ερώτηση Stack για να μάθετε περισσότερα σχετικά με τις λεπτές διαφορές.

    Ορισμένοι δίσκοι υποστηρίζουν ότι η Bower είναι βασικά παρωχημένη, καθώς τρέχει στο NPM, μια υπηρεσία που μπορεί να κάνει σχεδόν όλα όσα μπορεί να κάνει ο Bower. Σε γενικές γραμμές αυτό δεν είναι λάθος.

    Αλλά οι devs πρέπει να συνειδητοποιήσουν ότι η Bower μπορεί βελτιστοποιήστε τη ροή εργασίας ειδικά με τις εξαρτήσεις των frontend. Θα ήθελα να συστήσω το άρθρο του Ben McCormick Is Bower Χρήσιμο για να μάθετε περισσότερα για την αξία που προσφέρεται από τα δύο εργαλεία διαχείρισης πακέτων.

    3. RubyGems

    Το RubyGems είναι ένας διαχειριστής πακέτων για τον Ruby με μεγάλη δημοτικότητα από τους προγραμματιστές ιστού. Το έργο είναι ανοικτού κώδικα και περιλαμβάνει όλους τους δωρεάν Ruby gems.

    Για να δώσετε μια σύντομη επισκόπηση για τους αρχάριους, α “κόσμημα” είναι μερικά κώδικα που τρέχει σε περιβάλλον Ruby. Αυτό μπορεί να οδηγήσει σε προγράμματα όπως το Bundler, το οποίο διαχειρίζεται εκδόσεις πολύτιμων λίθων και διατηρεί τα πάντα ενημερωμένα.

    Οι προγραμματιστές Rails θα αγαπήσουν αυτό το χαρακτηριστικό, αλλά τι γίνεται με τα πακέτα των συνόλων; Δεδομένου ότι το Ruby είναι ανοικτού κώδικα, οι προγραμματιστές μπορούν να δημιουργήσουν έργα όπως το Bower for Rails. Αυτό φέρνει τη διαχείριση των πακέτων των frontend στην πλατφόρμα Ruby με μια μικρή καμπύλη εκμάθησης.

    4. ΑπαιτήσειςJS

    Υπάρχει κάτι ιδιαίτερο σχετικά με το RequireJS στο ότι είναι κυρίως ένα σύνολο εργαλείων JS. Μπορεί να χρησιμοποιηθεί για φόρτωση μονάδων JS γρήγορα συμπεριλαμβανομένων των μονάδων κόμβων.

    RequireJS μπορεί αυτόματη ανίχνευση των απαιτούμενων εξαρτήσεων με βάση αυτό που χρησιμοποιείτε, έτσι αυτό μπορεί να είναι παρόμοιο με τον κλασσικό προγραμματισμό λογισμικού σε C / C ++ όπου οι βιβλιοθήκες περιλαμβάνονται σε άλλες βιβλιοθήκες.

    Θα βρείτε μια ενδιαφέρουσα συζήτηση του GitHub για αυτό το θέμα και την αξία που προσφέρει στους σύγχρονους προγραμματιστές ιστού. Χορηγήθηκαν άλλα εργαλεία διαχείρισης JS, όπως το webpack, το RequireJS εξακολουθεί να λειτουργεί σε περιβάλλοντα παραγωγής. Και αν δουλεύει για σένα, αυτό έχει σημασία.

    5. Jam

    Η διαχείριση πακέτων με βάση το πρόγραμμα περιήγησης διατίθεται σε νέα μορφή με το JamJS. Αυτός είναι ένας διαχειριστής πακέτων JavaScript με αυτόματη διαχείριση παρόμοια με την RequireJS.

    Όλες οι εξαρτήσεις σας είναι τράβηξε σε ένα μόνο αρχείο JS που σας επιτρέπει να προσθέσετε και να αφαιρέσετε αντικείμενα γρήγορα. Επιπλέον, αυτά μπορούν να ενημερωθούν στο πρόγραμμα περιήγησης ανεξάρτητα από άλλα εργαλεία που χρησιμοποιείτε (όπως το RequireJS).

    Οι βιβλιοθήκες ενημερώνονται βάσει των τελευταίων εκδόσεων μέσω του τερματικού. Κάθε έργο μπορεί να είναι δημιουργήθηκε αυτόματα με βελτιστοποιημένα στοιχεία βασισμένο στο οι ανάγκες σου. Η μαρμελάδα είναι δωρεάν στο GitHub και αξίζει να δούμε αν έχετε το χρόνο.

    6. Περιηγηθείτε

    Οι περισσότεροι προγραμματιστές γνωρίζουν το Browserify ακόμη και αν δεν αποτελούν μέρος της τυπικής ροής εργασίας τους. Πρόκειται για ένα άλλο εργαλείο διαχείρισης εξάρτησης που βελτιστοποιεί τις απαιτούμενες ενότητες και βιβλιοθήκες συνδυάζοντάς τις μαζί.

    Αυτά τα πακέτα είναι που υποστηρίζονται στο πρόγραμμα περιήγησης που σημαίνει ότι μπορείτε να συμπεριλάβετε και να συγχωνεύσετε ενότητες με απλό JavaScript. Το μόνο που χρειάζεστε είναι το NPM για να ξεκινήσετε και στη συνέχεια το Browserify για να κινηθείτε.

    Ελέγξτε αυτό το intro tutorial για να δείτε πώς ο κόμβος μπορεί να διαχειριστεί σωστά στο πρόγραμμα περιήγησης. Υπάρχει επίσης ένα μεγάλο βιβλίο Browserify που φιλοξενείται στο GitHub δωρεάν. Η ιδέα είναι να μεταφέρετε όλα αυτά τα εργαλεία κόμβων στο πρόγραμμα περιήγησης και να εξοικονομήσετε χρόνο αυτοματοποιώντας τη διαδικασία με το Browserify.

    7. Mantri

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

    Το Mantri βρίσκεται αυτή τη στιγμή στο v0.2.2 τη στιγμή της γραφής. Είναι εντελώς ανοιχτή πηγή και για πιο σύνθετες εφαρμογές ιστού που απαιτούν μεγάλες δέσμες εξαρτήσεων. Το Mantri στοχεύει να ακολουθήσει πρακτικές προγραμματισμού και ελπίζει να ενθαρρύνει τους προγραμματιστές στην ίδια πορεία.

    8. Volo

    Το εργαλείο διαχείρισης έργου volo είναι ένα repoo NPM ανοιχτής πηγής που μπορεί να δημιουργήσει έργα, να προσθέσει βιβλιοθήκες και να αυτοματοποιήσει ροές εργασίας.

    Volo τρέχει μέσα στον κόμβο και βασίζεται στη JavaScript για τη διαχείριση έργου. Ένας σύντομος οδηγός intro μπορεί να βρεθεί στο GitHub εξηγώντας τη διαδικασία εγκατάστασης και την κοινή χρήση. Για παράδειγμα, εάν εκτελέσετε την εντολή volo δημιουργία μπορείτε να τοποθετήσετε οποιαδήποτε βιβλιοθήκη όπως το Bootplate HTML5.

    Αλλά εκτός από τη δημιουργία νέων έργων μπορείτε επίσης προσθήκη / ενημέρωση βιβλιοθηκών για παλαιότερα έργα. Το Volo συνδέει όλα όσα θα χρειαστείτε για την ανάπτυξη των frontend. Ελέγξτε τους στόχους σχεδιασμού του Volo για να δείτε πώς λειτουργεί σε ένα πραγματικό έργο.

    9. Ender

    Ο Ender είναι ο “χωρίς βιβλιοθήκη βιβλιοθήκης” και είναι ένας από τους ελαφρύτερους διαχειριστές πακέτων που θα βρείτε στο διαδίκτυο. Επιτρέπει στους προγραμματιστές να αναζητήστε μέσω πακέτων JS και να τα εγκαταστήσετε / να τα μεταγλωττίσετε απευθείας από τη γραμμή εντολών. Ο Ender θεωρείται ως “Η μικρή αδελφή του NPM” από την ομάδα dev.

    Φυσικά ολόκληρο το πλαίσιο Ender διατίθεται δωρεάν στο GitHub. Είναι απλά ένα εργαλείο που εγκαθιστάτε για βοήθεια διαχείριση της κατανάλωσης πλαισίων JavaScript frontend για τοπικά έργα. Τα πάντα προορίζονται να λειτουργούν με ευκολία στο μέγιστο δυναμικό για τη ροή εργασίας ενός προγραμματιστή των frontend.

    Ο κύριος ιστότοπος του Ender διαθέτει τεκμηρίωση ποιότητας, οπότε αξίζει μια ματιά αν σας ενδιαφέρει.

    10. pip

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

    Η πλειοψηφία των προγραμματιστών Python συστήνουν pip για εξαρτήσεις, συμπεριλαμβανομένης της ομάδας Django. Είτε ξεκινάτε απλά με την Python είτε την χρησιμοποιείτε ήδη σταθερά με την ανάπτυξη backend, πρόκειται για έναν διαχειριστή πακέτων που θα χαρείτε να έχετε στην εργαλειοθήκη σας.

    11. Συνθέτης

    Ο σύνθετος είναι ένας διαχειριστής πακέτων παρόμοιος με τον NPM, αλλά εστιάζει αποκλειστικά σε βιβλιοθήκες της PHP. Μπορείτε να βρείτε μια λίστα εξαρτήσεων στον Packagist που περιλαμβάνει μεγάλα πλαίσια PHP όπως το Laravel.

    Αν είστε προγραμματιστής PHP κάθε είδους συνιστώ σοβαρά να κοιτάζω τον Composer. Του εύκολο να ξεκινήσετε αλλά δύσκολο να ταιριάξετε στη ροή εργασίας σας. Ωστόσο, με την πρακτική θα γίνει βασικό για τα έργα PHP dev.

    Πρόκειται για ένα ευέλικτο εργαλείο που μπορεί να αναπτυχθεί ακόμη περισσότερο με την πάροδο του χρόνου. Το Plus NPM μπορεί να αναμειχθεί με το Composer για να δημιουργήσει ένα σύστημα διαχείρισης εξάρτησης frontend + backend για όλα τα έργα PHP / JS.

    Τυλίγοντας

    Είναι σαφές ότι πολλοί από αυτούς τους διαχειριστές εξάρτησης έχουν παρόμοια χαρακτηριστικά με παρόμοιες ιδιότητες. Μερικά είναι κατασκευασμένα για λύσει εναλλακτικά προβλήματα και μπορούν ακόμη και να τρέχουν σε συνδυασμό μεταξύ τους (δηλαδή Composer και NPM).

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

    Μόλις μάθετε πώς να εφαρμόσετε αυτά τα εργαλεία στη ροή εργασίας σας, ποτέ δεν θα εξετάσετε το ενδεχόμενο να επιστρέψετε.