以這樣一篇文章作為我Blog的開篇,也算是具有一些紀念意義吧。
AOM從1.2Release是去年12月30日發布的,到現在已經2個多月了,這期間(包括AOM1.2Release發布之前),我們一直在進行AOM2.0的研發,經歷了幾次Preview版本之后,終于決定推出AOM2.0。
這是一個跨越式的版本,2.0與1.x的差別,以致到了無法兼容1.x的程度,這是我們設計上的失誤,但是我欣慰的是在2.0將是一個基線式的版本,后續發展到3.x、4.x也會是兼容2.x的,這在我看來,也未嘗都是壞事。
回顧在1.x中,組件的貧乏、過快的節奏、市場的壓力,使得我無法專注于整個架構體系的設計,在2.0開始的版本里面,從組件入手,使組件的開發、設計形成一套真正的體系化的東西,這在短期內看不到什么效果,因為所有組件的外觀并沒有得到變化。甚至看起來基本上沒有什么工作成果,但是我知道、AOM里面的人也知道,我們的組件內部再也不是東拼西湊的夾雜著js與html、css的混合體了,雖然在2.0M1中,我們只是重構了布局方面的組件,其他的組件都還是采用原有的方式,但是在后續版本中,所有的組件都會采用新的方式,會協同的很好。
除了組件,2.0的東西還真的很多,今天在寫ReleaseNotes的時候,我竟不知從何下筆,關于2.0的其他特性,我不會做怎樣特別的介紹,我只是把我當時包括以后同老袁一起做這些事情的感受寫出來。
AOM2.0M1我認為有突破的幾個方面:
1. IoVC編程模型;
2. 無需維護狀態(相信嗎?);
3. 基于APT的組件快速開發模式;
最震撼的,莫過于老袁的ELite,這是對我影響較大的一個事情(雖然我沒有參與),讓我明白了“科學家”與“程序員”的區別,這件事情我不在這里過多的說了,但我一定會從頭到尾把這件事情的來龍去脈講清楚。包括它的產生,構思與實現。