13Sep

Γιατί ο Firefox έπρεπε να σκοτώσει την αγαπημένη σας επέκταση

Firefox 57, ή Quantum, είναι εδώ, και είναι μια τεράστια βελτίωση.Ο Firefox τελικά έφτασε στο Chrome όσον αφορά την ταχύτητα, η διασύνδεση είναι πολύ καθαρότερη και υπάρχουν μερικά νέα νέα χαρακτηριστικά για την εκκίνηση.Δεν υπάρχουν πολλά να διαμαρτυρηθούν εδώ.

Απλά να γελάσω.Στο διαδίκτυο, υπάρχει πάντα κάτι για να διαμαρτύρονται.

Με το Firefox Quantum, η καταγγελία de jour είναι ότι ορισμένες επεκτάσεις δεν λειτουργούν πια.Πολλές επεκτάσεις υψηλού προφίλ, συμπεριλαμβανομένων των DownThemAll και Greasemonkey, δεν λειτουργούν προς το παρόν με το Quantum.Άλλοι, συμπεριλαμβανομένου του Firebug και του ScrapBook, πιθανότατα δεν θα δουλέψουν ξανά.

Αυτό είναι απογοητευτικό αν είστε χρήστης μιας από αυτές τις υπηρεσίες και ίσως να νομίζετε ότι είναι κάπως αυθαίρετο.Δεν είναι.Όπως ή όχι, ο Mozilla θεώρησε ότι δεν είχαν άλλη επιλογή από το να εγκαταλείψουν αυτά που ονομάζουν πρόσθετα "κληρονομιάς" για να προχωρήσουν.Εδώ γιατί.

Πώς επεκτάθηκαν οι επεκτάσεις επεκτάσεων του Firefox

Οι παραδοσιακές επεκτάσεις του Firefox γενικά γράφονταν στη γλώσσα XML User Interface Language( XUL).Αυτή είναι η γλώσσα που χρησιμοποιεί η διεπαφή χρήστη του Firefox, ενώ οι επεκτάσεις που βασίζονται στο XUL μπορούν να τροποποιήσουν απευθείας αυτή τη διεπαφή.Αυτά τα πρόσθετα είχαν επίσης σχεδόν πλήρη πρόσβαση στο XPCOM, το ισχυρό μοντέλο αντικειμένου που χρησιμοποιείται από τον Firefox.

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

για το Chrome ή το Safari δεν λειτουργούν με αυτόν τον τρόπο.Αυτά τα προγράμματα περιήγησης προσφέρουν στους προγραμματιστές επέκτασης συγκεκριμένα API που μπορούν να χρησιμοποιήσουν, πράγμα που σημαίνει ότι υπάρχει μια λίστα με τις επεκτάσεις που μπορεί και δεν μπορεί να ελέγξει.Επί δύο χρόνια, ο Firefox προσέφερε ένα παρόμοιο API που ονομάζεται WebExtensions, το οποίο ενθάρρυνε τους προγραμματιστές να υιοθετήσουν.

Παραδοσιακές επεκτάσεις που έγιναν Βελτίωση του Firefox Δύσκολο

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

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

Το API WebExtensions καθιστά όλα αυτά ευκολότερα, καθορίζοντας συγκεκριμένα τι επεκτάσεις μπορούν να κάνουν και πώς μπορούν να το κάνουν.Αυτό σημαίνει ότι οι προγραμματιστές πρέπει μόνο να διασφαλίσουν ότι το API λειτουργεί σωστά και να μην ανησυχείτε για το ότι μια αλλαγή στην απόδοση ή αλλαγή UI θα σπάσει συγκεκριμένες επεκτάσεις.Το αποτέλεσμα θα πρέπει να είναι λιγότερες παρατάσεις που θα σπάσουν μακροπρόθεσμα, αλλά για να καταστεί αυτό δυνατό, η Mozilla έπρεπε να εγκαταλείψει το παλαιό οικοσύστημα επέκτασης.

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

Συμβατότητα πλατφόρμας πλατφόρμας ήταν ένα πρόβλημα

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

Βεβαίως, υπάρχουν μερικές επεκτάσεις του Firefox που δεν μπορείτε να λάβετε στο Chrome, αλλά το Chrome έχει το μεγαλύτερο οικοσύστημα από μακριά.Το νέο API WebExtensions δεν θα το διορθώσει εν μία νυκτί, αλλά καθιστά πολύ πιο εύκολη τη μεταφορά των επεκτάσεων του Chrome στον Firefox, επειδή η γλώσσα που χρησιμοποιείται για την εγγραφή επεκτάσεων είναι αρκετά παρόμοια ώστε να καθιστά την επιφανειακή μετάδοση.Σε πολλές περιπτώσεις, χρειάζονται μόνο λίγες τροποποιήσεις για να εκτελεστεί μια επέκταση του Chrome στον Firefox, πράγμα που σημαίνει ότι δεν υπάρχει κανένας λόγος που οι αγαπημένες σας επεκτάσεις Chrome δεν μπορούν να έρθουν στο Firefox τώρα αν ζητήσετε από τον προγραμματιστή αρκετά όμορφο.Αυτό θα οδηγήσει σε μια πλημμύρα νέων επεκτάσεων σε ένα οικοσύστημα που θα μπορούσε να το χρησιμοποιήσει ειλικρινά.

Ο Firefox χάνει ήδη τους χρήστες

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

Υπάρχει πιθανότητα ότι αυτό θα αντιστραφεί;Σίγουρος.Μερικοί άνθρωποι θα πηδούν πλοίο στο Chrome, και άλλοι θα μπορούσαν να αναζητήσουν αρχαία πιρούνια που διατηρούν το παλιό οικοσύστημα επέκτασης.Αλλά δεν είναι όπως τα πράγματα πήγαν καλά πριν.Ο Firefox χρειάστηκε να εξελιχθεί για να παραμείνει σχετικός και έτσι αποφάσισαν να το κάνουν.Οι προγραμματιστές

είχαν χρόνο να μεταβούν στο νέο API

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

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

Όποια και αν είναι η περίπτωση, οι επεκτάσεις δεν σπάνε επειδή ο Mozilla άλλαξε κάτι απότομα.Το WebExtensions αποτελεί τμήμα του Firefox για δύο χρόνια και η προθεσμία για την ενημέρωση επεκτάσεων ανακοινώθηκε πριν από ένα χρόνο:

Μέχρι το τέλος του 2017 και με την κυκλοφορία του Firefox 57, θα μεταφερθούμε αποκλειστικά σε WebExtensions και θα σταματήσουμε να φορτώσουμεάλλους τύπους επέκτασης στην επιφάνεια εργασίας.

Εξακολουθεί να λείπει μια επέκταση από την οποία εξαρτάς;Αυτό το έγγραφο Google παρακολουθεί διάφορες δημοφιλείς επεκτάσεις και παρέχει εναλλακτικές λύσεις σε πολλές κοινές επεκτάσεις.Αυτή η λίστα είναι επίσης χρήσιμη.