從web1.0到web2.0,我們其實沒太多感知,除了出現了很多Prototype、jQuery等框架,幫我們抹平了瀏覽器兼容性外,真的沒有太多驚喜。至于ria,估計早已經沒多少人知道。至于gwt這個Google驚艷的嘗試,也慢慢地淹沒在記憶里。可能在企業開發領域,對Ext.js還有些許記憶,它自己實現了面向對象機制,它豐富的組件系統,快速開發經歷和較好的用戶體驗,還是非常不錯的,但對于組件化,這種探索是遠遠不夠的。它只是面向對象層面對代碼的復用。
2014年,前端開始出現Backbone,它是第一個知名的前端mvc框架,從此開始前端開啟了劃時代的篇章。隨后Angular橫空出世,從mvvm、ioc,到指令等各種概念,點燃了很多后端開發對前端的幻想。誠然,前端集成了更多的后端思想,這是好事,但從另一個角度考慮,這也是今天大前端發展過快的導火索。
隨后React的誕生,借助于VirtualDOM的抽象,真正地實現了組件化,再次將組件化這個概念推向高潮。再說Vue.js,在Angular火的時候,它借鑒了一部分,在React火的時候,它又借鑒了一些,在大家都抱怨前端越來越復雜的時候,它站出來,你想要的特性我都有,而且更簡單,它的流行也是可以理解的。
移動端也面臨同樣的難題,既想要h5的靈活性,又想要有原生app的良好體驗。這是魚和熊掌的博弈,從native到hybrid(還是不能滿足復雜交互),到基于組件的各種方案react-native/weex(組件層面跨平臺,寫法統一,執行最終是原生代碼,是折衷方案),它們豐富了端上的開發,也從另一個角度,是前端開發同學讓這些創新方案落地。
今天,泛義的前端是涵蓋那些熟悉React在做ReactNative的前端開發的。在很多大公司也都已經使用這種模式很久了,除了降低開發成本外,也拓寬了前端的更多涵蓋領域。在未來,應該有更多領域被納入到大前端概念里。
Alan
2019-07-25