熱修復JSPatch之實戰教程

2021-09-07 16:53:37 字數 1822 閱讀 3403

接上篇《熱修復jspatch之介面設計》,在這篇文章主要給大家講述一下怎樣高速具備熱修復能力,當然了假設有人有志於把jspatch系統的學習,甚至用jspatch進行開發的。就沒有必要聽我在這裡囉嗦了。

我這裡僅僅介紹一些簡單經常使用的。

1. require

在使用objective-c類之前須要呼叫 require('classname』) :

require('uiview')

var view = uiview.alloc().init()

能夠用逗號 , 分隔,一次性匯入多個類:

require('uiview, uicolor')

var view = uiview.alloc().init()

var red = uicolor.redcolor()

或者直接在使用時才呼叫 require() :

require('uiview').alloc().init()

2. 呼叫oc方法

呼叫類方法

var redcolor = uicolor.redcolor();

呼叫例項方法

var view = uiview.alloc().init();

view.setneedslayout();

引數傳遞

跟在oc一樣傳遞引數:

var view = uiview.alloc().init();

var superview = uiview.alloc().init()

superview.addsubview(view)

property

獲取/改動 property 等於呼叫這個 property 的 getter / setter 方法。獲取時記得加 ():

view.setbackgroundcolor(redcolor);

var bgcolor = view.backgroundcolor();

方法名轉換

多引數方法名使用 _ 分隔:

var indexpath = require('nsindexpath').indexpathforrow_insection(0, 1);

若原 oc 方法名裡包括下劃線 _,在 js 使用雙下劃線 __ 取代:

// obj-c: [jpobject _privatemethod];

jpobject.__privatemethod()

3.defineclass

apiqqqq defineclass(classdeclaration, instancemethods, classmethods)

@param classdeclaration: 字串,類名/父類名和protocol

@param instancemethods: 要加入或覆蓋的例項方法

@param classmethods: 要加入或覆蓋的類方法

在使用的過程中發現property屬性命名,方法命名要嚴格依照駝峰式命名,禁止在屬性名,或者方法名中間使用下劃線'_'此處要格外注意哦,血的教訓積累出來的經驗。假設使用了。會造成無法修復

在實踐的過程中發現,大部分人對於js方法不是非常熟悉,寫起來非常慢,給大家找到了轉換的站點轉換站點位址

當然,轉換後,我們是不能直接拿來用的,還是用非常多的問題。比方巨集定義無法使用,相關方法轉換錯誤,js語法錯誤等等,我們能夠使用以下的乙個站點來進行js語法校驗 js校驗**

通過上面的轉換。校驗。我們開始嘗試在本地修復我們的bug。假設能夠修復,並經過測試後,我們就能夠上傳我們的熱修復指令碼了。感興趣的小夥伴能夠嘗試一下哦。以下是我寫的乙個小demo。 jspatch修復demo

使用jspatch進行熱修復的實戰總結

工具篇 首先,用xcode來編輯js非常困難,基本上沒有縮排,完全需要手寫 經過研究發現使用 sublime text3 結合 jsformat 外掛程式,可以很好的編輯js指令碼。一般來說,我們可以使用jsconvertor對js進行轉換,然後在sublime text中進行編輯和格式化,通過xc...

關於熱修復

首先我們做熱修復,應該在release狀態下執行 它的設定在build variants中設定 在gradle中配置簽名 signingconfigs buildtypes compile com.alipay.euler andfix 0.3.1 aar private patchmanager ...

Android AndFix 熱修復框架

今天帶來的是阿里的熱修復框架andfix使用,廢話不多說直接看下文。lib包 andfixlib 補丁製作工具 apkpatch 使用 如果你用的是as的話就直接新增依賴 dependencies如果是使用的eclipse的就直接全部使用上面的那個lib包就好了。一 初始化 patchmanager...