以这样一篇文章作为我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,这是对我影响较大的一个事情(虽然我没有参与),让我明白了“科学家”与“程序员”的区别,这件事情我不在这里过多的说了,但我一定会从头到尾把这件事情的来龙去脉讲清楚。包括它的产生,构思与实现。