迷你MVVM框架 avalonjs 沉思录 第1节 土耳其开局

正如一切传说的开端那样,有一远古巨神开天辟地,而后就是其余半神喧宾夺主。咱们对最巨贡献与建立力的远古巨神懵懂不知,却对巫师们的话语津津乐道。这一样也是咱们前端的现实。javascript

MVVM是来自.NET,另外一个遥远的界域。前端,相对于后端,怎么看都是蛮夷之地。JS这个肩负着前端一切交互工做的语言,居然被视为恶魔,屡屡被屏蔽禁用。些微可用的脚本,变量与函数没有组织地野蛮生长着,直到JAVA的传教士为它带来类与库。前端

很长一段时间,人们把类看做是福音。明知这是两种不一样语言, 正如Christ你怎么念也念不成“基督”,所以真正与类配套使用的接口怎么也推销不出去,更甭论什么设计模式,IOC了。java

没有办法,人口太少了,想点技能树,必需要到达某一上限。这经历了Prototype与jQuery这两个阶段,尤为是后者,前端终于有足够人力来研究加载器,MVC,MVP,路由器这些很是炫的东西,MVVM只是这潮流的一部分。git

咱们合计一下时间,JS前十年(1995-2005)在干什么了,基本上什么也没有,而同期JAVA在诞生后,在大公司的支持下高唱猛进,忙着作本身的标准库。其余出名的语言也差很少这样,标准库基本当即进入里程。而JS刚出生就被山寨(JScript),此外被受到VBScript, ActionScript的威胁。github

第二个时期比较很短,2005-2008, 那时世界发生大事了,伟大的DDH大神建立了rails,而做为rails的子项目Prototype.js立马把JS界那些小喽罗吓呆了。占领了80%市场的Prototypejs不管是在语言底层或DOM上都有大量建树,下降了入门门槛。这像盛唐以前的隋朝同样,打下很好的架子。同期,JAVA的Spring打遍天下无敌手。后端

第三时期,是jQurey引衔的。这个不用多展开,野心膨胀的JSer开始玩其余语言的人玩剩的东西了。模块化,加载器,MVC,各类字眼满天飞。MVC在一两年内跑马灯时换了好几代,先是javascriptMVC,而后是backbone,与.NET进得近的人还知道有个叫knockout的东西,ruby的大神跨界过来搞ember,2013年人们也听到一个叫angular的高富帅框架,其爹是谷歌,因而2014年就基本是它的新闻了。就像jQuery初期,咱们知道有mootools这样有力的竞争对手,如今都不知哪里去。设计模式

这是一个新旧交替的时期,表明DOM操做的极致的jQuery与想隐藏DOM操做的MVVM框架发生冲突了。不由让我想起了《土耳其开局》的影评——ruby

那是一场发生在葵地里的战争,华丽得让人目眩:漫无边际的一片金黄色的向日葵,身着土黄色的俄军士兵,头戴红帽身着蓝色军服的土军士兵,双方在向日葵里时隐时现,相互追杀,枪炮的硝烟遮蔽了湛蓝的天空。框架

那也是一场古典的战争,发生在两个没落强国之间的战争,都有着华丽的外表。由于他们都身处欧洲的边缘,已有了华丽的军服,先进的枪炮;两个欧洲曾经的霸主,如今已经是强弩之末,战争只能靠人来堆积,因此是用现代的武器所打的冷兵器之战。模块化

双方在巴尔干及黑海之间,你来我往,打得还颇热闹。一共打了二百多年,一直打到第一次世界大战,两国之间的战争大的就有十一次之多,影片中所描写的战争大约应该是第十次俄土之战了。至此之后,强大的奥斯曼帝国走向衰亡,取得胜利的沙皇俄国在一战之中也迅即倒塌。

……

时下的jQuery能够看做是土耳其的化身,它是能够自豪,如同土耳其以它那口径则高达30英寸(约合762mm)的乌尔班巨炮征服君士坦丁堡同样,振聋发聩。

angular是沙俄,财大气粗,暴兵极快, 比虫族更加虫族。

但DOM操做终归要退居幕后,不管你作得多好多精,而jQuery也像进化到尽头,最后在github上没什么大动做了。

而angular虽然如日中天,但它最大的要害始终没有解决——上手难。在浮燥的前端界,JSer的忠诚度是极其低。可能昨天鼓吹backbone的那帮人,今天就是angular的免费水军。

时局难料,纷战不已,这样一个时代有着无尽的可能性。将来的王者可能在这边角上虎视眈眈。 它继承了远古巨神的衣钵,虽然不像其余半神那样恬噪,但也会发出本身的声音。那是远离尘世的乐土,avalon。它在悄悄积聚着本身的力量。

相关文章
相关标签/搜索