五月天婷亚洲天久久综合网,婷婷丁香五月激情亚洲综合,久久男人精品女人,麻豆91在线播放

  • <center id="8gusu"></center><rt id="8gusu"></rt>
    <menu id="8gusu"><small id="8gusu"></small></menu>
  • <dd id="8gusu"><s id="8gusu"></s></dd>
    717 1

    [問答] 跨平臺(tái)高手必修課--Flutter動(dòng)態(tài)化解決方案實(shí)戰(zhàn)[完結(jié)14章] [推廣有獎(jiǎng)]

    • 0關(guān)注
    • 1粉絲

    碩士生

    74%

    還不是VIP/貴賓

    -

    威望
    0 級(jí)
    論壇幣
    3 個(gè)
    通用積分
    20.8886
    學(xué)術(shù)水平
    0 點(diǎn)
    熱心指數(shù)
    0 點(diǎn)
    信用等級(jí)
    0 點(diǎn)
    經(jīng)驗(yàn)
    1536 點(diǎn)
    帖子
    99
    精華
    0
    在線時(shí)間
    73 小時(shí)
    注冊(cè)時(shí)間
    2021-5-4
    最后登錄
    2024-6-29

    +2 論壇幣
    k人 參與回答

    經(jīng)管之家送您一份

    應(yīng)屆畢業(yè)生專屬福利!

    求職就業(yè)群
    趙安豆老師微信:zhaoandou666

    經(jīng)管之家聯(lián)合CDA

    送您一個(gè)全額獎(jiǎng)學(xué)金名額~ !

    感謝您參與論壇問題回答

    經(jīng)管之家送您兩個(gè)論壇幣!

    +2 論壇幣
    雖然 Flutter 的成長(zhǎng)曲線和未來前景看起來都很好,但不可否認(rèn)的是,目前 Flutter 仍處在發(fā)展階段,很多大型互聯(lián)網(wǎng)企業(yè)都無法毫無顧慮地讓全線 App 接入,而其中最主要的顧慮是包大小與動(dòng)態(tài)化。
    動(dòng)態(tài)化代表著更短的需求上線路徑,代表著大大壓縮了原始包的大小,從而獲得更高的用戶下載意向,也代表著更健全的線上質(zhì)量維護(hù)體系。當(dāng)明白這些意義后,我們也就不難理解,在 Flutter 的應(yīng)用與適配趨近完善時(shí),動(dòng)態(tài)化自然就成為了一個(gè)無法避開的話題。RN 和 Weex 等成熟技術(shù)甚至讓大家認(rèn)為動(dòng)態(tài)化是跨端技術(shù)的標(biāo)配。

    一、什么是動(dòng)態(tài)化?
    目前移動(dòng)端應(yīng)用的版本更新, 最常見的方式是定期發(fā)版,無論是安卓還是iOS,都需要提交新的安裝包到應(yīng)用市場(chǎng)進(jìn)行審核。審核通過后,用戶在應(yīng)用市場(chǎng)進(jìn)行App的下載更新。而動(dòng)態(tài)化, 就是不依賴更新程序安裝包, 就能動(dòng)態(tài)實(shí)時(shí)更新頁面的技術(shù)。

    二、動(dòng)態(tài)化的必要性
    為什么需要?jiǎng)討B(tài)化技術(shù)呢? 因?yàn)樯鲜龆ㄆ诎l(fā)版更新應(yīng)用的方式存在一些問題,比如:
    1、審核周期長(zhǎng), 且可能審核不通過。 周期長(zhǎng)導(dǎo)致發(fā)版本不夠靈活, 緊急的業(yè)務(wù)需求不能及時(shí)上線。
    2、線上出現(xiàn)急需修復(fù)的bug時(shí),需要較長(zhǎng)修復(fù)周期,影響用戶體驗(yàn)。
    3、安裝包過大, 動(dòng)輒幾十兆幾百兆的應(yīng)用升級(jí)可能會(huì)讓用戶比較抗拒。
    4、即使上線了,也無法達(dá)到全部用戶升級(jí), 服務(wù)端存在兼容多版本App的問題。

    三、Flutter的動(dòng)態(tài)化可以通過在Flutter應(yīng)用程序中集成可編程的UI組件來實(shí)現(xiàn),例如將Dart代碼作為字符串從服務(wù)器端下載并評(píng)估,從而生成新的UI元素。下面是一些設(shè)計(jì)思路和代碼實(shí)現(xiàn):
    1、使用Flutter的自定義渲染器(Custom Renderer):您可以編寫一個(gè)自定義渲染器,該渲染器將解析從服務(wù)器或其他來源下載的UI描述,并使用Flutter Framework API構(gòu)建UI元素。這種方法需要更多的開發(fā)工作,但它提供了更大的靈活性和控制權(quán)。
    2、使用Flutter Widget樹序列化:Flutter Widget樹可以序列化為JSON格式,并可以發(fā)送到移動(dòng)設(shè)備上的Flutter應(yīng)用程序。您可以使用此功能,從遠(yuǎn)程服務(wù)器下載UI樹并將其反序列化為真實(shí)的Flutter組件樹。
    3、使用Flutter插件:在Flutter中,插件是一個(gè)獨(dú)立的、客戶端庫,在Flutter應(yīng)用程序中運(yùn)行。您可以編寫一個(gè)插件,使其可以從云服務(wù)器下載所有UI元素并展示給用戶

    四、實(shí)現(xiàn)思路
    按道理iOS上也可以采取跟Android同樣的思路,但是由于蘋果開發(fā)者協(xié)議的規(guī)定,不允許動(dòng)態(tài)更新、運(yùn)行可執(zhí)行代碼;所以在Flutter資源的處理上,我們可以采用同Android一樣的思路,但是對(duì)代碼的處理,我們需要尋找新的方案;仡欀暗倪@些跨端方案,我們可以參照RN的實(shí)現(xiàn),只不過N不再是Native了,而是Flutter。RN是通過JS控制Native渲染,我們要實(shí)現(xiàn)的是通過JS控制Flutter渲染。

    五、Flutter發(fā)展前景
    隨著移動(dòng)應(yīng)用市場(chǎng)的不斷擴(kuò)大,跨平臺(tái)開發(fā)框架的需求也越來越大。Flutter框架可以幫助開發(fā)者在不同平臺(tái)上快速開發(fā)高質(zhì)量的移動(dòng)應(yīng)用程序,這種趨勢(shì)將進(jìn)一步推動(dòng)Flutter的發(fā)展和普及。

    作為一名Android開發(fā)工程師,學(xué)習(xí)Flutter框架是非常有必要的。因?yàn)楝F(xiàn)在的前端開發(fā)已經(jīng)不僅僅局限于網(wǎng)頁開發(fā),而是需要涉及到多個(gè)平臺(tái)的應(yīng)用開發(fā)。如果掌握了Flutter框架的開發(fā)技能,就可以更好地滿足前端開發(fā)的多樣化需求。

    從19年過去的幾年時(shí)間,F(xiàn)lutter在Google帶領(lǐng)各大廠商的引領(lǐng)下,飛速發(fā)展。flutter sdk官方也在快速的迭代升級(jí),從1.0到現(xiàn)在的3.1,從底層引擎到適配層再到框架層都有比較大的更新。

    六、Flutter動(dòng)態(tài)化解決方案的兩種方法:
    1. 熱重載(Hot Reload):
    熱重載是Flutter框架的一項(xiàng)獨(dú)特功能,它允許開發(fā)者在應(yīng)用運(yùn)行時(shí)快速預(yù)覽代碼更改的效果,而無需重新啟動(dòng)整個(gè)應(yīng)用。熱重載使開發(fā)人員可以實(shí)時(shí)查看界面、布局和功能等變化,并立即在應(yīng)用中看到這些變化的效果。

    2. 插件化(Flutter Plugin):
    插件化是一種在Flutter應(yīng)用中集成動(dòng)態(tài)化插件的方法,可以在應(yīng)用運(yùn)行時(shí)動(dòng)態(tài)加載新的功能模塊或代碼。開發(fā)人員可以編寫自定義插件,將其集成到應(yīng)用中,以實(shí)現(xiàn)動(dòng)態(tài)化更新和擴(kuò)展功能的目的。

    七、動(dòng)態(tài)化方案調(diào)研
    在Flutter實(shí)踐層面,簡(jiǎn)單來說分為三個(gè)流派:
    方案一:JavaScript是最好的語言( 碰瓷PHP) 主要思路:利用Flutter做渲染,開發(fā)使用js,邏輯層通過v8/jscore解釋運(yùn)行。代表框架是騰訊的MXFlutter。這個(gè)框架是開源的,大寫的 。
    方案二:DSL + JS
    主要思路:基于模板實(shí)現(xiàn)動(dòng)態(tài)化,主要布局層采用Dart轉(zhuǎn)DSL的方式,邏輯層使用JS。代表框架是58同城開源的Fair。
    方案三:布局,邏輯,一把梭
    主要思路:與方案一最主要的區(qū)別是,邏輯層也是使用dart,增加了一層語法解析和運(yùn)行時(shí)。有一個(gè)代表,美團(tuán)的MTFlutter,然而沒有開源動(dòng)向,無從考察更多。


    二維碼

    掃碼加我 拉你入群

    請(qǐng)注明:姓名-公司-職位

    以便審核進(jìn)群資格,未注明則拒絕

    關(guān)鍵詞:解決方案 跨平臺(tái) 動(dòng)態(tài)化 flu 必修課

    學(xué)習(xí)地址:pan.baidu.com/s/1XaCF_QAYsQtszdpW3tXIvA 提取碼: aeiu

    本版微信群
    加JingGuanBbs
    拉您進(jìn)交流群

    京ICP備16021002-2號(hào) 京B2-20170662號(hào) 京公網(wǎng)安備 11010802022788號(hào) 論壇法律顧問:王進(jìn)律師 知識(shí)產(chǎn)權(quán)保護(hù)聲明   免責(zé)及隱私聲明

    GMT+8, 2024-12-23 03:17