Αρχική σελίδα » πως να » Γιατί ο Firefox έπρεπε να σκοτώσει την αγαπημένη σας επέκταση

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

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

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

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

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

    Πώς επεκτάθηκε το Legacy Firefox Extensions

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

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

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

    Παραδοσιακές επεκτάσεις που βελτιώνουν τον Firefox Δύσκολο

    Το Quantam του Firefox δεν είναι η πρώτη ενημέρωση για να σπάσει μια επέκταση: αυτό ήταν ένα συνεχιζόμενο πρόβλημα για χρόνια. Επειδή οι επεκτάσεις του 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, πράγμα που σημαίνει ότι δεν υπάρχει κανένας λόγος να μην μπορούν πλέον να προστεθούν στον Firefox οι αγαπημένες σας επεκτάσεις Chrome εάν ρωτήσετε τον προγραμματιστή αρκετά καλά. Αυτό θα οδηγήσει σε μια πλημμύρα νέων επεκτάσεων σε ένα οικοσύστημα που θα μπορούσε να το χρησιμοποιήσει ειλικρινά.

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

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

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

    Οι προγραμματιστές είχαν χρόνο να αλλάξουν στο νέο API

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

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

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

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

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