正如一切傳說的開端那樣,有一遠古巨神開天闢地,而後就是其餘半神喧賓奪主。咱們對最巨貢獻與建立力的遠古巨神懵懂不知,卻對巫師們的話語津津樂道。這一樣也是咱們前端的現實。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。它在悄悄積聚着本身的力量。