外掛和擴充套件的區別

  有時候,即便在網際網路這個圈子中,大家也經常遇到把外掛說成擴充套件、把擴充套件說成外掛的使用者。雖然在溝通的過程中一個稱謂或許沒那麼重要,但如果有興趣瞭解一下外掛和擴充套件之間的區別,那就接著往下看。

  Chrome 的外掛與擴充套件有什麼區別

  "擴充套件"和"外掛",其實都是軟體元件的一種形式,Chrome 只不過是把兩種型別的元件分別給與了專有名稱,一個叫"擴充套件",另一個叫"外掛"。

  擴充套件***Extension***,指的是通過呼叫 Chrome 提供的 Chrome API 來擴充套件瀏覽器功能的一種元件,工作在瀏覽器層面,使用 HTML + Javascript 語言開發[*]。比如著名的 Adblock plus。

  外掛***Plug-in***,指的是通過呼叫 Webkit 核心 NPAPI

  來擴充套件核心功能的一種元件,工作在核心層面,理論上可以用任何一種生成本地二進位制程式的語言開發,比如 C/C++、Delphi 等。比如Flashplayer 外掛,就屬於這種型別。一般在網頁中用 <object> 或者 <embed>

  標籤宣告的部分,就要靠外掛來渲染。

  至於哪種功能多的問題,這個不能比較,各有側重。如果你想實現一個自動統計你上過的網站以及各自時間的功能,就要用擴充套件技術;如果你要實現一個讓你的瀏覽器可以渲染 AutoCAD 檔案的功能,就要用外掛技術。

  注:

  * Chrome 擴充套件本身也支援包含 Plug-in 模組,這部分可以使用 C/C++ 等語言開發。比如 web QQ 的截圖擴充套件,就是用了這項功能。

  補充一點,最直觀的,可以從chrome的管理上看到:

  Chrome外掛和擴充套件有什麼區別

  在功能層面差異: 外掛並不會增加瀏覽器自身的功能,可呼叫作業系統的API,並且不同作業系統的外掛一般不能混用。我們經常遇到的外掛有:Flash外掛、PDF外掛、Java外掛等等。 相比較之下,擴充套件則可以增加瀏覽器本身的功能,也可以呼叫瀏覽器的API,並且同一個瀏覽器的擴充套件一般也都是可以跨作業系統使用的。比如,你在Windows 使用的那些Chrome擴充套件,換到Mac平臺上也一樣能用。 安全性方面的差異 由於外掛一般實現的都是比較底層的功能,所以一旦出現問題,往往就會牽涉到整個作業系統,像Flash外掛就屬於經常被扒出高危漏洞的那一類。

  相比較之下,擴展出現問題,其危害性類往往似於瀏覽器漏洞。不過Chrome Extension在為使用者帶來便利的同時,也的確帶來了不少安全問題,Google Chrome的穩定版甚至還禁掉了Windows使用者安裝Chrome Web Store外擴充套件的許可權。即便是在Chrome Web Store中的應用也不能保證絕對安全,因為Google自己也下架過一些有安全隱患的擴充套件。 好了,看完這些差異後,有沒有感覺外掛和擴充套件之間的區別還是蠻大的,下次再遇到有人混淆這兩個概念時不妨糾正一下。

  chrome 應用和擴充套件程式的區別

  都知道 Chrome 支援擴充套件***也有些人叫外掛***以及 Web Apps,但有一些剛剛接觸 Chrome 的人始終搞不清這倆到底有什麼區別,這裡就簡單的給大家介紹一下,高手請無視。

  首先 Chrome 擴充套件是存放在 Google Chrome 擴充套件庫中的,而 Web Apps 是放在 Chrome Web Store 中的也可以訪問到這枚擴充套件,只是它的託管位置就變成在 Chrome web store 中了。也正是這個原因,導致很多人分不清擴充套件和Web Apps,也不知道 Google 是不是故意迷惑大眾的。

  第二點是這兩者的工作方式不一樣,Web Apps 通常具備獨立的使用者介面,並且具備典型且豐富的使用者互動,更大程度上是一個具備互動性的東東。Google 的目的也是希望 Web Apps 能夠像安裝在你電腦中的軟體一樣具備互動性。

  而擴充套件的作用主要是豐富瀏覽器或網站的功能,而不是像 Web Apps 一樣屬於某個網站的專用產品或者說不具備獨立性。相對於 Web Apps 來說,擴充套件程式適用於網站以及 Web Apps ,一般來說適用於所有網站,但 Apps 不具備該特性,它們是獨立的,就像一個傳統的網站或者應用程式。

  另外還有一個區別就是安裝 Web Apps 需要 Google 帳號登陸,而安裝擴充套件就無所謂。當然,有些 Apps 是需要銀子的,而擴充套件則全都是免費的,至少目前如此。

  對於開發者來說,也可以通過 Google 官方的介紹瞭解一下這兩者的區別,其中涉及到 API 的呼叫以及打包方式等等。

猜你喜歡