跨平台開發框架 Lynx 初探

2021-09-14 00:36:57 字數 1579 閱讀 8513

跨平台開發是目前開發較熱門的方向,react native 在這方面取得了很大的成功,同時 flutter 也獲得了非常多的關注。react native 採用 web 框架開發並使用 native ui 進行渲染,很大程度上降低了 native 開發的門檻並且提高迭代的效率,但是也不可避免地存在一些不足之處。

本人作為 rn 的長期開發體驗者,深知在有些技術在現有的 rn 這類框架上沒法得到很好的解決。比如首屏的速度,複雜的跟手動畫,和原生 android 和 ios 上的體驗確實有一定的差距的。當然這些小小的毛病不能阻礙跨平台開發技術的發展。本人也在持續的關注 flutter,這個框架解決了rn上效能的問題,但是也增加了學習成本。

最近發現了跨平台的乙個新框架 lynx,從官方簡介來看這個框架還處於 alpha 狀態,目前還沒有完整的文件,只有體驗 demo 。不過在體驗了這個框架提供的 demo之後,感覺還是可以持續關注下去的。lynx 官方宣稱擁有和 native 一致的首屏速度和互動體驗,體驗 demo之後發現首屏速度和互動的確很優秀。

最終效果和官方給出的**是一致的,就是整體的 demo 還是比較少的,略簡單。頁面開發流程暫時還沒嘗試,只能先看看效果。

在 lynx 的介紹裡面看到了和其他現有的跨平台框架相比的一些不一樣的特性,根據自己的體驗和官方介紹簡單說一下:

頁面首屏展示,看到給出的 demo 就可以知道,這個和原生的 android 和 ios 頁面一樣,都可以做到直出的,基本沒有任何白屏的狀況。這一點相比於 rn 確實是乙個不錯的點。

互動動畫,就是跟手動畫,在 rn 上要去實現這類動畫確實是比較難(本身因為中間還要過一層 jsbridge 的原因),要麼自己拓展 native 的模組。而在 demo 上的互動動畫非常順暢,並沒有出現任何的卡頓,在效果上甚至比 flutter 幀率更高。

jsbinding 機制,根據官方的說法有更高效的 jsbridge,但是體驗上暫時沒感覺出來,稍後去研究一下**

動態發布測試,這個是所有跨平台框架必須有的,不算什麼新鮮事。這個看文件的介紹需要結合腳手架 lynx-cli 。

頁面直接展示和滿幀的互動動畫的實現原理是什麼呢?官方給出了乙個簡單的工作流程圖和介紹。理解了這個就基本知道這個問題的答案了,頁面展示快的原因是因為將首屏的展示變成了排版檔案,從而略過了 js 的執行生成首屏元素的步驟,而互動動畫的實現也是通過了中間的互動動畫引擎在接收到事件後直接響應,從而略過了 js 的中間步驟。

體驗完lynx,覺得這個框架還是值得後續觀望,看下能做到什麼程度。

lynx 框架現在還是在 alpha 階段,暫時還不能直接用來開發要上線的應用,功能也尚不完備,但是可以關注它的發展,畢竟這個技術在實現上和 rn 有所區別,也希望能有新的想法,在滿足先在的需求的情況下突破現有的侷限。

嘗試 demo 之後,準備去看看**,一探內部實現。lynx 的倉庫也給出了可以使用的 api 列表,後續會根據 api 進行簡單實踐。希望能有更多的跨平台開發框架出現,推動技術的發展。

跨平台開發框架 Lynx 初探

跨平台開發是目前開發較熱門的方向,react native 在這方面取得了很大的成功,同時 flutter 也獲得了非常多的關注。react native 採用 web 框架開發並使用 native ui 進行渲染,很大程度上降低了 native 開發的門檻並且提高迭代的效率,但是也不可避免地存在一...

跨平台開發Cygwin MinGW

linux寶庫 1 引言 今天程式開發人員面臨的最大問題就是如何使他們的應用程式支援各種不同的平台,如何使使用者能夠在不同的平台下不作任何修改地就能使用他們的應用程式。眾所周知,linux作業系統和其它基於unix的作業系統一直是國際上使用廣泛又非常重要的os operating system 但在...

deviceone 跨平台開發

lz最近很忙 好久沒更新blog了好久沒搞android了 最近一直在學習js語言和跨平台開發工具那麼多 lz用的deviceone 說實話 真的很快速 官方封裝的各種框架底層 用起來簡單的不得了 簡單直接 粗暴 有效果 也有各位大神封裝的元件 唯一一點感覺不大爽的是說明文件寫的並不詳細 但基本上有...