• <ul id="cgeq2"></ul>
  • 歡迎您光臨深圳塔燈網絡科技有限公司!
    電話圖標 余先生:13699882642

    網站百科

    為您解碼網站建設的點點滴滴

    為什么有了Taro,我們還在做Alita??真正的React??

    發表日期:2019-11 文章編輯:小燈 瀏覽次數:5640

    自從Alita發布以來,由于Alita和Taro一樣都是React語法在小程序上的處理, 所以一直有很多人問我“已經有Taro了,為什么又造輪子呢??”,今天用這篇文章統一回答一下。

    首先我們看下Taro,他是一套遵循 React 語法規范的 多端開發 解決方案。他遵循 React 語法規范,采用與 React 一致的組件化思想,組件生命周期與 React 保持一致,同時支持使用 JSX 語法,讓代碼具有更豐富的表現力,使用 Taro 進行開發可以獲得和 React 一致的開發體驗。

    截止本文開始的時候,Taro在github上已經獲得了2W多star,實際上線的業務也是非常多的,另外Taro已經形成了自己的開發者社區,其周邊的工具非常的豐富,可以說是非常成熟,非常成功的開源項目了。

    回到故事的開始:怎么樣把React程序(主要是JSX)運行在小程序呢?
    Taro采用的是編譯時方案,通過對代碼靜態的分析,把JSX修改為等效wxml。

    這種方式的局限在于JSX是動態的,編譯時是沒有辦法完全表達JSX的。React“編程”式的構建UI,更多的是把JSX當成一個普通的數據類型來看待,一個JSX片段,可以用來初始化變量,可以作為函數參數,可以作為函數返回值等等

    var a = <View><Text>Hi</Text></View>
    
    function f(b) {
        const r =  [
            b,
            <Text>Hello</Text>
        ]
        r.push(a)
    }
    var x = f(<Text></Text>)
    
    ...

    編譯時方案嘗試在編譯期推理運行期的信息,這會有很大的局限性。

    而類比React Native的渲染思路,有沒有一種方案上層還是React環境,然后底層渲染通過小程序的方式。

    Alita正是基于這種設計思路的嘗試。Alita希望提供一種真正意義上的React與小程序的結合。

    不過上面的方式貌似對React語法是完全的支持,但是實際使用過Alita的人,也知道Alita對語法還是有一些限制。這主要是因為出于潛在的性能因素的考慮, Alita采用了 微信小程序自定義組件映射React組件的方式,他們之間有很大不同,比如微信小程序自定義組件引用的組件必須預先在json文件定義其路徑。

    
    import {Hello, NiHao} from 'hello'
    
    class A extends Component {
        render(){
            return <View>
                <Hello/>
                <NiHao/>
            </View>
        }
    }

    以上的NiHao組件,要獲取其組件路徑,其實還挺困難的,所以Alita會對組件文件有些限制來方便的獲取其路徑。 諸如此類。

    總結

    以上就是我們做Alita的一點思考,也算是對最開始的問題做個回答,另外基于相似的原理,我們還嘗試過把Flutter底層渲染機制換成小程序:flutter_mp https://github.com/areslabs/flutter_mp


    本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.juherenli.com/25260.html
    相關小程序
     八年  行業經驗

    多一份參考,總有益處

    聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

    咨詢相關問題或預約面談,可以通過以下方式與我們聯系

    業務熱線:余經理:13699882642

    Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

    国产香蕉一区二区精品视频| 人人鲁人人莫人人爱精品| 中国精品videossex中国高清| 国产成人精品亚洲精品| 亚洲Av永久无码精品黑人| 午夜精品久视频在线观看| 99热成人精品热久久669| 四虎成人精品在永久免费| 国产成人综合一区精品| 99re6在线精品视频免费播放 | 中文字幕久精品免费视频| 国产精品不卡高清在线观看| 国产精品亚洲午夜一区二区三区| 久久精品国产999大香线焦| 国内精品久久久久久久coent| 加勒比精品久久一区二区三区| 国产美女在线精品免费观看| 久久无码国产专区精品| 久久se精品动漫一区二区三区| 91原创国产精品| 亚洲国产精品毛片av不卡在线 | 91热成人精品国产免费| 午夜影视日本亚洲欧洲精品一区| 中文字幕精品亚洲无线码二区| 久久精品成人影院| 国产精品成人久久久久三级午夜电影| 探花国产精品三级在线播放| 精品日韩一区二区| 精品国产一区二区二三区在线观看 | 午夜精品在线视频| 国产精品久久新婚兰兰| 亚洲国产精品综合久久20| 久久精品国产乱子伦| 人妻少妇精品视中文字幕国语| 久久久久久国产精品免费免费男同 | 蜜桃导航一精品导航站| 国产av无码久久精品| 日韩美女18网站久久精品| 四虎成人精品在永久在线| 亚洲AV永久无码精品一区二区国产| 女人高潮内射99精品|