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

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

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

3天內不再提示

一個可動態擴展的互動系統

張康康 ? 2018-11-01 13:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者 | 移動Team景生善

整理 | 包包

背景

動態化作為移動端的一個重要技術分支,一直是大家積極探索的方向。目前移動端流行的動態化方案有,Facebook的React Native,阿里的Weex,它們都是采用了JavaScript與Native之間的橋接,使JavaScript開發的App擁有近似于原生應用的性能。

其他的一些動態化方案,像歷史悠久的WaxPatch動態化方案,已經被App Store禁止的JSPatch,阿里的LuaView,騰訊的OCS,滴滴的DynamicCocoa。

但是Facebook的React Native和阿里的Weex接入以后會顯著增加App包的大小,還有環境搭建問題,不適合SDK的開發,只適合App開發。

通過對比幾種動態化方案,最后選擇阿里的LuaView方案來實現平臺的SDK。LuaView是由lua與Native控件之間的橋接來實現的,相對于其他解決方案來說,是一個輕量級的解決方案。而且Lua語言可擴展性強、簡單、高效、占用體積小、啟動速度快、學習簡單等諸多優勢,有著許多成功案例,是動態化方案首選。

LuaView設計原則

LuaView以UI視圖構建能力為基礎,實現了原生Native UI橋接到Lua Api,使用Lua腳本語言開發應用功能,同時能夠達到原生應用的性能和效果。


LuaView SDK整體架構(注:圖片來自于《LuaView:基于Lua的移動端跨平臺動態化方案》)

如圖,LuaView SDK的整體架構可以表示為五層。

第一、二層依次是OS層和Framework層,分別代表了AndroidiOS以及對應的系統框架層。

第三層有Lua虛擬機,腳本管理模塊和安全控制模塊。Android使用的是LuaJ虛擬機,iOS使用的是LuaC虛擬機,這兩個虛擬機都是目前兩種語言中用的最廣泛,最穩定的虛擬機。腳本管理模塊負責Lua腳本的管理,包括腳本的解包、驗證、加解密、解壓縮等工作。安全控制模塊負責Lua腳本的安全校驗工作,包括腳本完整性校驗和腳本安全校驗等。

第四層是LuaView的核心Lib庫,包括Lua UI Lib(主要是所有的UI組件,如View、Button、Label、Image等)和Lua Non-UI Lib(主要包括Network、Json、Gesture)。

最上層是Lua業務腳本以及Lua層的lib庫。

LuaView的兩個重要的設計原則

兩端一致性

LuaView的一條重要設計原則就是iOS和Android兩端邏輯只寫一份代碼,API設計的時候考慮了兩端的共性,對于兩端不同的地方,則由Native部分實現。現在,LuaView SDK中Lua API基本完成兩端接口的統一,保證API一致性,同一份腳本在兩端運行的結果也是相同的。


(注:圖片來自于《LuaView:基于Lua的移動端跨平臺動態化方案》)

簡單易用

LuaView的另一個設計原則是保持Lua語言的簡單和易用。在核心UI庫上,所有的API做到精簡,盡量使用腳本實現避免使用Native實現。所有API使用Lua原生語法,并且兩端的接口保持一致風格,方便開發。

OSLua

OSLua是一款針對視頻的互動娛樂的SDK,添加到視頻系統中,給視頻賦能,既可以增加視頻的收入,也可以增加視頻的娛樂性。OSLua SDK是在LuaView SDK的基礎上,擴展了VP UI和VP Non-UI,以及添加了視頻互動娛樂模塊。OSLua使用LuaView的動態化,可以動態的添加新的互動娛樂模塊,以及修改現有的互動娛樂模塊。

1540890835599bff5ee5515


OSLua整體架構

OSLua首先會對比本地版本和服務器版本,若是兩個版本不一致,將服務器版本更新到本地,并寫入本地文件Cache中。在系統運行互動娛樂模塊時,LuaCore按照模板的文件名,在文件Cache中查找,找到腳本文件以后,即可加載運行腳本文件,展示具體的互動類型。具體的流程如下:

154089083588493a8e5688b


OSLua運行流程

模板

