Texture官方文檔翻譯之一炬转、入門

Texture的基本元素是node.ASDisplayNode是對(duì)UIView的抽象递递,而UIView又是對(duì)CALayer的抽象。與views只能在主線程使用不同,nodes是線程安全的:可以在后臺(tái)線程并行的創(chuàng)建實(shí)例,以及構(gòu)建整個(gè)node層次.

iOS的一個(gè)黃金準(zhǔn)則是:要保證你的用戶界面操作平滑與及時(shí)響應(yīng),你的app必須保證每秒60幀的刷新頻率.這意味著在主線程上只有1/60秒的時(shí)間來處理每一幀.也就是說只有16毫秒的時(shí)間來執(zhí)行布局與渲染操作的代碼.并且因?yàn)榇嬖谙到y(tǒng)的額外開銷,你的代碼通常只有在10毫秒之內(nèi)執(zhí)行完畢,才不會(huì)導(dǎo)致丟幀.

Texture能讓你把圖片解碼,文本大小計(jì)算與渲染,和其他開銷較大的UI操作剝離出主線程,讓主線程能夠?qū)换ビ屑皶r(shí)的響應(yīng).當(dāng)然Texture還有不少優(yōu)點(diǎn),不過我們之后才會(huì)提到.

Nodes

如果你熟悉views,那你已經(jīng)知道怎么使用nodes.node提供了UIView和UILayer大部分方法和屬性的同名實(shí)現(xiàn).在少數(shù)UIView和CALayer有(功能相同)命名差異的場(chǎng)景(例如view.clipsToBounds對(duì)于layer.masksToBounds),nodes默認(rèn)使用UIView的命名.有一個(gè)例外就是nodes使用position來替代center這個(gè)屬性.

你也可以直接訪問node內(nèi)部的view或者layer.例如node.view或者node.layer.但要確保是在主線程進(jìn)行操作.

Texture對(duì)大部分常用的UIKit組件提供了可供替代的node類型.即便是大型應(yīng)用也可以完全使用nodes來進(jìn)行他們的UI開發(fā).

Node Containers

剛開始在項(xiàng)目中使用Texture時(shí),一個(gè)很常見的錯(cuò)誤就是將nodes直接加入已經(jīng)存在的view層級(jí)中.這么做有很大概率會(huì)造成nodes在渲染時(shí)發(fā)生閃爍.(理由后面會(huì)講)

正確的方式是將nodes以subnodes的方式添加到node container中.node container負(fù)責(zé)管理這些subnodes當(dāng)下所處的狀態(tài),以此來盡可能的提升數(shù)據(jù)加載和nodes渲染的效率.你可以把這些container看成是連接UIKit和Texture的橋梁.

布局引擎

Texture的布局引擎既是其最強(qiáng)大的功能之一,也是其最獨(dú)特的功能之一.它基于CSS FlexBox模型,提供了一種可描述的方式(聲明式)來指定自定義nodes的大小和subnodes的布局.在所有nodes并行渲染時(shí),通過為每個(gè)node提供ASLayoutSpec的方式,進(jìn)行異步的尺寸計(jì)算和布局.

高級(jí)開發(fā)者功能

Texture提供豐富的,UIKit和Foundation不具備的高級(jí)開發(fā)者功能.
我們的開發(fā)者會(huì)發(fā)現(xiàn), Texture讓他們的app架構(gòu)更簡(jiǎn)單,并且能提高開發(fā)者的開發(fā)速度.

將Texture添加到你的應(yīng)用中

如果你第一次接觸Texture,我們建議你看看ASDKgram這個(gè)demo.我們正準(zhǔn)備提供關(guān)于"如何添加Texture到應(yīng)用"的小白手冊(cè)(step-by-step)和demo(can follow along).(然而還沒做好)

如果您遇到任何問題,請(qǐng)到我們的GitHub或者Texture Slack社區(qū)尋求幫助.

官方原文鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末癞志,一起剝皮案震驚了整個(gè)濱河市往枷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凄杯,老刑警劉巖错洁,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異戒突,居然都是意外死亡屯碴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門膊存,熙熙樓的掌柜王于貴愁眉苦臉地迎上來导而,“玉大人,你說我怎么就攤上這事隔崎〗褚眨” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵爵卒,是天一觀的道長(zhǎng)虚缎。 經(jīng)常有香客問我,道長(zhǎng)钓株,這世上最難降的妖魔是什么实牡? 我笑而不...
    開封第一講書人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任陌僵,我火速辦了婚禮,結(jié)果婚禮上铲掐,老公的妹妹穿的比我還像新娘拾弃。我一直安慰自己,他們只是感情好摆霉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著奔坟,像睡著了一般携栋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咳秉,一...
    開封第一講書人閱讀 51,208評(píng)論 1 299
  • 那天婉支,我揣著相機(jī)與錄音,去河邊找鬼澜建。 笑死向挖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的炕舵。 我是一名探鬼主播何之,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼咽筋!你這毒婦竟也來了溶推?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤奸攻,失蹤者是張志新(化名)和其女友劉穎蒜危,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體睹耐,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辐赞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了硝训。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片响委。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖捎迫,靈堂內(nèi)的尸體忽然破棺而出晃酒,到底是詐尸還是另有隱情,我是刑警寧澤窄绒,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布贝次,位于F島的核電站,受9級(jí)特大地震影響彰导,放射性物質(zhì)發(fā)生泄漏蛔翅。R本人自食惡果不足惜敲茄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望山析。 院中可真熱鬧堰燎,春花似錦、人聲如沸笋轨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽爵政。三九已至仅讽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钾挟,已是汗流浹背洁灵。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掺出,地道東北人徽千。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像汤锨,于是被迫代替她去往敵國和親双抽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫泥畅、插件荠诬、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,095評(píng)論 4 62
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,081評(píng)論 25 707
  • 在清晨的馬路邊賣著東西的人們聂抢,在黃昏的地鐵擁擠的人群中钧嘶,在晚上的渡口稀少的人群里,在凌晨的科室偶爾傳來的聲音…… ...
    老友歸閱讀 603評(píng)論 8 5
  • 1 吳中,在我眼里空盼,就是一個(gè)炒雞"敗家"的男人书幕。他居然在北風(fēng)呼嘯的冬天,將辛辛苦苦干了近兩個(gè)月的工資買了一部蘋果手...
    公子涼閱讀 135評(píng)論 0 0
  • 我喜歡你是寂靜的 聶魯達(dá) 我喜歡你是寂靜的揽趾,仿佛你消失了一樣台汇, 你從遠(yuǎn)處聆聽我,我的聲音卻無法觸及你。 好像你的雙...
    舒嘉儀閱讀 430評(píng)論 0 1