小程序生态化,Hybrid App要崛起了?
引言
隨著 Web 技術和移動設備的快速發展,Hybrid 技術已經成為一種最主流最常見的方案。一套好的 Hybrid架構方案 能讓 App 既能擁有極致的體驗和性能,同時也能擁有靈活的開發模式、跨平臺能力以及熱更新機制。小程序的引入,似乎是這個APP發展時期的最大特點之一,小程序生態化的構建,將很大程度上助力Hybrid App的崛起。
我們先介紹一下目前市面上常見的一些APP開發技術架構
小程序生態的源頭—Native App 開發模式
Native App,原生APP,使用原生(即Android或iOS)開發的APP。應用的性能好是無容置疑的,可以使用系統的所有硬件和軟件 API,比如 GPS、攝像頭、麥克風、加速計、通知推送等等,能充分發揮系統的潛力。
但是也存在些許弊端:
1、原生 App 必須下載安裝才能使用,只要升級版本,就必須重新下載安裝。用戶往往不愿意更新版本,廠商被迫不得不長期支持很久以前的舊版本。
2、原生 App 使用底層操作系統的語言,都是很重的編譯型語言,開發和調試成本相對較高,時間周期長。
3、無法跨平臺:Android和iOS都需要開發各自平臺的版本——開發成本高,還需要經過應用商店審核,常常會導致兩端發版不一致
4、需要建立不同的開發團隊,大公司一般都有 iOS 和安卓兩個開發團隊。如果出現第三個平臺(例如Windows Phone或者華為鴻蒙 OS),可能就要組建第三個團隊,成本就更高。
小程序生態的工具—Web App 開發模式
相信HTML5技術的興起給Web App注入了新的生機。
Web App,一般指的是基于 Web 的應用,基于瀏覽器運行,無需下載安裝,基本上可以說是觸屏版的網頁應用。這類應用基本上是一個網頁或一系列網頁,旨在在移動屏幕上工作。
Web 網站一般分為兩種:
MPA(Multi-page Application)
SPA(Single-page Application)
一般的 Web App 是指 SPA 形式開發的網站。
優點:
開發和維護成本低,可以跨平臺,調試方便;
前端人員開發的代碼,可應用于各大主流瀏覽器(特殊情況可以代碼進行下兼容),沒有新的學習成本,而且可以直接在瀏覽器中調試。
更新最為快速;
由于web app資源是直接部署在服務器端的,所以只需替換服務器端文件,用戶訪問是就已經更新了(當然需要解決一些緩存問題)。
缺點:
性能低,用戶體驗差;
由于是直接通過的瀏覽器訪問,所以無法使用原生的API,操作體驗不好。
依賴于網絡,頁面訪問速度慢,耗費流量;
Web App每次訪問都必須依賴網絡,從服務端加載資源,當網速慢時訪問速度很不理想,特別是在移動端,對網站性能優化要求比較高。
功能受限,大量功能無法實現;
只能使用 HTML5 的一些特殊 API ,無法調用原生 API ,所以很多功能存在無法實現情況。
臨時性入口,用戶留存率低;
這既是它的優點,也是缺點,優點是無需安裝,確定是用完后有時候很難再找到,或者說很難專門為某個web app留存一個入口,導致用戶很難再次使用。
小程序生態的構建—Hybrid App 開發模式
Hhybrid App顧名思義就是原生 App 與 Web App 的結合。它的殼是原生 App,但是里面放的是網頁。 可以理解成,混合 App 里面隱藏了一個瀏覽器,用戶看到的實際上是這個隱藏瀏覽器渲染出來的網頁。
混合 App 的原生外殼稱為"容器",內部隱藏的瀏覽器,通常使用系統提供的網頁渲染控件(即 WebView 控件),也可以自己內置一個瀏覽器內核。結構上,混合 App 從上到下分成三層:HTML5 網頁層、網頁引擎層(本質上是一個隔離的瀏覽器實例)、容器層。
混合 App 同時具有原生 App 和 Web App的優點,又可以避免它們的一些缺點。具體來說,可以總結為三點。
(1)跨平臺
Web 技術是跨平臺的,開發者只寫一次頁面,就能支持多個平臺。也就是說,混合 App 只需要一個團隊就夠了,開發成本較低。
(2)開發方便
Web 頁面的調試和構建,遠比原生控件簡單省時。頁面的更新也容易,只要在服務器上發布新版本,觸發容器內更新就可以了。另外,Web 開發人員也比較容易招聘,傳統的前端程序員可以承擔開發任務。
(3)靈活性
混合 App 的靈活性大,很容易集成多種功能。一方面,混合 App 很容易加載外部的 H5 頁面,實現 App 的插件結構;另一方面,Web 頁面可以方便地調用外部的 Web 服務。
現在比較流行的混合方案主要有三種,主要是在UI渲染機制上的不同:
在此特別強調一下第三種方案——基于小程序方案,也是通過更加定制化的 JSBridge,并使用雙 WebView 雙線程的模式隔離了JS邏輯與UI渲染,形成了特殊的開發模式,加強了 H5 與 Native 混合程度,提高了頁面性能及開發體驗。
小程序在JS-SDK的基礎上,一方面進一步開放和拓展原生的能力給到Web前端調用,另一方面,頁面渲染(Webview Render)的UI層和邏輯層,使用了兩個獨立的線程。如下圖所示:
小程序運行時本質上是一個處理Web頁面渲染、數據邏輯交互的虛擬機,這個虛擬機提供了豐富的原生能力供小程序調用(API、組件、AI能力等),極大的拓展了Web應用的能力邊界,尤其是在諸如滾動視圖(scrool-view)、導航(navigator)、圖片預覽(cover-image)等組件的提供,使得前端開發人員在使用現有的web前端技術,就可以開發出接近原生體驗的應用。
技術選型
任何技術方案的選型,其實都應該基于使用場景和現有條件。基于公司現有情況的幾點考慮,在方案一上進一步優化,更加適合我們的需求。
獲得一個「小程序運行時引擎」,App會有什么改變?
以往業務部門要發布一些新的功能的時候,用戶必須要主動更新App,而且任何一個局部功能的變化升級需要去重新去應用市場再操作一次,成本很高。由于并不是所有的用戶都去更新,造成IT團隊需要花費大力氣去維護多個不同的版本。這種方式造成用巨大的資源浪費和用戶體驗的不便利。
如果用小程序,這個問題會迎刃而解。首先,小程序可以獨立的去更新,App作為了一個載體,很長的一段時間內,不需要被頻繁更新。其次,每個小程序可以按照業務具體需要去獨立發布各自的版本,不同的小程序之間的更新升級彼此獨立、互不干擾。最后,由于小程序運行的沙箱機制,保證了不論是哪個小程序出現Bug、崩潰等情況,不會拖累應用本身,即便出現嚴重問題,也不過就是把它下線即可。
目前市面上也提供了小程序的通用解決方案,今天為大家介紹一下——FinClip。它的最大特點,就是能夠讓任何 App 運行小程序。
只需要在你的 App 里面,引入它的 SDK,就能加載運行外部小程序了。除了 SDK,它還提供一個后臺管理系統,統一管理小程序的上架和下架,以及收集和分析小程序數據。
而且FinClip完全遵循微信小程序的開發標準與規范。也就是說,現有的微信小程序可以不改一行代碼,直接放進你的 App 里面,運行效果保持不變,不必額外二次開發和改造,大大節省了人力成本。
不僅如此,FinClip 還支持手機以外的多種終端,包括 Linux、Windows、MacOS、麒麟等操作系統。這意味著,PC 端、車載設備、智能電視都能使用小程序了,實現了小程序的“一次開發,到處運行”,同時觸達眾多流量平臺,而不僅僅局限于微信生態。
FinClip 還提供小程序 IDE 開發工具,界面與微信小程序的開發工具類似,自帶調試和真機預覽,簡單易上手。你可以在這個 IDE 里面,對現有項目進行二次開發,擴展功能和接口,或者從零開始寫出一個小程序。
目前,FinClip 已經得到了很多大公司的認可,有上百家客戶,包括券商、股份制銀行、航空公司、車載設備服務商、省級移動警務平臺等重要企業。開發者人數超過3萬,服務用戶達到2500萬人,在真實的生產環境經受了百萬級的并發壓力考驗。
任何事物的發展都具有周期性,顯然小程序的這波紅利已經到來, 今天的創新可能就是明天的標配。當務之急,盡早上船拿到“船票”。
如果你的 App 也想運行小程序,不妨考慮一下 FinClip。建議訪問官方的上手教程和產品手冊,詳細了解,可以注冊一個賬號試試看。而且近期他們也有在舉辦針對移動應用的?黑客馬拉松編程挑戰賽,獎金池高達十萬,感興趣的小伙伴可以了解一下~
3月1日起,FinClip 啟動首屆 Hackathon 大賽!本屆黑客松一共包含三大主題賽道(內核組、生態組、創意組),盡可能的讓開發者可以找到大顯身手的機會,參賽者不論是APP開發者、小程序開發者、產品經理或者UI交互,都可以找到適合的領域,圍繞 FinClip 探索無限可能。
同時為了更好的激勵大家產出創意,主辦方準備了價值十萬元的大賽獎金池!現在圍觀比賽還可以參加盲盒抽獎,Mac pro、人體工學椅、蘋果音響等豐富禮品等你來拿!手動指引👉:「碼」力集結,與眾不「凡」 - 小程序容器技術領導者 | FinClip
總結
以上是生活随笔為你收集整理的小程序生态化,Hybrid App要崛起了?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 找不到org.springframewo
- 下一篇: 硬盘整数大小分区问题