12月20日,騰訊開源跨端框架 Hippy。 在騰訊內部,Hippy 已運行3年之久,跨 BG 共有 18 款線上業務正在使用 Hippy,日均 PV 過億,且已創建一套完整生態。相較於其餘跨端框架,Hippy 對前端開發者更友好:緊貼 W3C 標準,聽從網頁開發各項規則,使用 JavaScript 爲開發語言,同時支持 React 和 Vue 兩種前端主流框架。前端
「跨端」是目前前端界比較流行的一個詞彙。「跨端」之因此流行,根源在於傳統網頁開發受瀏覽器能力限制太大,尤爲是各家瀏覽器的不一樣實現、離線能力和性能上的缺陷致使 App 很難知足用戶體驗的需求。跨端框架本質上是將終端能力以一種形式提供業務開發使用,能夠無限制地使用全部終端能力的同時,儘可能讓業務開發只編寫一套代碼,這樣既能知足性能需求,又能減小開發成本。vue
但縱觀整個社區內的跨端開發框架,仍舊存在兩個主要問題:react
出現上述問題的緣由,是由於目前業內的跨端框架,大部分由終端開發者主導開發,並非從前端開發者角度出發的,因此對於前端開發者來講不夠友好。git
Hippy 跨端框架是由QQ 瀏覽器部門發起的,針對前端開發者推出的跨端解決方案。爲業內現存問題,Hippy 緊貼 W3C 標準,聽從網頁開發各項規則,從前端開發人員角度出發,使用 Javascript 爲開發語言,同時支持 React 和 Vue 兩種前端主流框架。對於前端開發者而言,Hippy 上手難度會更低,學習曲線會更平滑。github
Hippy 實現了相似 Flutter 的引擎直通架構(在 React Native 中的 Fabric 架構),經過 C++ 開發的模塊直接插入 JS 引擎中運行,繞過了前終端通信編解碼的開銷,有效提高了 JS 前端代碼和終端的通信性能。在此基礎之上,Hippy 正在實現高性能自繪,以提供更強的性能和更好的用戶體驗。web
hippy-react 從語法上更加接近終端底層,某種程度上語法接近 React Native,同時經過官方提供了 hippy-react-web 組件庫,也能夠方便地生成 Web 版網頁。瀏覽器
全民 K 歌架構
react + hippy-react + hippy-react-web框架
hippy-vue 的組件、參數和接口徹底符合瀏覽器標準,前端開發用瀏覽器標籤和經常使用的 CSS 選擇器就能夠完成跨端界面繪製。其優點以下:性能
事實上,hippy-vue 其實只是瀏覽器上的 Vue 在終端上的一個渲染層,理論上大多數 Vue 在網頁上的生態能夠直接遷移過來。
王者營地
vue + hippy-vue
Hippy 在騰訊內部已經有一套完整生態,包含 GCanvas、Lottie、SVG 等都有對應組件封裝,同時包含騰訊內部自研的 Hippy 業務組件庫、高性能圖形庫、異常上報(支持 Sentry)等,也會在將來逐步對外開放。
Hippy 正式開源Github 地址:github.com/Tencent/Hip…
歡迎關注「雲加社區」,Hippy 的實戰和原理解析系列文章將會陸續上線。