OSLua中所有互動娛樂模塊,如云圖、中插、氣泡、投票等,都是采用統一的策略,將模板的共有屬性抽像為相同的參數,差異化的內容,則在模板中自己處理。這樣客戶端收到投遞的廣告時,將統一處理模板數據,按照模板數據時間,展示模板,控制模板展示的頻次,在這個階段系統并不知道處理的是哪個模板。模板展示時,根據模板數據展示具體的模板效果,所有的差異化的內容都在這個階段處理。同時,將模板中的各種事件,如展示、點擊、關閉等,還有需要對接平臺處理的操作,抽象為統一的參數,這樣所有的模板都有一樣的事件處理機制。以上的這些特性,可以極大的增加系統的擴展性,如果系統需要新的模板,只需要按照上面的策略,統一添加投遞和事件處理的參數,實現特異化的內容,就可以添加到系統中了。

1540890835603985aa9f442


OSLua模板參數

后續

OS Lua還在不斷完善,豐富Native到Lua的橋接,以及增加新的互動娛樂模板,最終將會發展為一個性能穩定,功能豐富的視頻增值SDK。

參考

1. LuaView:基于Lua的移動端跨平臺動態化方案

2. React Native中文網

3. Weex

4. OCS ——史上最瘋狂的iOS 動態化方案

