<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何從 0 到 1 開發(fā) RN APP 構(gòu)建平臺(tái)

          共 1576字,需瀏覽 4分鐘

           ·

          2020-10-14 18:45


          正文如下

          一、簡(jiǎn)介

          1.我是誰(shuí)?

          大家好,我是胡民偉,現(xiàn)在在宋小菜擔(dān)任前端開發(fā),主要負(fù)責(zé)業(yè)務(wù)開發(fā),前端構(gòu)建服務(wù)以及前端服務(wù)器運(yùn)維。

          2.我們的團(tuán)隊(duì)?

          3.我們的產(chǎn)品

          二、分享大綱

          image.png

          1.構(gòu)建現(xiàn)狀

          2.從0到1

          3.從1到2

          4.從2到N

          5.推薦書籍

          三、構(gòu)建現(xiàn)狀

          image.png

          1.本地打包的痛點(diǎn)

          image.png

          1.1 是哪一個(gè)APP?

          1.2 是打 iOS 還是 Android ?

          1.3 是正式環(huán)境,還是日常測(cè)試環(huán)境?

          1.4 是否開啟熱更新功能?

          1.5 是否開啟 Debug 模式?

          1.6 是在哪個(gè)同學(xué)的電腦上打的包?

          2.APP 打包

          2.1 APP 打包流程

          image.png

          2.2 APP 打包效果展示

          image.png

          3.PC/H5 打包

          3.1 PC/H5 打包流程

          image.png

          3.2 PC/H5 打包效果展示

          4.小程序打包

          image.png

          四、從 0 到 1

          1.React Native 技術(shù)架構(gòu)

          image.png

          2.Android RN 本地打包

          2.1 Android 項(xiàng)目結(jié)構(gòu)

          image.png

          2.2 Android 構(gòu)建腳本

          image.png

          2.3 React.gradle 中打包 index.android.bundle 相關(guān)代碼

          3.iOS RN 本地打包

          3.1 iOS 項(xiàng)目結(jié)構(gòu)

          image.png

          3.2 iOS 構(gòu)建腳本

          • 對(duì)?Target?進(jìn)行編譯、歸檔生成?.xcarchive?文件
          image.png
          • 對(duì) .xcarchive 歸檔文件進(jìn)一步處理,生成不同渠道的 .ipa 包,進(jìn)行分發(fā)
          image.png

          4.Xmansion 打包系統(tǒng)

          4.1 打包流程

          image.png

          4.2 系統(tǒng)架構(gòu)

          image.png

          4.3 打包步驟

          • a.選擇打包應(yīng)用
          image.png
          • b.設(shè)置打包參數(shù)
          image.png
          • c.查看打包日志

          5.構(gòu)建核心步驟

          5.1 Node 執(zhí)行 Shell

          image.png

          5.2 package_android.sh 節(jié)選

          image.png

          5.3 package_ios.sh 節(jié)選

          image.png

          五、從 1 到 2

          1.面臨問題

          1.1 不能并行打包

          • 不能并行打包,沒法充分利用機(jī)器資源
          • 沒有任務(wù)隊(duì)列,打包需要值守

          1.2 iOS 打包簽名發(fā)布步驟繁瑣

          • 證書與描述文件的關(guān)系比較混亂
          • iOS商店包仍需手動(dòng)發(fā)布到AppStore審核

          1.3 統(tǒng)一前后端線上發(fā)布流程

          • 為規(guī)范前后端開發(fā)部署流程,公司內(nèi)部統(tǒng)一使用devops平臺(tái)
          • 后端構(gòu)建任務(wù)采用Jenkins發(fā)布,前端打包平臺(tái)待向外提供服務(wù)能力

          2.解決方案:封裝 sxc-rn-cli + fastlane

          image.png

          2.1 Why fastlane?

          image.png

          2.2 sxc-rn-cli 配置文件

          image.png

          2.3 sxc-rn-cli 使用:所有打包參數(shù)都可以通過(guò) jenkins 的調(diào)用給到打包腳本

          image.png

          2.4 sxc-rn-cli 核心功能

          image.png

          2.5 fastlane action android

          image.png

          2.6 fastlane action iOS

          image.png

          3.前后端統(tǒng)一發(fā)布流程:解決方案

          3.1 打包邏輯遷移至 Jenkins

          image.png

          3.2 對(duì)接Devops,向外提供服務(wù)

          image.png

          六、從 2 到 N

          1.正在開發(fā)功能

          image.png

          七、推薦書籍《暗時(shí)間》

          image.png


          掃碼關(guān)注公眾號(hào),訂閱更多精彩內(nèi)容。



          你點(diǎn)的每個(gè)贊,我都認(rèn)真當(dāng)成了喜歡
          瀏覽 44
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  三区视频在线 | 人人人操人人人 | 含羞草视频一区二区三区在线无码 | 日本操逼网 | 超碰在线观看97 |