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