1.為什么要自己擼一個(gè)UI庫(kù)?
就好比做菜
從原材料做任何菜本來(lái)都很簡(jiǎn)單
非在別人做好的菜上來(lái)改
改來(lái)改去達(dá)不到效果說(shuō)太難了
草
你丫有種你用紅燒肉改一回鍋肉試試?
世界上總有這么一批賤B
就想撿現(xiàn)成
越撿路越難還不知道反省
話(huà)說(shuō)有一人拜師學(xué)廚
他想做道回鍋肉給他老娘吃
徒弟:師傅,我想做道回鍋肉,該怎么辦呢?
師傅:你準(zhǔn)備點(diǎn)五花肉,煮一下切來(lái)炒熟就好了
徒弟:可是那個(gè)難度太高了,再說(shuō)時(shí)間太緊了,師傅,這盤(pán)
紅燒肉也是五花的,我初學(xué),你還是教我怎么從紅燒
肉改回鍋肉吧。等以后我水平提高了,有閑功夫了,
再系統(tǒng)學(xué)習(xí)從生肉開(kāi)始做回鍋肉!
師傅:..................................
2.咱肯定是站在巨人的肩膀上,自己擼道行不夠還不知道擼個(gè)什么出來(lái)。所以呢,一開(kāi)始打算直接擼duilib,結(jié)果發(fā)現(xiàn)可能這貨不夠巨人雖然看起來(lái)所有功能都有了,但是用起來(lái)總覺(jué)得差了點(diǎn)什么。然后在喵上了chromium,泥馬折騰好久發(fā)現(xiàn)提出一個(gè)ui庫(kù)是不是太麻煩了,,,也投降了,然后瞅上了skia這貨,有硬件加速啊,泥馬結(jié)果能力還是欠缺了點(diǎn),一口不能吃成胖子,,,然后開(kāi)始擼uileeihcy,這個(gè)思想夠豐富的庫(kù)。發(fā)現(xiàn)也不是不能直接用。
好吧,我確實(shí)欠抽,,,
然后開(kāi)始失敗了無(wú)數(shù)次,放棄了無(wú)數(shù)次的自己擼一個(gè)想法又出現(xiàn)了,這次實(shí)事求是的擼吧。
今天主要看了下大概,不管是duilib、chromium、uileeihcy,他們都是把ui抽象出了一個(gè)基類(lèi):duilib的control chromium的view uileeihcy的object,不同的是有些control不是container,有些具有這些功能。chromium和uileeihcy都具base都具有container的功能,那咱就也要有這功能。chromium和uileeihcy的基類(lèi)中有具有的功能:
1.屬性;2.container;3.eventtarget;4.layout management;5.個(gè)控件的私有消息是自己檢查產(chǎn)生派發(fā)的。
初步看起來(lái)都有一個(gè)共性,就是控件的消息自己處理,不過(guò)uileeihcy里邊有的設(shè)計(jì)比較有特點(diǎn),需要進(jìn)一步分析以便理解他的設(shè)計(jì)思想:
