有贊移動應用如何給頁面安上“任意門”

“任意門”:一行配置實現頁面跳轉重定向。

背景 & 痛點 & 價值

動態路由組件,處理的是 App 中最最常見的一種行爲的問題,那就是:跳轉。

隨着 App 技術棧的擴展,從原本最最簡單的原生到原生的跳轉,擴展到目前同一個 App 中包含原生頁面、H5 頁面、Weex 頁面、Flutter 頁面之間的跳轉。

隨之而來的問題就是:隨着 App 的版本迭代,很多原本原生實現的頁面,需要通過新的 H5 或者 Weex 頁面進行升級/降級。而這些原本都是硬編碼的跳轉邏輯,可能需要隨着版本不停改動。總結下來,現有的,各個技術棧隔離的頁面跳轉邏輯面臨的直接問題有:

  • 跳轉邏輯跟着版本走,無法統一進行改動
  • 跨技術棧跳轉的實現成本比較高,必須在橋接模塊中進行特殊適配
  • 在一些 H5 需要使用專門 WebView 頁面打開的場景下,很難去適配,也必須通過各個 Web 跳轉的攔截做特殊處理

爲了解決以上硬編碼以及靈活性差的問題,我們決定梳理現有的各技術棧跳轉邏輯,將這些跳轉整合,能夠滿足動態性、可配置的需求。

得益於項目中原有的路由跳轉組件,各種頁面之間的頁面都可以通過 URL 的方式進行路由,於是我們基於 URL 跳轉,開發了一套動態路由組件,它完成的工作有 :

  • 承擔 App 內所有跳轉邏輯
  • 通過配置中心組件,支持獲取/配置路由替換規則
  • 匹配所有的路由跳轉規則,命中規則的,替換成新的目標路由地址
  • 將實際跳轉目標地址傳遞給路由組件執行實際的跳轉行爲

原文鏈接:【https://www.infoq.cn/article/LVQUWPfMN2XM86r5EEYP】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章