讓人五味雜陳的Mozilla外掛機制變化
Mozilla宣佈,Firefox外掛開發將迎來重要的變革。
\\在博文Firefox外掛開發的未來中,Mozilla產品經理Kev Needham說,外掛生態圈“在過去的這些年裡獲得了長足的有機的增長”,但Firefox需做出根本性的變革以“實現其現代化”。
\\其中一項大的變化就是WebExtensions API。Needham稱,Mozilla希望外掛開發能夠更多地借鑑Web開發,“在標準定義的行為集下,同樣的程式碼應當能夠執行在多個不同的瀏覽器上”。
\\為此,Needham說,WebExtensions使得人們在多個瀏覽器上開發擴充套件程式變得更容易了,他說:
\\\\\為Chrome、Opera、甚至可能在將來還包括Microsoft Edge等瀏覽器遍寫的擴充套件程式碼能在略作修改之後,以WebExtension的形式執行在Firefox上。採用這種現代的且以JavaScript為中心的API有許多的優勢,包括預設支援多程式瀏覽器以及降低了來自不良外掛和惡意軟體所帶來的風險。
\\WebExtensions執行起來與其他的Firefox外掛相似,它將先由Mozilla進行認證,然後通過addons.mozilla.org (AMO)或者開發者的網頁釋出出去。使用該API,擴充套件開發者只需做少許修改以適配每個平臺,並進行重打包,就能獲得執行在Firefox和Chrome上的同樣功能的擴充套件程式。
\
此次新變化還包括,要求外掛在部署安裝之前必須通過Mozilla的稽核和認證。早在四月份的時候,Mozilla的安全負責人Daniel Veditz發表了一篇文章,擴充套件程式需要簽名認證的理由,回應了許多來自開發社群的反饋意見,此前Mozilla的宣告在開發社群中引發了大量的討論。Veditz提到,成千上萬的使用者的網際網路瀏覽器體驗受到了來自“那些使用者並沒有選擇的第三方外掛”的影響,並且“獲利的是第三方,不是使用者”。
\\Veditz還說,那些最不受歡迎的外掛“在一定程度上都是與廣告相關的”,這些外掛會“破壞瀏覽器的安全基礎”且違反了“Mozilla的基本準則:保護個人在網路上的安全與隱私是一項原則立場,不容放棄。”
\\儘管在Firefox 42之前,簽名認證將不會強制執行,但Firefox 40的使用者現在已經能夠檢視安裝的擴充套件程式是否經過了驗證。
\\開發社群對Mozilla的宣告反應不一。在Needham文章的評論區,使用者DMcCunney說,他們對宣告懷有“深切的複雜情感”,留言裡說:
\\\\\我能理解Mozilla出於安全擔憂提出了簽名認證要求,但安全問題究竟有多嚴重?現在有多少經證實的使用者報告他們受到了惡意擴充套件程式的侵襲?我去查了,但並未看到有這樣的情況,當然也可能是我沒找對地方吧。難道這個解決方案是針對一個實際上並不存在的問題而設定的嗎?如果有證據能表明這確實是一個問題,請給出線索指示。
\\我現在最大的擔憂是,遲早,我將不能執行未認證過的擴充套件程式。
\
在Reddit上展開的關於開發Firefox外掛的未來的討論中,使用者iamncla表示對宣告感到很開心,說“我有相當多的Chrome擴充套件程式,它們都有巨大的使用者基數(300K+ 使用者),但卻沒法把它們也新增到Firefox上,因為Firefox和Chrome用的擴充套件程式的API不一樣。新的變化對想擁有一份Firefox版本的外掛的開發者或者使用者來說,簡直是太棒了。”
\\其他人的留言就沒有這麼委婉了。外掛downthemall的開發者Nils Maier,在博文後留言評論道,
\\\\\我在考慮暫時放棄外掛開發,主要原因是,圍牆花園式的簽名認證方法又來了,這種做法是我過去一直強烈反對的,並且現在仍然強烈反對它……
\\但對基於XUL的以XPCOM訪問的外掛感到“不以為然”可真是讓人忍無可忍了。如果真這樣了,我肯定會撤走。因為接下來我根本就不能開發大部分我的外掛,這些外掛不適配或者不能適配“WebExtensions”API。基於XUL的外掛所擁有的靈活性本是Firefox外掛生態圈的一大賣點,因此它也是最後剩下的能表明Firefox自身尚未完全偏執化的賣點之一。
\
Needham寬慰那些對新變化感到擔憂的開發者們,說Mozilla重申了它對外掛開發社群的“承諾”,將繼續與開發者們一道“在外掛移植、新API的設計以及創造出讓Firefox變得更棒的創新性的新外掛上”保持協作。
\\Needham還談到,在接下來的幾周到幾個月時間裡,Mozilla將持續放出額外的資源,用於更深入地闡述這些新的變化,同時也將通過Mozilla開發網, IRC (in #extdev)和擴充套件程式開發組提供支援。
\\相關文章
- 沒有什麼遊戲,能比魔獸世界懷舊服更讓人五味雜陳遊戲
- webpack-外掛機制雜記Web
- ASP.NET MVC 外掛化機制ASP.NETMVC
- PostgreSQL外掛hook機制SQLHook
- 10 個讓人驚訝的 jQuery 外掛jQuery
- webpack外掛機制之TapableWeb
- 探尋 webpack 外掛機制Web
- 遊戲化機制研究:遊戲是如何讓人“上癮”的?遊戲
- Taro cli流程和外掛化機制實現原理
- 全新的android外掛機制 - DroidPluginAndroidPlugin
- Android外掛化原理解析——Hook機制之Binder HookAndroidHook
- MyBatis(八):MyBatis外掛機制詳解MyBatis
- Android 外掛框架機制之SmallAndroid框架
- 如何使用外掛化機制優雅的封裝你的請求hook封裝Hook
- 讓人沉浸遊戲的魅力機制:隨機與策略遊戲隨機
- 外國人腦洞大開,讓你的手機殼秒變自拍無人機無人機
- jQuery的事件機制,事件物件介紹,外掛機制,多庫共存,each()jQuery事件物件
- Android 外掛化原理解析——Hook機制之AMS&PMSAndroidHook
- Android 外掛化原理解析(3):Hook 機制之 Binder HookAndroidHook
- Mozilla技術佈道者給Web開發人員推薦的Firefox外掛列表WebFirefox
- SOFATracer 外掛埋點機制詳解
- 精盡MyBatis原始碼分析 - 外掛機制MyBatis原始碼
- Android 外掛框架機制之預熱篇Android框架
- 讓您的Eclipse具有千變萬化的外觀Eclipse
- Android外掛化原理(一)Activity外掛化Android
- Laravel-Plugin 基於 Laravel 的外掛機制解決方案LaravelPlugin
- 淺談Webpack的AMD外掛開發和執行機制Web
- 讓人相見恨晚的vim外掛:模糊查詢神器LeaderF
- 讓人相見恨晚的 VIM 外掛:模糊查詢神器 LeaderF
- Activity的外掛化(三)
- Activity的外掛化(一)
- Activity的外掛化(二)
- 外掛,永無止息的敵人
- 跟著辛星用PHP的反射機制來實現外掛PHP反射
- 讓容器通訊變得簡單:深度解析 Containerd 中的 CNI 外掛AI
- 一種優雅的Golang的庫外掛註冊載入機制Golang
- VSCode For Web 深入淺出 -- 外掛載入機制VSCodeWeb
- 掛機遊戲是如何讓人“上癮”的? AFK Arena:用海量微創新和細節打磨引起質變遊戲