国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

React Native重構即將完成,改善版本有何不同?

如意 ? 來源:百家號 ? 作者: 讀芯術 ? 2020-07-01 14:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

2015年,React Native被首次推出,使用ReactJS框架開發原生跨平臺應用程序。該框架獲得了社區的大力支持,并憑借其Web同行的名聲逐漸普及,但其實該平臺的原始設計并非沒有缺點。

2018年,Facebook團隊宣布他們正試圖解決多年來開發人員遇到的這些最常見問題,進行ReactNative重構。這樣的重構改善體現在哪些方面呢?本文將從性能和開發速度方面來談一談。

原構造

ReactNative曾被稱作“不依賴于平臺”的應用框架。從某種程度上講,該框架的主要目標是讓開發人員編寫Javascript React代碼,而React Native可以在幕后部署其機制,以將Reactreconciliation tree轉錄成可由原生基礎設施解釋的內容。它能夠:

· 正確顯示UI

· 訪問原生功能

通常,Android/ iOS生態系統目前的機制如下所示:

每個React Native應用程序中運行著3個并行線程:

· 陰影線程用來設計布局。它使用Facebook自帶的Yoga布局引擎來設計flexbox布局并將其發送回UI線程。

· JS線程讀取和編譯所有JavaScript代碼以及執行應用程序大部分業務邏輯。將所有Javascript代碼融匯到一個文件中,并翻譯任何其他Javascript語法(例如JSX或TS),然后將此代碼發送到JavaScriptCore引擎以便運行。

· 原生線程是運行原生代碼的位置。每當需要更新UI或訪問本機函數時,它將與JS線程連接。它分為原生UI和原生模塊。原生模塊在啟動時都處于預備狀態,這意味著即使ReactNative使用藍牙模塊,該藍牙模塊也始終處于運行狀態。

使用橋接器可以連接JS線程和原生線程,在后臺,C++模塊圍繞一個異步隊列構建。每當它從任一方獲取數據時,都會將數據序列化為字符串并將其通過隊列傳遞,并在到達時反序列化。

這意味著所有線程都依賴于跨網橋傳輸的異步JSON消息,并且這些消息發送到任一端,期望它們在將來的某個時間引發響應,但它還存在擁塞的風險。

每當瀏覽者在原生環境中拖動滾動條時,信息都會異步發送到JavaScript領域,但是原生環境不會等待Java腳本執行工作并將其以另一種方式發送回去。這會造成延遲,屏幕上出現信息之前會一片空白。

同樣,布局設計需要經過很多次才能在屏幕上顯示,因為在原生設計布局之前,它需要想盡辦法到達Yoga引擎,當然這也意味著要通過橋接器。可以看到異步序列化來回發送JSON數據是怎樣造成性能問題的,但是如何使JavaScript與本機通信呢?這就要靠JSI發揮作用了。

新架構

重構版的ReactNative將逐漸棄用橋接器,轉而采用新元素——JavaScript接口(JSI)。JSI的一些改進令人驚喜,首先就是JS軟件包不再依賴JSC。換句話說,現在可以輕松地將JSC引擎與其他(可能更高性能的)JavaScript引擎互換,例如V8。

第二個改進針對的是這種新架構的基礎:“通過使用JSI,JavaScript可以保存對C++主機對象的引用并對其調用方法。JavaScript和原生領域將真正彼此了解?!?/p>

這也意味著JSI將允許所有線程之間完全互操作。通過共享所有權,JavaScript代碼可以直接從JS線程運行原生方法,不需要將要傳遞的消息序列化為JSON,這消除了橋接器上的所有擁塞和異步問題。

除了顯著改善不同線程之間的通信之外,這種新架構還可以直接控制原生模塊。這意味著我們可以在需要時使用原生模塊,而不是在啟動時將它們全部引導一次。這大大提高了性能,節省了啟動時間。

在掌握了C ++的強大功能的基礎上,懂得如何將React Native用于定位非常大的系統面板是很容易的。

推出這么多年,ReactNative已過時、待清理、需維護的部分已經積攢很多了,React Native框架已經清除了某些功能,諸如Webview或AsyncStorage之類的模塊正逐漸從React Native核心中移出,將轉變為社區管理的存儲庫。

