接上篇《熱修復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...