5. 滴滴iOS 動態化方案DynamicCocoa 的誕生與起航


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

    關注

    0

    文章

    43

    瀏覽量

    4745
  • 系統
    +關注

    關注

    1

    文章

    1046

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    USB轉多串口擴展方案詳解

    、即插即用和廣泛兼容性,已成為各類主機設備的標準配置。借助USB總線的高帶寬與靈活協議,便捷地實現從單串口到多路串口的擴展,更可通過USB HUB級聯方式,輕松擴展出16、32、64乃至128
    的頭像 發表于 01-28 16:58 ?178次閱讀
    USB轉多串口<b class='flag-5'>擴展</b>方案詳解

    探索PCA9518:擴展五通道I2C集線器的卓越性能與應用

    探索PCA9518:擴展五通道I2C集線器的卓越性能與應用 在當今復雜的電子系統中,I2C總線的應用極為廣泛,但隨著設備數量和總線長度的增加,總線電容的限制成為了
    的頭像 發表于 12-26 11:30 ?465次閱讀

    基于Moku的功率器件動態參數測試系統:精準、高效、經濟的體化測試方案

    摘要隨著SiC、GaN等新型功率器件的廣泛應用,功率器件動態參數測試對系統響應速度、同步精度和靈活性提出了更高要求。本文基于LiquidInstruments的Moku平臺,提出
    的頭像 發表于 10-31 14:09 ?482次閱讀
    基于Moku的功率器件<b class='flag-5'>動態</b>參數測試<b class='flag-5'>系統</b>:精準、高效、經濟的<b class='flag-5'>一</b>體化測試方案

    RESTful API設計原則: 構建易用、擴展的API接口。

    響應是否緩存 分層系統(Layered System):支持中間件擴展 按需代碼(Code-On-Demand):可選擴展功能 實際案例:GitHub API嚴格遵循這些約束,其統
    的頭像 發表于 10-24 10:45 ?490次閱讀

    RVF單精度浮點指令集擴展介紹(1)

    RVF單精度浮點指令集寄存器擴展 RVF擴展了32獨立的浮點通用寄存器,其中0號寄存器可變。 RVF擴展了1fcsr寄存器,存放
    發表于 10-22 06:04

    RESTful API設計原則: 構建易用、擴展的API接口

    (Representational State Transfer)架構原則,構建易用、擴展的API接口,幫助開發者創建經得起時間考驗的服務。 、理解REST架構的核心約束 1.1 RESTful API的六大
    的頭像 發表于 10-20 13:45 ?802次閱讀

    SCH1633在動態調平系統中發揮的作用

    預定姿態的機電體化系統。簡單來說,它就像“自動找平”的智能機器人。典型的
    的頭像 發表于 09-19 12:01 ?763次閱讀
    SCH1633在<b class='flag-5'>動態</b>調平<b class='flag-5'>系統</b>中發揮的作用

    種適用于動態環境的實時RGB-D SLAM系統

    了UP-SLAM,這是種適用于動態環境的實時RGB-D SLAM系統。實驗結果表明,UP-SLAM在定位精度方面(高出59.8%)和渲染質量方面(峰值信噪比高出4.57分貝)均優于最先進的方法,同時保持實時性能,并在
    的頭像 發表于 07-04 15:14 ?1290次閱讀
    <b class='flag-5'>一</b>種適用于<b class='flag-5'>動態</b>環境的實時RGB-D SLAM<b class='flag-5'>系統</b>

    電流功率檢測USB3.0HUB,USB3.0擴展塢,擴展的USB2.0

    =73882cd30422e7942d630b1024b22055 、功能簡介: 1轉7的USB3.0 HUB(上行5G,1轉7路USB3.0); 電流功率可視化(電流采樣,功率計算,實時更新顯示,并可上傳電腦,后期可設計升級上位機); 通道電源獨立可控(
    發表于 06-28 00:23

    Simcenter STAR-CCM+在燃燒學方面的應用:提供了可以高效、高保真進行燃燒仿真的迅速而擴展的化學求解器

    優勢使用快速、擴展的化學求解器在更短時間內運行更多解決方案采用新型自動反應器網絡方法,為燃燒室設計提供快速、精確的排放曲線確保高效、擴展的求解器充分利用計算資源使用模型特定的反應流
    的頭像 發表于 06-27 17:11 ?823次閱讀
    Simcenter STAR-CCM+在燃燒學方面的應用:提供了<b class='flag-5'>一</b><b class='flag-5'>個</b>可以高效、高保真進行燃燒仿真的迅速而<b class='flag-5'>可</b><b class='flag-5'>擴展</b>的化學求解器

    動態BGP與靜態BGP的區別?

    :明確指定對等體,排錯方便 不支持自動發現:每一個鄰居都要手動添加 安全性較高:無動態鄰居加入風險 擴展性差:當對等關系變多,配置工作繁瑣 2.3 示例配置(Cisco 風格)bash 復制編輯
    發表于 06-24 06:57

    IAR推動嵌入式開發:云就緒、擴展的CI/CD和持續自動化

    IAR正式發布全新云就緒平臺,為嵌入式開發團隊提供企業級的擴展性、安全性和自動化能力。
    的頭像 發表于 04-07 11:21 ?685次閱讀

    靈活且擴展系統電源管理集成電路PMIC DA9061-A數據手冊

    造就了種高能效的系統解決方案,適用于信息娛樂、遠程信息處理和高級駕駛輔助系統(ADAS)等應用領域。 *附件:靈活且擴展
    的頭像 發表于 04-01 16:02 ?1104次閱讀
    靈活且<b class='flag-5'>可</b><b class='flag-5'>擴展</b>的<b class='flag-5'>系統</b>電源管理集成電路PMIC DA9061-A數據手冊

    AR互動與傳統的交互方式相比更加豐富多元

    AR 互動的另一個顯著特點,是其豐富多元的互動方式。與傳統的交互方式相比,AR 互動不再局限于鼠標、鍵盤、觸摸屏等有限的輸入方式,而是通過多種先進的技術手段,實現了更加自然、豐富的人機
    的頭像 發表于 03-10 17:48 ?1056次閱讀
    AR<b class='flag-5'>互動</b>與傳統的交互方式相比更加豐富多元

    未來展廳長啥樣?全息展示柜、沙盤模型、互動設備、全息投影、數字展廳、中控系統一個都不能少!

    你是否想象過,未來的展廳會是什么樣子?告別傳統的靜態展示,未來的展廳將是充滿科技感與互動性的沉浸式空間。全息投影技術將帶你穿越時空,沙盤模型將栩栩如生地呈現每一個細節,而智能中控
    的頭像 發表于 03-08 14:38 ?974次閱讀
    未來展廳長啥樣?全息展示柜、沙盤模型、<b class='flag-5'>互動</b>設備、全息投影、數字展廳、中控<b class='flag-5'>系統</b>,<b class='flag-5'>一個</b>都不能少!