憑借新的精簡核心模塊以及JavaScript代碼與原生代碼之間強大的互操作性機制,React Native重構將實現許多性能改進和更全方位的開發人員工作流。它計劃在2020年第四季度之前完成全面重組,更好的性能和全新開發體驗十分令人期待。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 可重構
    +關注

    關注

    0

    文章

    8

    瀏覽量

    9211
  • ui
    ui
    +關注

    關注

    0

    文章

    209

    瀏覽量

    22383
  • reactjs
    +關注

    關注

    0

    文章

    4

    瀏覽量

    4735
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    小型自重構機器人能不能幫忙做一個?

    最低、能直接動手做**的版本。 --- # 一、你能做出的效果(超酷) 這種叫 **模塊化自重構機器人(微型蛇形/組合式)** 你做出來可以: - 像小蛇一樣**爬行** - 多個模塊**自動
    發表于 02-21 19:24

    【OFDR】實時感知、動態重構與歷史狀態回溯!昊衡科技-三維場重構軟件

    三維場重構軟件三維場重構軟件通過TCP協議獲取傳感數據,并實時重構三維溫度/應變場。軟件支持導入三維模型(.wrl格式)與二維圖片(.jpeg格式),實現“數據-空間位置”的精準映射。二維直線
    的頭像 發表于 01-29 17:40 ?1294次閱讀
    【OFDR】實時感知、動態<b class='flag-5'>重構</b>與歷史狀態回溯!昊衡科技-三維場<b class='flag-5'>重構</b>軟件

    端到端與模塊化自動駕駛的數據標注要求何不同?

    [首發于智駕最前沿微信公眾號]自動駕駛技術路徑的每一次技術轉向,都伴隨著底層數據處理邏輯的徹底重構。過去,智駕系統普遍依賴模塊化設計,將駕駛任務拆解為感知、預測、規控等獨立環節;而今,以端到端技術為
    的頭像 發表于 01-27 09:48 ?921次閱讀
    端到端與模塊化自動駕駛的數據標注要求<b class='flag-5'>有</b><b class='flag-5'>何不</b>同?

    SeaVerse發布全球首個AI Native平臺,“All in AI Native”引領AI創作前瞻革命

    SeaVerse強調的"All in AI Native"對于既存的AI創作者和創作團隊來說注定是場"前瞻革命"。
    的頭像 發表于 01-14 17:41 ?1229次閱讀

    QCon·上海站HarmonyOS開發者技術分論壇:共探鴻蒙開發新機遇

    論壇(以下簡稱“論壇”)成功舉辦,論壇聚焦 AI 實踐落地與技術賦能,邀請多位華為技術專家深度解讀并分享 HarmonyOS AI輔助開發能力、多設備適配解決方案、場景化賦能、性能調優、場景能力共建以及React?Native性能優化等方面的實戰內容,幫助開發者快速了解前
    的頭像 發表于 10-24 15:59 ?879次閱讀
    QCon·上海站HarmonyOS開發者技術分論壇:共探鴻蒙開發新機遇

    AES和SM4算法的可重構分析

    一、AES和SM4算法特點分析 基于前面幾篇分享,我們對AES和SM4的算法流程了較為清晰的認識,接下來對AES和SM4算法的共同點進行分析,得出二者的可重構設計思路。 首先,這里把AES
    發表于 10-23 07:26

    UFS 5.0存儲標準即將完成

    電子發燒友網綜合報道,JEDEC固態技術協會宣布即將完成新一代UFS 5.0存儲標準。UFS5.0專為需要高性能且低能耗的移動應用和計算系統而設計,計劃提供比其前代更快的資料存取速度和更佳的性能表現
    的頭像 發表于 10-10 08:23 ?7802次閱讀
    UFS 5.0存儲標準<b class='flag-5'>即將</b><b class='flag-5'>完成</b>!

    ZeroNews 的 TLS 終止方案何不同?

    TLS(傳輸層安全協議)終止是指在網絡代理節點(如反向代理服務器)上結束加密連接的過程。當公網用戶通過 HTTPS 訪問服務時,流量首先到達代理節點,在此處完成 TLS 解密,再將明文流量轉發至后端服務。
    的頭像 發表于 08-25 12:09 ?551次閱讀
    ZeroNews 的 TLS 終止方案<b class='flag-5'>有</b><b class='flag-5'>何不</b>同?

    鴻蒙5開發寶藏案例分享---點擊完成時延分析

    ?** 鴻蒙完成時延優化實戰指南:讓你的應用絲滑如飛!** 在移動端開發中, 完成時延就是用戶體驗的生命線 !今天帶你深入鴻蒙完成時延優化,揭秘官方文檔中的寶藏技巧,讓你的應用告別卡頓,流暢起飛
    發表于 06-12 17:03

    USB4和TBT4平臺的ccg6sf/df配置設置何不同?

    :CYPD6128-48LQXI_notebook_dualapp_rkl_config.cyacd)以支持 USB4 平臺? 1. USB4 和 TBT4 平臺的 ccg6sf/df 配置設置何不同? 2. 對于 USB4 平臺,我能否使用 HOST SDK3.6 來
    發表于 05-22 06:27

    一種低翹曲扇出重構方案

    翹曲(Warpage)是結構固有的缺陷之一。晶圓級扇出封裝(FOWLP)工藝過程中,由于硅芯片需通過環氧樹脂(EMC)進行模塑重構成為新的晶圓,使其新的晶圓變成非均質材料,不同材料間的熱膨脹和收縮程度不平衡則非常容易使重構晶圓發生翹曲。
    的頭像 發表于 05-14 11:02 ?1387次閱讀
    一種低翹曲扇出<b class='flag-5'>重構</b>方案

    HDMI接口芯片失效原因分析和HDMI接口芯片改善措施與選型

    HDMI接口芯片 失效原因分析和改善措施 ? ? HDMI,全稱 High Definition Multimedia Interface, 即高清多媒體接口。自問世以來,HDMI 歷經了多次版本
    的頭像 發表于 05-09 11:16 ?3.4w次閱讀
    HDMI接口芯片失效原因分析和HDMI接口芯片<b class='flag-5'>改善</b>措施與選型

    tscircuit - 電路開發的 React 范式? 用TypeScript、React和 AI工具構建電子產品

    用 TypeScript、React 和 AI 工具構建電子產品。
    的頭像 發表于 04-30 18:18 ?1486次閱讀
    tscircuit - 電路開發的 <b class='flag-5'>React</b> 范式?   用TypeScript、<b class='flag-5'>React</b>和 AI工具構建電子產品

    如何在Ubuntu 24.04上運行5.4.47版本?

    我正在為我們自己的 imx8mm 板升級我們的構建機器。我們仍然使用 5.4.47 版本作為我們的 BSP 基礎,并在 Ubuntu 18.04 上運行我們的構建 # Used reporepo
    發表于 04-11 06:08

    使用VIRTUALLAB FUSION仿真光纖光學

    使用戶界面更加友好。 但是,當我們等待新功能在即將發布的版本中發布時,當前版本中其實已經很多您可以享受到的功能! 查看下面的用例,獲取一些啟發吧。 用于光纖耦合的不同透鏡的比較 為
    發表于 03-20 18:18