Λειτουργικά συστήματα:
* Linux: Χρησιμοποιεί εκτενώς μονάδες φορτωμένου πυρήνα (LKMS) για να προσθέσει προγράμματα οδήγησης συσκευών, συστήματα αρχείων και άλλες λειτουργίες σε επίπεδο συστήματος.
προγράμματα περιήγησης ιστού:
* Firefox: Ιστορικά, ο Firefox ήταν πολύ δημοφιλής για τις επεκτάσεις του (αν και το σύστημα επέκτασης έχει αλλάξει με την πάροδο του χρόνου).
* Chrome: Χρησιμοποιεί επεκτάσεις, αν και με αυστηρότερες οδηγίες ασφαλείας και API από τις παλαιότερες Firefox.
διακομιστές ιστού:
* apache: Χρησιμοποιεί ενότητες για να προσθέσει λειτουργικότητα όπως υποστήριξη PHP, επανεγγραφή URL, χαρακτηριστικά ασφαλείας κ.λπ.
Συστήματα διαχείρισης περιεχομένου (CMS):
* WordPress: Χρησιμοποιεί εκτεταμένα πρόσθετα. Το WordPress είναι εξ ολοκλήρου βάσει plugin.
* Drupal: Χρησιμοποιεί μονάδες.
* joomla!: Χρησιμοποιεί επεκτάσεις.
Ολοκληρωμένα περιβάλλοντα ανάπτυξης (IDES):
* Κωδικός Visual Studio: Βασίζεται σε μεγάλο βαθμό σε επεκτάσεις. Σχεδόν όλες οι λειτουργίες του κώδικα VS υλοποιούνται ως επεκτάσεις.
* Eclipse: Χρησιμοποιεί plugins.
* intellij ιδέα (και άλλα jetbrains ides): Χρησιμοποιεί plugins.
Λογισμικό επεξεργασίας ήχου/βίντεο:
* Adobe Photoshop: Χρησιμοποιεί plugins για φίλτρα, μορφές αρχείων και άλλα χαρακτηριστικά.
* Adobe Premiere Pro: Χρησιμοποιεί plugins για εφέ, μεταβάσεις και υποστήριξη κωδικοποιητή.
* Audacity: Χρησιμοποιεί plugins (εφέ, ανάλυση ήχου κ.λπ.).
Λογισμικό μοντελοποίησης 3D:
* μπλέντερ: Χρησιμοποιεί σενάρια Python και πρόσθετα για ένα ευρύ φάσμα λειτουργικότητας.
* Autodesk Maya: Χρησιμοποιεί σενάρια και πρόσθετα MEL (ενσωματωμένη γλώσσα Maya).
Μηχανές παιχνιδιών:
* Ενότητα: Χρησιμοποιεί "περιουσιακά στοιχεία" (τα οποία μπορούν να περιλαμβάνουν κώδικα, μοντέλα, υφές κ.λπ.) που μπορούν να προστεθούν σε έργα.
* Unreal Engine: Χρησιμοποιεί plugins.
Άλλα παραδείγματα:
* Players Media (π.χ., VLC): Χρησιμοποιήστε plugins για υποστήριξη κωδικοποιητή και άλλες λειτουργίες.
* Επεξεργαστές κειμένου (π.χ., υψηλό κείμενο): Χρησιμοποιήστε πρόσθετα για υποστήριξη γλώσσας, ολοκλήρωση κώδικα κ.λπ.
* Συστήματα βάσης δεδομένων (π.χ., postgresql): Επιτρέψτε τις επεκτάσεις να προσθέσετε νέους τύπους δεδομένων, λειτουργίες και άλλα χαρακτηριστικά.
Βασικά χαρακτηριστικά των μονάδων υποστήριξης λογισμικού/plugins:
* καλά καθορισμένο API (διεπαφή προγραμματισμού εφαρμογών): Αυτό είναι κρίσιμο. Το λογισμικό παρέχει ένα καθορισμένο σύνολο λειτουργιών, κλάσεων και δομών δεδομένων που μπορούν να χρησιμοποιήσουν τα plugins για να αλληλεπιδράσουν με το σύστημα πυρήνα. Ένα σταθερό API είναι ζωτικής σημασίας, ώστε τα plugins να μην σπάσουν με κάθε ενημέρωση λογισμικού.
* Μηχανισμός φόρτωσης plugin/module: Το λογισμικό χρειάζεται έναν τρόπο να ανακαλύψει, να φορτώσει και να αρχικοποιήσει τα plugins. Αυτό μπορεί να περιλαμβάνει καταλόγους σάρωσης, χρησιμοποιώντας αρχεία ρυθμίσεων ή παρέχοντας μια διεπαφή διαχείρισης plugin.
* Σκέψεις ασφαλείας: Σπουδαίος. Το λογισμικό πρέπει να απομονώσει τα plugins σε κάποιο βαθμό για να αποτρέψει κακόβουλες ή κακώς γραπτές προσθήκες από το να συντρίβουν ολόκληρο το σύστημα ή να θέσουν σε κίνδυνο την ασφάλεια. Αυτό συχνά περιλαμβάνει το sandboxing ή τον περιορισμό των δικαιωμάτων που έχουν τα plugins.
* Διαχείριση εξάρτησης: Ένα σύστημα για τη διαχείριση των εξαρτήσεων (άλλες πρόσθετες, βιβλιοθήκες ή πόρους) που απαιτούν τα plugins.
* μεταδεδομένα plugin: Πληροφορίες σχετικά με ένα plugin (όνομα, έκδοση, συγγραφέας, περιγραφή, εξαρτήσεις) που μπορεί να χρησιμοποιήσει το λογισμικό για τη διαχείριση των plugins.
Σημαντικές εκτιμήσεις κατά την επιλογή μιας πλατφόρμας με αρχιτεκτονική plugin:
* Η ποιότητα του API: Είναι καλά τεκμηριωμένο, σταθερό και ολοκληρωμένο;
* Το μέγεθος του οικοσυστήματος plugin: Υπάρχουν ήδη διαθέσιμα πολλά plugins για τις εργασίες που πρέπει να εκτελέσετε;
* Το μοντέλο ασφαλείας: Πόσο καλά προστατεύει η πλατφόρμα από κακόβουλα plugins;
* Η διαδικασία ανάπτυξης του plugin: Είναι εύκολο να δημιουργήσετε και να διανείμετε πρόσθετα για την πλατφόρμα;
* απόδοση: Πόσο επηρεάζουν τα πρόσθετα τη συνολική απόδοση του λογισμικού;
Συνοπτικά, υπάρχουν * πολλά * προγράμματα λογισμικού που επιτρέπουν στους χρήστες και τους προγραμματιστές να επεκτείνουν τη λειτουργικότητά τους μέσω μονάδων ή plugins. Το συγκεκριμένο πρόγραμμα που χρειάζεστε εξαρτάται εξ ολοκλήρου από τον τύπο της λειτουργικότητας που προσπαθείτε να επεκτείνετε.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα