国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

GaiaX開源解讀 | 跨端動(dòng)態(tài)化模板引擎詳解,看完你也能寫一個(gè)

這篇具有很好參考價(jià)值的文章主要介紹了GaiaX開源解讀 | 跨端動(dòng)態(tài)化模板引擎詳解,看完你也能寫一個(gè)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

GaiaX跨端模板引擎,是在阿里優(yōu)酷、淘票票、大麥內(nèi)廣泛使用的Native動(dòng)態(tài)化方案,其核心優(yōu)勢(shì)是性能、穩(wěn)定和易用。本系列文章《GaiaX開源解讀》,帶大家看看過去三年GaiaX的發(fā)展過程。

引言

在“GaiaX開源解讀系列之第一篇:《GaiaX開源解讀 | 基于優(yōu)酷業(yè)務(wù)特色的跨平臺(tái)技術(shù)》”中,為各位讀者詳細(xì)介紹了GaiaX起源背景、業(yè)務(wù)中碰到的瓶頸問題、解決問題的思路以及GaiaX技術(shù)形態(tài)的發(fā)展過程,在本篇中將進(jìn)一步深入GaiaX的各個(gè)細(xì)節(jié),深度解讀GaiaX團(tuán)隊(duì)同學(xué)是如何進(jìn)行方案落地的,看完本篇內(nèi)容相信你一定會(huì)有所收獲。

核心概念

GaiaX開源解讀 | 跨端動(dòng)態(tài)化模板引擎詳解,看完你也能寫一個(gè)

GaiaX是由優(yōu)酷應(yīng)用技術(shù)中心團(tuán)隊(duì)研發(fā)的一款跨端高性能渲染引擎,其本質(zhì)是個(gè)視圖還原框架,其核心理念是將模板還原成雙端的視圖組件,我們先通過一個(gè)視圖還原渲染的流程圖,看看GaiaX的上下游是如何工作的:
組件設(shè)計(jì)稿:組件設(shè)計(jì)稿是由設(shè)計(jì)同學(xué)給出,用于展示視圖組件的效果圖,開發(fā)同學(xué)需要用這個(gè)文件進(jìn)行視圖組件的開發(fā)。

GaiaStudio:
開發(fā)同學(xué)通過使用GaiaStudio,以拖拽、編寫的方式來創(chuàng)建節(jié)點(diǎn)的層級(jí)、設(shè)置節(jié)點(diǎn)的樣式、為節(jié)點(diǎn)綁定數(shù)據(jù),最終得到模板文件。
模板文件:
模板文件也被稱作GaiaX的DSL,其中包含三個(gè)子DSL,分別是index.json、index.css、index.databinding,用來描述節(jié)點(diǎn)的層級(jí)關(guān)系、節(jié)點(diǎn)樣式、節(jié)點(diǎn)數(shù)據(jù)綁定邏輯。
GaiaX:
在雙端上通過使用SDK來解析模板的內(nèi)容,經(jīng)過節(jié)點(diǎn)樹的構(gòu)建和視圖樹的構(gòu)建、視圖樹的數(shù)據(jù)綁定等步驟后,得到Native視圖,最終交給雙端渲染。
端渲染:
經(jīng)過雙端SDK對(duì)模板的加工和處理后,在Android和iOS上可以分別得到一個(gè)View和一個(gè)UIVIew,這兩個(gè)NativeView便是最終用于渲染的視圖,只需要將其插入的原生視圖中即可展示出渲染效果。

在了解了GaiaX的上下游與涉及到的環(huán)節(jié)后,下面就介紹一下GaiaX中的兩個(gè)核心概念 - 模板、節(jié)點(diǎn)樹與視圖樹:
GaiaX開源解讀 | 跨端動(dòng)態(tài)化模板引擎詳解,看完你也能寫一個(gè)

模板:
其描述了用于視圖還原的各種信息,模板作為自定義的DSL,其由三個(gè)子DSL構(gòu)成,分別是FlexBox、Css、Databinding,它們會(huì)被存儲(chǔ)在index.json文件、index.css文件、index.databinding文件中:

index.json文件用于存儲(chǔ)視圖的關(guān)聯(lián)關(guān)系。在該文件中,以json的格式,描述了每個(gè)視圖的層級(jí)關(guān)系、并列關(guān)系、嵌套關(guān)系等。

index.css文件用于存儲(chǔ)視圖的樣式。在該文件中,以通用的Css規(guī)范格式,描述了每個(gè)視圖節(jié)點(diǎn)的布局信息和樣式信息。

index.databinding文件用于存儲(chǔ)視圖的數(shù)據(jù)綁定邏輯。在該文件中,以json的格式,描述了每個(gè)視圖的數(shù)據(jù)綁定關(guān)系和動(dòng)態(tài)更新邏輯。這其中用到了自定義的表達(dá)式 ,它支持常規(guī)的取值、對(duì)比、條件等計(jì)算。
GaiaX開源解讀 | 跨端動(dòng)態(tài)化模板引擎詳解,看完你也能寫一個(gè)

節(jié)點(diǎn)樹與視圖樹:
如果用比喻的手法來描述節(jié)點(diǎn)樹與視圖樹,那么可以將其比作人體的骨架與血肉。節(jié)點(diǎn)樹的主體結(jié)構(gòu)由模板的index.json文件解析構(gòu)建而來&#文章來源地址http://www.zghlxwxcb.cn/news/detail-403867.html

到了這里,關(guān)于GaiaX開源解讀 | 跨端動(dòng)態(tài)化模板引擎詳解,看完你也能寫一個(gè)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【C語(yǔ)言】動(dòng)態(tài)內(nèi)存管理基礎(chǔ)知識(shí)——?jiǎng)討B(tài)通訊錄,如何實(shí)現(xiàn)通訊錄容量的動(dòng)態(tài)化

    【C語(yǔ)言】動(dòng)態(tài)內(nèi)存管理基礎(chǔ)知識(shí)——?jiǎng)討B(tài)通訊錄,如何實(shí)現(xiàn)通訊錄容量的動(dòng)態(tài)化

    動(dòng)態(tài)內(nèi)存管理的函數(shù)有:malloc,calloc,ralloc,free,本文講解動(dòng)態(tài)內(nèi)存函數(shù)和使用,如何進(jìn)行動(dòng)態(tài)內(nèi)存管理,實(shí)現(xiàn)通訊錄聯(lián)系人容量的動(dòng)態(tài)化,對(duì)常見動(dòng)態(tài)內(nèi)存錯(cuò)誤進(jìn)行總結(jié)。 ???????? ? ? ? ? ? ? ? ? ??? 豬巴戒 :個(gè)人主頁(yè)? ??????????????? 所屬專欄 :《C語(yǔ)言進(jìn)階》

    2024年02月04日
    瀏覽(44)
  • iServer通過服務(wù)實(shí)例動(dòng)態(tài)化管理MongoDB萬級(jí)瓦片集應(yīng)用實(shí)踐

    iServer通過服務(wù)實(shí)例動(dòng)態(tài)化管理MongoDB萬級(jí)瓦片集應(yīng)用實(shí)踐

    作者:Carlo 數(shù)據(jù)特點(diǎn) 柵格數(shù)據(jù):數(shù)據(jù)量大、增長(zhǎng)快、接收來源廣、類型多、時(shí)間跨度大 矢量數(shù)據(jù):隨著柵格數(shù)據(jù)增長(zhǎng)而增長(zhǎng)的,包含點(diǎn)線面類型 項(xiàng)目難點(diǎn) 有 萬級(jí) 數(shù)據(jù)(MongoDB瓦片)需要發(fā)布成GIS服務(wù)(wms、wmts) 單個(gè)iServer承載的GIS服務(wù)較多時(shí), 出現(xiàn) 啟動(dòng)過慢 等問題,原因

    2024年02月12日
    瀏覽(27)
  • 從靜態(tài)到動(dòng)態(tài)化,Python數(shù)據(jù)可視化中的Matplotlib和Seaborn

    本文分享自華為云社區(qū)《Python數(shù)據(jù)可視化大揭秘:Matplotlib和Seaborn高效應(yīng)用指南》,作者: 檸檬味擁抱。 首先,確保你已經(jīng)安裝了Matplotlib和Seaborn庫(kù)。如果沒有安裝,可以使用以下命令進(jìn)行安裝: Matplotlib是一個(gè)靈活的繪圖庫(kù),支持多種圖表類型。以下是一個(gè)簡(jiǎn)單的折線圖的

    2024年03月25日
    瀏覽(28)
  • 基于uni-app+vue3跨端「h5+小程序+App」仿制chatGPT模板實(shí)例

    基于uni-app+vue3跨端「h5+小程序+App」仿制chatGPT模板實(shí)例

    uni-chatgpt 一款uniapp+vite4+uview-plus多端ChatGPT模板實(shí)例。 全新首發(fā)的一款多端仿制chatgpt智能對(duì)話實(shí)戰(zhàn)項(xiàng)目,基于 uniApp+Vue3+Pinia+uViewUI+MarkdownIt 等技術(shù)開發(fā)搭建項(xiàng)目。支持編譯到 h5+小程序+APP端 ,支持markdown語(yǔ)法解析及代碼高亮。 全屏沉浸式頂部導(dǎo)航條+底部tabbar 支持解析h5+小程序

    2024年02月12日
    瀏覽(27)
  • uniapp-chatgpt跨端仿ChatGPT實(shí)例|uniapp+vue3+pinia多端聊天模板

    uniapp-chatgpt跨端仿ChatGPT實(shí)例|uniapp+vue3+pinia多端聊天模板

    基于 uniapp+vite4+pinia 跨多端實(shí)現(xiàn)chatgpt會(huì)話模板 Uniapp-ChatGPT 。 uni-chatgpt 使用 uni-app+vite4+vue3+pinia+uview-plus 等技術(shù)構(gòu)建多端仿制ChatGPT手機(jī)端APP會(huì)話應(yīng)用模板。支持 編譯到h5+小程序+APP端 ,支持 渲染markdown語(yǔ)法及代碼高亮 、解決 軟鍵盤撐起布局 問題。 編譯 [ H5+小程序+App端 ] 效果

    2024年02月11日
    瀏覽(16)
  • 騰訊開源跨端框架Hippy 3.0在騰訊視頻的升級(jí)實(shí)踐

    騰訊開源跨端框架Hippy 3.0在騰訊視頻的升級(jí)實(shí)踐

    ??導(dǎo)讀 Hippy 是騰訊開源的跨端框架,在騰訊內(nèi)部業(yè)務(wù)場(chǎng)景中有廣泛應(yīng)用。騰訊視頻搜索業(yè)務(wù)基于 Hippy 2.0 框架開發(fā),在使用過程中發(fā)現(xiàn)了一些不便利的地方:動(dòng)畫渲染雙端不一致問題;對(duì)圖片和樣式的處理雙端不一致現(xiàn)象;沒有可用的橫滑組件/雙列流組件等等。Hippy 3.0 框架

    2024年01月21日
    瀏覽(42)
  • 華為云 OpenTiny 跨端、跨框架企業(yè)級(jí)開源組件庫(kù)項(xiàng)目落地實(shí)踐直播即將開啟!

    華為云 OpenTiny 跨端、跨框架企業(yè)級(jí)開源組件庫(kù)項(xiàng)目落地實(shí)踐直播即將開啟!

    大家好,我是 Kagol,公眾號(hào):前端開源星球。 “你們這個(gè)產(chǎn)品怎么只能在電腦上適配呀?我想在手機(jī)上看都不行,太麻煩了?。 ?“你們這個(gè)產(chǎn)品看起來太簡(jiǎn)單了,我想要@@功能,你們這都不能實(shí)現(xiàn)嗎?” “你們這個(gè)產(chǎn)品到底安全不安全呀,不會(huì)填一點(diǎn)信息然后全給我泄露

    2023年04月21日
    瀏覽(23)
  • 基于uniapp+vite4+vue3搭建跨端項(xiàng)目|uni-app+uview-plus模板

    基于uniapp+vite4+vue3搭建跨端項(xiàng)目|uni-app+uview-plus模板

    最近得空學(xué)習(xí)了下uniapp結(jié)合vue3搭建跨端項(xiàng)目。之前也有使用uniapp開發(fā)過幾款聊天/仿抖音/后臺(tái)管理等項(xiàng)目,但都是基于vue2開發(fā)。隨著vite.js破局出圈,越來越多的項(xiàng)目偏向于vue3開發(fā),就想著uniapp搭配vite4.x構(gòu)建項(xiàng)目效果會(huì)如何?經(jīng)過一番嘗試果然真香~ uniapp官網(wǎng)提供了? HBuild

    2024年02月09日
    瀏覽(95)
  • 參與開源之夏 x OpenTiny 跨端跨框架 UI 組件庫(kù)貢獻(xiàn),可以贏取獎(jiǎng)金?!這份《OpenTiny 開源貢獻(xiàn)指南》請(qǐng)收好?!

    參與開源之夏 x OpenTiny 跨端跨框架 UI 組件庫(kù)貢獻(xiàn),可以贏取獎(jiǎng)金?!這份《OpenTiny 開源貢獻(xiàn)指南》請(qǐng)收好?!

    大家好,我是 Kagol。 近期有幾位朋友在 OpenTiny 技術(shù)交流群里詢問我們?cè)陂_源之夏(OSPP)的項(xiàng)目,希望能提前做一些準(zhǔn)備工作。 這里給大家簡(jiǎn)單介紹下開源之夏。 開源之夏是由中科院軟件所“開源軟件供應(yīng)鏈點(diǎn)亮計(jì)劃”發(fā)起并長(zhǎng)期支持的一項(xiàng)暑期開源活動(dòng),旨在鼓勵(lì)在校學(xué)生積

    2023年04月16日
    瀏覽(23)
  • (小程序)基于uniapp+vite4+vue3搭建跨端項(xiàng)目|uni-app+uview-plus模板

    (小程序)基于uniapp+vite4+vue3搭建跨端項(xiàng)目|uni-app+uview-plus模板

    版本信息: 點(diǎn)擊編輯器的文件 新建 項(xiàng)目(快捷鍵Ctrl+N) 2.選擇uni-app項(xiàng)目,輸入項(xiàng)目名/路徑,選擇項(xiàng)目模板,勾選vue3版本,點(diǎn)擊創(chuàng)建,即可成功創(chuàng)建。 3.點(diǎn)擊編輯器的運(yùn)行 運(yùn)行到瀏覽器 選擇瀏覽器 當(dāng)然也可以運(yùn)行到手機(jī)或模擬器、運(yùn)行到小程序工具。 到這里一個(gè)簡(jiǎn)單的

    2024年02月16日
    瀏覽(98)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包