浏览器是建筑的地基

原生API时代

最开始,程序员只有一些很原始的材料,也就是javascript语言本身和原生的DOM API。用建筑来类比,这些API就像是水、沙子、水泥、黏土、木材,需要用很大精力糅合它们。
针对不同的浏览器编程,就像是在完全远隔千里的不同地域施工,如同各处北极和澳大利亚,或者美洲、亚洲和欧洲。虽然都用到类似的材料,但是每一类材料在各地的性状都相差甚远。而javascript程序还有一个非常特殊而又很重要的要求,为了扩大用户数,程序能够运行在尽量多的各种不同浏览器。这是前端编程与其他编程领域的一个最大区别。这就像是要求建筑师能够让让盖好的房子无损地挪动到各个地域。这可真是高难度的需求。
为了应付这种状况,早期的javascript程序员们各显其能,从零开始创造了一些程序库。

jQuery时代

jQuery就像是一个材料店,为大家提供标准的建筑材料,比如地砖、墙砖、瓦片、木料等等。现在人们不用再弄脏手去和泥沙,而是可以直接盖房了。

然而光有材料,要造出漂亮的房子还是很有难度的。有经验的工匠都知道,要造出合格可靠的房子,总得有一些工具。比如图纸、模型、脚手架、标尺、准线,重锤、角尺、梯子等等。jQuery只是提供材料,并不提供工具。backbone是适应这个需求的一个框架,为设计符合mvc模式的程序提供方便。然而,Backbone并没有针对浏览器和dom做太多特殊的考虑,只是从其它语言引进了一个很薄很普通的MVC模式。

最开始需要盖的也就是一些民房、仓库、驿站、小店,都是一两层、三五层的小楼

也有一些建筑大师创造了一些精美的作品,比如gmail,flickr等等。

框架时代

  • angular
    大型的建筑:教堂、宫殿、博物馆、剧院,

  • react
    大规模的现代化建筑:飞机场、火车站、世贸大厦、奥运会、世界杯运动场,悉尼歌剧院
    不能再是那种古朴、静美的古典风格,必须是活力四射的现代风格,处处彰显个性、靓丽、动感
    部件化

  • Domcom
    去繁就简。站在巨人的肩膀上。把React做错的给做对了。

别人都骑着马甚至开着车去寻宝的时候,驾着牛车去的人是不会有收获的。别人都在用流水线生产商品的时候,用手工方法制作同样产品的人是没有希望盈利的。