前端技術的發展與演變


近年來,前端技術的發展迅速,但因為前端知識面龐大,在實際學習當中往往無法理清其中的脈絡。下面從各種庫、框架、插件的層面上,對前端知識點做一些簡單的梳理。從軟件工程上,將前端分為四個由淺及深的層面或階段。

 

一、基礎層(瀏覽器原生支持html/css/js

  • HTML超文本標記語言,用標簽構建網頁的內容。HTML5擴展了標簽及其功能。
  • CSS層疊樣式表,控制頁面內容的表現。CSS3增加了更多的特效,比如文本效果和2D/3D轉換,以及動畫。
  • JavaScript的原生API(包括DOM、BOM、Style樣式、Canvas、SVG、WebGL等)

有了這些以后,我們已經可以開發基本的網絡應用了,但是會發現它們並不好用,或者說存在一些缺陷,有優化的余地。

  • 當前后端分離后,通過API獲取到的數據,需要填充到頁面中,原生DOM操作非常消耗性能,且傳統JS使用字符串拼接的方式不太好用
  • CSS不能像其他程序語言一樣,通過變量、計算、繼承等方式很好的管理。
  • JS原生API不好用,還存在瀏覽器兼容等問題。

  這些問題,前端開發者通過多年的填坑,花費巨大的精力封裝了各種框架層,用來減少開發工作量。

 

二、框架層(各類前端庫)

JQuery、YUI、Zepto、以及針對H5中canvas的游戲庫Lufylegend等等,主要為了解決瀏覽器原生API不好用和兼容問題,即對原型API做了二次封裝,使其更易於開發和掌握,本質上等於依靠框架層間接操作原生瀏覽器的基礎API。在此基礎上,又針對一些常用的頁面組件,擴展了為插件,即組件或插件層。

 

三、組件層(或插件)

常用的如:日歷選擇器、富文本編輯器、圖片輪播等等。這些僅僅是對WEB應用中,比較常用或通用的部分進行了再次封裝。除此之外,那些平台特有的業務邏輯屬於應用層。

 

四、應用層(業務層)

如購物車,權限管理等等,應用層的業務邏輯通常隨WEB應用的場景有關。

 

  如上只是傳統的開發模式,隨着前后端的分離,前端開發分擔了越來越多業務邏輯。通過HTTPrequest與后台交互數據,然后通過拼接字符串的方式,生成瀏覽器識別的DOM結構與樣式。這些都讓前端開發越來越重,但js本身不能很好的實現模塊化管理,所以出現了require、sea等AMD和CMD的模塊加載框架。

 

前端的革命

Node的出現,讓前端領域發生了巨大的改變,前端開發者終於可以自己開發工具了(如同猿人學會了制造工具,前端脫離了刀耕火種的年代)。隨着自動化工具glup、webpack的火熱,多種多樣的預編譯程序(如HTML模板引擎jade、Ejs等,CSS預處理器Sass、Less等),以及前端MVC、MVVM框架angular、react、vue等如雨后春筍般蜂擁出現,前端開發進入一次全面封裝的時代,組件化開發模式在一定程度上,利用JS的可編程性管理html和css,最后通過編譯,再生成瀏覽器識別的HTML/CSS/JS。

  

  移動端的出現,在一定程度上,也對前端技術提出了更高的要求,基於移動端的網絡環境,需要用更少的資源實現最大化的效果。

  

  最后小程序的推出,進一步拓展了前端開發的應用領域,將應用程序存儲到雲端的嵌入式開發,或許是未來應用的新方向。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM