淺析小程式外掛

FinFish發表於2022-10-11
由於在小程式開發中需要引入外掛,但同事問起的時候還是被幾個概念難住了,雖然能夠了解大致的含義,但是對於每一個概念的理解又不是很深入,所以深入學習瞭解了幾個“概念模糊”的知識點,可能大家和我一樣對於外掛、元件、控制元件 等概念還存在一定的混淆,或者沒有完全瞭解清楚之間的區別,在這裡也分享給大家。

到底什麼是外掛

先按照官方的一些解釋來看看外掛的概念描述?
微信小程式官方描述:外掛,是可被新增到小程式內直接使用的功能元件。開發者可以像開發小程式一樣開發一個外掛,供其他小程式使用。同時,小程式開發者可直接在小程式內使用外掛,無需重複開發,為使用者提供更豐富的服務。
支付寶小程式官方描述:外掛是一種獨立封裝的軟體模組,用來承載企業的能力或者服務,便於宿主小程式進行快捷整合。和普通元件不同的是,外掛擁有獨立的應用和獨立的上下文,即資料、業務邏輯和服務端連線。當小程式應用需要使用外掛的服務時,載入和執行外掛,以使得外掛訪問自身的資料與服務端,完成對應的服務;而在小程式不需要使用外掛的服務時,只需要執行小程式應用本身,訪問小程式應用自身的資料服務端。外掛和宿主小程式上下文是互相隔離的,即小程式應用不能直接訪問外掛的資料,也不能獲得外掛的許可權,反之,外掛也不能直接訪問小程式的資料,也不能獲得小程式的許可權。
淺析小程式外掛
編輯 切換為居中
新增圖片註釋,不超過 140 字(可選)

外掛vs元件vs控制元件

為了進一步直觀的瞭解外掛、元件、控制元件之間具體的差異,我用一張表羅列了彼此之間的對比:
名稱
英文單詞
概念
顯著的特點
外掛
plugin & addin
算是元件的一種,在原有的應用程式中,已經給它們預留了介面。介面,簡言之就是一種規範。可以被開發者新增到小程式內直接使用的,能為使用者提供具體服務的功能元件。
即插即用,支援動態的插入在應用程式中已經預留介面的元件就是外掛可直接提供服務可以獨立進行發版,開發和升級更高效執行時框架提供上下文隔離機制,外掛內部的資料安全性更有保障
元件
component
提起元件我們不應該把他和具體的技術,什麼dll檔案,ocx控制元件,activex等等聯絡起來,因為元件僅僅是一個概念,如果非要解釋的話,那就是凡是在軟體開發中用到了軟體的複用,被複用的部分都可以稱為元件,元件是給開發者提供的輪子,不能直接提供服務。參考機械製造中的“零件”,它好比是組裝在一起的滿足一個功能單元的一組元件。
僅是一個寬泛的概念是給開發者提供的輪子,不能直接提供服務
控制元件
control & widget
也算是元件的一種,顧名思義,用來給使用者做控制的。做使用者圖形介面設計時,有一些“核取方塊”、“按鈕”之類的東西,這些都是控制元件。所以可以把它理解為用來做視覺化的一類元件。
是“視覺化”的,例如表單中的按鈕、文字框等

小程式外掛的價值

小程式外掛,顧名思義是用於小程式執行呼叫的外掛,小程式外掛的廣泛推廣使用可以實現“ 開發資源共享”、“可便捷強化能力”、“商業化變現”等積極作用

1.開發共享,避免重複開發

在小程式內使用外掛,可免去小程式開發者重複開發,一定程度上減少了開發工作量。例如:在小程式可以使用地圖外掛,開發者無需在小程式內獨立開發地圖內導航、出行指引、周邊服務推薦等能力,直接使用地圖外掛即可為使用者提供導航服務,免去很大量的開發工作。

2.強化能力,打造卓越產品

我們自己的技術、精力和成本都是非常有限的,開發出來的小程式的能力可能比較單一,如果想要應用到更多更復雜的功能就能夠透過快速引入小程式外掛的方式增強自己的產品能力。例如:想要在小程式實現產品的銷售,使用店鋪外掛,使用者即可透過小程式完成產品預訂、購買、評價等功能。

3.商業變現,能力有目共睹

外掛支援商業訂購和結算,質量優秀和普適性較高的小程式外掛可以藉助各大平臺的小程式外掛市場對開發的外掛進行封裝售賣,便於開發者進行服務變現和商業化。

小程式外掛的技術原理

外掛本身的技術原理並不複雜。外掛的木質是在不修改程式主體的情況下對軟體功能進行加強,當外掛的介面被公開時任何人都可以自己製作外掛來解決一些操作上的不便或增加一些功能。
一個外掛框架包括兩個部分:主程式(host)和外掛((plug-in)。主程式即是“包含”外掛的程式,外掛必須實現若干標準介面,由主程式在與外掛通訊時呼叫。
小程式外掛程式碼由一些自定義元件和 JS 程式碼檔案構成,外掛開發者在釋出外掛時,這些程式碼被上傳到後臺儲存起來。當小程式使用外掛時,使用者需填寫外掛的 AppID 和版本號,就可從後臺獲取相應的外掛程式碼。小程式程式碼編譯時,外掛程式碼會被嵌入到小程式中,與小程式一起編譯執行。

外掛商業變現的建議

目前開發者完成小程式外掛的開發後,可以將自己的外掛上架到微信小程式外掛市場、支付寶小程式外掛市場、FinClip 小程式應用市場等。前兩者不言而喻是最大的小程式生態市場,變現的能力較為強勁,而 FinClip 則主要是面向 B 端使用者群的小程式容器技術,利用其技術一些企業可以在自有 App 執行小程式,或者將自有小程式轉化為 App ,這兩類場景也都有整合小程式外掛的場景,也同樣具有一定的潛力。
正好也看到 FinClip 近期在開展 開發者外掛調研相關的活動,參與即可抽取周邊精美禮品,看到的同學可以去圍觀下~


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70021577/viewspace-2917748/,如需轉載,請註明出處,否則將追究法律責任。

相關文章