Tại sao Firefox phải giết tiện ích mở rộng yêu thích của bạn
Firefox 57, hay Quantum, ở đây, và đó là một cải tiến lớn. Firefox cuối cùng đã bắt kịp Chrome về tốc độ, giao diện gọn gàng hơn rất nhiều và có một số tính năng mới tuyệt vời để khởi động. Không có nhiều điều để phàn nàn ở đây.
Đùa thôi. Trên internet, luôn có điều gì đó để phàn nàn về.
Với Firefox Quantum, khiếu nại là các tiện ích mở rộng nhất định không hoạt động nữa. Nhiều tiện ích mở rộng cấu hình cao, bao gồm DownThem ALL và Greasemonkey, hiện không hoạt động với Quantum. Những người khác, bao gồm cả Fireorms và ScrapBook, có thể sẽ không bao giờ hoạt động trở lại.
Điều này thật khó chịu nếu bạn là người dùng một trong những dịch vụ này và bạn có thể nghĩ rằng nó hơi độc đoán. Nó không phải là. Dù muốn hay không, Mozilla cảm thấy họ không có lựa chọn nào khác ngoài việc từ bỏ cái mà nó gọi là các tiện ích bổ sung của Legacy để tiếp tục tiến lên. Đây là lý do tại sao.
Phần mở rộng Firefox kế thừa hoạt động như thế nào
Các tiện ích mở rộng Firefox truyền thống thường được viết bằng Ngôn ngữ giao diện người dùng XML (XUL). Đây là ngôn ngữ Giao diện người dùng của Firefox được xây dựng và các tiện ích mở rộng dựa trên XUL có thể sửa đổi giao diện đó trực tiếp. Các tiện ích bổ sung này cũng có quyền truy cập gần như đầy đủ vào XPCOM, mô hình đối tượng thành phần mạnh mẽ được Firefox sử dụng.
Nếu điều đó xảy ra trong đầu bạn, chỉ cần biết điều này: Các tiện ích mở rộng của Firefox có ít nhiều khả năng thay đổi trình duyệt của bạn và chúng đã thực hiện những thay đổi đó trực tiếp. Đây là lý do tại sao các tiện ích mở rộng đó rất mạnh: không có bộ quy định nào chúng có thể và không thể thay đổi. Đó cũng là lý do tại sao các tiện ích mở rộng này có xu hướng bị phá vỡ với các bản phát hành Firefox mới.
Tiện ích mở rộng cho Chrome hoặc Safari không hoạt động theo cách này. Các trình duyệt đó cung cấp các API cụ thể cho nhà phát triển tiện ích mở rộng mà họ có thể sử dụng, nghĩa là có một danh sách đã đặt sẵn các tiện ích mở rộng có thể và không thể kiểm soát. Trong hai năm nay, Firefox đã cung cấp một API tương tự có tên là WebExtensions, nó đã khuyến khích các nhà phát triển chấp nhận.
Tiện ích mở rộng truyền thống đã cải thiện Firefox khó khăn
Firefox Quantam không phải là bản cập nhật đầu tiên phá vỡ tiện ích mở rộng: đây là vấn đề đang diễn ra trong nhiều năm. Do các tiện ích mở rộng của Firefox có thể ảnh hưởng trực tiếp đến Firefox, nên có thể ngay cả những thay đổi nhỏ đối với chính Firefox cũng phá vỡ hoàn toàn các tiện ích bổ sung hoặc chỉ giới thiệu các lỗi về hiệu năng.
Người dùng Firefox, không biết các tiện ích mở rộng đã gây ra sự cố, sẽ cho rằng phiên bản Firefox mới có lỗi và theo quan điểm của họ thì đó là. Nhóm Firefox sẽ cố gắng hết sức để đảm bảo các tiện ích mở rộng phổ biến hoạt động trước khi đẩy phiên bản mới, nhưng thật dễ để tưởng tượng tất cả sự phát triển chậm lại này.
API WebExtensions làm cho tất cả điều này dễ dàng hơn bằng cách xác định cụ thể những tiện ích mở rộng nào có thể làm và cách chúng có thể làm điều đó. Điều này có nghĩa là các nhà phát triển chỉ cần đảm bảo rằng API hoạt động chính xác và không lo lắng rằng một điều chỉnh hiệu suất hoặc thay đổi giao diện người dùng sẽ phá vỡ các tiện ích mở rộng cụ thể. Kết quả sẽ có ít tiện ích mở rộng hơn trong thời gian dài, nhưng để có thể thực hiện được điều này, Mozilla cần phải từ bỏ hệ sinh thái mở rộng cũ.
Thay đổi cũng làm cho một số tính năng tốt nhất của Quantam có thể. Khả năng đa tiến trình, chẳng hạn, là một phần quan trọng trong việc tăng tốc độ của Firefox Quantam. Bốn quy trình riêng biệt xử lý các giao diện và tab của Firefox, có nghĩa là Firefox có thể sử dụng tất cả bốn lõi của bộ xử lý của bạn thay vì chỉ một. Đây là một thực tế mà hệ sinh thái mở rộng truyền thống đơn giản là không được xây dựng và thật khó tưởng tượng làm cho nó hoạt động mà không có nhiều lớp trừu tượng chắc chắn sẽ làm mọi thứ chậm lại. Nhiều thay đổi sắp tới đối với Firefox cũng bị giữ lại bởi các tiện ích bổ sung, nghĩa là hệ sinh thái phải thay đổi để Firefox phát triển.
Khả năng tương thích đa nền tảng là một vấn đề
Ngày xửa ngày xưa, các tiện ích bổ sung đã cho mọi người một lý do thuyết phục để sử dụng Firefox trên Chrome. Ngày nay, Chrome là công ty hàng đầu về các tiện ích bổ sung, trong khi Firefox có thể cảm thấy giống như một nghĩa địa của các tiện ích mở rộng không rõ ràng trong nhiều năm qua.
Chắc chắn, có một vài tiện ích mở rộng Firefox mà bạn không thể có trong Chrome, nhưng Chrome có hệ sinh thái lớn hơn cho đến nay. API WebExtensions mới sẽ không khắc phục điều này qua đêm, nhưng điều đó giúp các tiện ích mở rộng của Chrome được chuyển sang Firefox dễ dàng hơn vì ngôn ngữ được sử dụng để viết các tiện ích mở rộng tương tự nhau để tạo ra sự chuyển đổi hời hợt. Trong nhiều trường hợp, chỉ cần một vài điều chỉnh để tiện ích mở rộng Chrome chạy trong Firefox, có nghĩa là không có lý do gì các tiện ích mở rộng Chrome yêu thích của bạn không thể đến với Firefox ngay bây giờ nếu bạn hỏi nhà phát triển đủ tốt. Điều này sẽ dẫn đến một loạt các phần mở rộng mới trong một hệ sinh thái có thể thẳng thắn sử dụng nó.
Firefox đã mất người dùng
Một số người có thể lập luận rằng Firefox sẽ mất người dùng vì các tiện ích mở rộng bị hỏng, nhưng đáng chú ý là Firefox đã mất người dùng vào Chrome với tốc độ đáng báo động và đã được nhiều năm. Tốc độ so sánh và thiếu một số tiện ích bổ sung nhất định không giúp ích gì cho mặt trận đó và Firefox Quantum nhằm mục đích khắc phục cả hai vấn đề đó.
Có một cơ hội này sẽ phản tác dụng? Chắc chắn rồi. Một số người sẽ chuyển sang Chrome và những người khác có thể tìm kiếm các nhánh cổ xưa duy trì hệ sinh thái mở rộng cũ. Nhưng nó không giống như mọi thứ đang diễn ra tốt đẹp trước đây. Firefox cần phát triển để duy trì sự liên quan và đây là cách họ quyết định làm điều đó.
Các nhà phát triển đã có thời gian để chuyển sang API mới
Một số người dùng sẽ không nhận thấy việc chuyển đổi này thậm chí đã xảy ra, bởi vì các tiện ích mở rộng mà họ làm việc đã sử dụng API WebExtension. Các tiện ích mở rộng khác chưa được chuyển đổi.
Điều này có thể là do nhà phát triển đã từ bỏ tiện ích mở rộng từ lâu hoặc không cảm thấy muốn viết lại để sử dụng API. Trong một số trường hợp, API không cung cấp đủ quyền kiểm soát để tạo lại tiện ích mở rộng ban đầu, vì vậy các nhà phát triển đang từ bỏ các dự án của họ. Và trong nhiều trường hợp, việc chuyển đổi đơn giản là chưa được thực hiện.
Dù thế nào đi nữa, các tiện ích mở rộng không bị phá vỡ vì Mozilla đã thay đổi điều gì đó đột ngột. WebExtensions đã là một phần của Firefox trong hai năm và thời hạn cập nhật các tiện ích mở rộng đã được công bố một năm trước:
Vào cuối năm 2017 và với việc phát hành Firefox 57, chúng tôi sẽ chuyển sang WebExtensions độc quyền và sẽ ngừng tải bất kỳ loại tiện ích mở rộng nào khác trên máy tính để bàn.
Vẫn còn thiếu một phần mở rộng mà bạn phụ thuộc vào? Tài liệu Google này đang theo dõi một số tiện ích mở rộng phổ biến và cung cấp các lựa chọn thay thế cho một số tiện ích mở rộng phổ biến. Danh sách này cũng hữu ích.