我在開發過程中一定要使用框架嗎?
最近很多粉絲過來找我:李老師,我在開發過程中是不是一定要使用框架啊?
這很明顯是個在小白學習中經常可以看到的問題了,「我用JavaScript原生寫的也可以用啊,一定非得用框架嗎?」,這個在Internet平台上的爭吵,也曾進行到彷彿必須要額外編寫 API 能更容易創建Web 應用那樣的地步。
基礎語法都可以寫的前端,為什麼還要框架?
很多小白朋友是不懂什麼是框架的,只聽過jQuery這些東西,以為就是框架。或者認為框架就是加速開發,覺得這些庫、插件就能完成框架的工作了。
儘管不使用框架也能正常運行項目,但是,這也是有代價的。
那些堅持主張不用框架手寫 Javascript 的人,一般會被咱們認為是斯德哥爾摩綜合症(情感上會容易依賴他人且容易受感動的人)的人,忘了Internet平台上有多套神速發展的 API ,起碼有三種分歧的技術,三種完全不同的語法。web 平台標準並確定了超出有 12000 個 API,結果上瀏覽器中的維恩圖也表現了這些遠大差距。
其實框架的出現,是改變前端地位的重要標誌。最重要的表現,就是前後端分離,在前後端分離之前,很多後端開發都是又當爹又當媽的,效果不好效率也不高,我就是在後端出身,深知痛苦。
現在的前端項目,比以前是更加複雜化、多樣化了。項目複雜了,問題也多了。
那框架到底解決了什麼問題?
解決重複引用外部js,以用jQuery開發為例,很多時候都是不能單一完成一個項目的,還需要引用很多的第三方插件和庫,導致會一個項目引入很多外部JS文件。
這樣不僅讓代碼變得雜亂,而且很影響打開速度。但是用框架呢,以VUE為例,一般會和構建工具配合,然後就是一個入口文件就可以完成了,在運行時候就在入口引入一次,一勞永逸。
使用組件化開發,組件是前端框架里非常強大的功能之一,它可以擴展你的HTML,封裝可以重用的代碼塊,比如你的輪播圖、tab切換、頁面頭部、頁面底部等等。
這種獨立的組件具有了結構(html),表現(css)和行為(js)完整的功能,很大程度的節省了代碼量,提高了代碼的復用性。特別是團隊合作的時候,可以很好的提高使用效率。
減少開發周期,如果你覺得jQuery可以減少開發周期了,那其實框架可以比庫更快。比如說使用jQuery開發的時候,很多時候是需要頻繁去操作DOM,每次效果都要去查找DOM,這樣就顯得很繁瑣了。
使用框架的時候,很多功能都得到了封裝,比如說很多指令都有數據綁定,數據格式化這些功能。這樣更多時候,我們開發的時候只需要關注數據的邏輯就行了。
所以,假設你是一個有著深厚技術和經驗的人,著實可以不使用框架。但你團隊的其他成員呢?你下屬的那些人呢?當你的決定把你自身陷入困境的時候呢?
這類狀況下,咱們將會看到一個無須框架的團隊在展開冒險,後來他們會發現自身開發了一須要要本身入手維護的框架。接著就會出現需要人才的問題,他們不需要知道框架是怎樣工作的,只要找到會調用網路平台 API 的高級技術人才或者一些自稱有經驗的人,最後卻發現缺少的是利於團隊發展的技能深度和經驗。
所以,框架帶給我們的,是業內共同支持的技術和經驗,可以在我們的項目中幫助我們完成很多老生常談的問題,提升我們項目的可拓展性和可維護性。
※2019年如何成為一個成熟的前端開發者?
※重大 Bug!拼多多一夜被薅了千萬
TAG:WEB開發李家靖 |