當前位置:首頁 » 網頁前端 » web前端知識體系圖
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web前端知識體系圖

發布時間: 2022-07-18 02:54:24

① web前端從初級到高級如何系統化學習

你好,web前端的學習路線,按照順序學習,從初級階段開始學習就好了。

web前端學習路線

② web前端開發都包括哪些技術

  1. css,學好CSS是網頁外觀的重要一點,CSS可以幫助把網頁外觀做得更加美觀。

  2. div布局: DIV元素是用來為HTML文檔內大塊的內容提供結構和背景的元素。

  3. 學習JavaScript的基本語法,以及如何使用。JavaScript編程將會提高開發人員的個人技能。

  4. 了解Unix和Linux的基本知識雖然這兩點很基礎,但是開發人員了解Unix和Linux的基本知識是有益無害的。

  5. html5+css3:移動端的網頁製作。在移動設備開發HTML5應用只有兩種方法,要不就是全使用HTML5的語法,要不就是僅使用JavaScript引擎,現在也是前端的一個趨勢。

  6. 一些框架的應用:angular.js,node.js,bootsttap等框架的應用。

  7. 了解Web伺服器對Apache的基本配置,並且掌握htaccess配置技巧

  8. web前端開發技術,還需要學習一些seo優化技術,因為前端是經常會和網站接觸的。


③ web前端需要哪些技術

  1. 所有知識框架,那肯定是一個結構型的展現,就是一棵樹。web前端的知識點非常多,也非常散,需要好幾層結構來組織這個體系,否則就會顯得很亂。那麼如何組織、把誰和誰放在一塊兒?這是真正值得我們去思考的,你也可以自己來思考一下這個問題。

  2. 在我總結的這個知識框架中,首先第一層我劃分為:理論知識,類庫框架,編碼開發,運行環境。如下圖:

首先,你要知道web系統雖然大部分是在瀏覽器下運行,但是js可能會被運行在node環境。

在瀏覽器環境下,最重要的兩點是:web安全和性能優化。需要注意的綱要我都列出來了,如果想了解推薦兩本書《白帽子將web安全》《高性能網站建設指南》

8. 其他

以上這些是全部的知識體系。如果你想成為一名合格的、讓leader喜歡的程序猿,你除了知道這些知識之外,我覺得還需要以下幾點:

  • 要了解敏捷軟體開發流程(如SCRUM)和項目管理知識(如考取PMP),這也屬於一種「軟」知識吧;

  • 要學會在網上和別人交流(博客、qq群、開源項目),交流能讓自己看到自己的不足;

  • 要學會自我反省和自我學習。就像我現在一樣,試著自己總結一下屬於自己的東西,隨時反省隨時進步

  • ④ 學習web前端,需要掌握哪些知識點以怎樣的學習順序

    第一階段:
    HTML CSS:HTML進階、CSS進階、div css布局、HTML css整站開發。
    JavaScript基礎:Js基礎教程、js內置對象常用方法、常見DOM樹操作大全、ECMAscript、DOM、BOM、定時器和焦點圖。
    JS基本特效:常見特效、例如:tab、導航、整頁滾動、輪播圖、JS製作幻燈片、彈出層、手風琴菜單、瀑布流布局、滾動事件、滾差視圖。
    JS高級特徵:正則表達式、排序演算法、遞歸演算法、閉包、函數節流、作用域鏈、基於距離運動框架、面向對象基礎。
    JQuery:基礎使用懸著器、DOM操作、特效和動畫、方法鏈、拖拽、變形、JQueryUI組件基本使用。
    第二階段:
    HTML5和移動Web開發
    HTML5:HTML5新語義標簽、HTML5表單、音頻和視頻、離線和本地存儲、SVG、Web Socket、Canvas。
    CSS3:CSS3新選擇器、偽元素、臉色表示法、邊框、陰影、background系列屬性改變、Transition、動畫、景深和深透、3D效果製作、Velocity.js框架、元素進場、出場策略、炫酷CSS3網頁製作。
    Bootstrap:響應式概念、媒體查詢、響應式網站製作、刪格系統、刪格系統原理、Bootstrap常用模板、LESS和SASS。
    移動Web開發:跨終端WEB和主流設備簡介、視口、流式布局、彈性盒子、rem、移動終端JavaScript事件、手機中常見JS效果製作、Zepto.js、手機聚劃算頁面、手機滾屏。
    第三階段:
    HTTP服務和AJAX編程
    WEB伺服器基礎:伺服器基礎知識、Apache伺服器和其他WEB伺服器介紹、Apache伺服器搭建、HTTP介紹。
    PHP基礎:PHP基礎語法、使用PHP處理簡單的GET或者POST請求。
    AJAX上篇:Ajax簡介和非同步的概念、Ajax框架的封裝、XMLHttpRequest對象詳細介紹方法、兼容性處理方法、Ajax框架的封裝、Ajax中緩存問題、XML介紹和使用。
    AJAX下篇:JSON和JSON解析、數據綁定和模板技術、JSONP、跨域技術、圖片預讀取和lazy-load技術、JQuery框架中的AjaxAPI、使用Ajax實現爆布流案例額。
    第四階段:
    面向對象進階
    面向對象終極篇:從內存角度到理解JS面向對象、基本類型、復雜類型、原型鏈、ES6中的面向對象、屬性讀寫許可權、設置器、訪問器。
    面向對象三大特徵:繼承性、多態性、封裝性、介面。
    設計模式:面向對象編程思維、單例模式、工廠模式、策略模式、觀察者模式、模板方法模式、代理模式、裝飾者模式、適配器模式、面向切面編程。
    第五階段:
    封裝一個屬於自己的框架
    框架封裝基礎:事件流、冒泡、捕獲、事件對象、事件框架、選擇框架。
    框架封裝中級:運動原理、單物體運動框架、多物體運動框架、運動框架面向對象封裝。
    框架封裝高級和補充:JQuery框架雛形、可擴展性、模塊化、封裝屬於傳智自己的框架。
    第六階段:
    模塊化組件開發
    面向組件編程:面向組件編程的方式、面向組件編程的實現原理、面向組件編程實戰、基於組件化思想開發網站應用程序。
    面向模塊編程:AMD設計規范、CMD設計規范、RequireJS,LoadJS、淘寶的SeaJS。
    第七階段:
    主流的流行框架
    Web開發工作流:GIT/SVN、Yeoman腳手架、NPMer依賴管理工具、Grunt/Gulp/Webpack。
    MVC/MVVM/MVW框架:Angular.js、Backbone.js、Knockout/Ember。
    常用庫:React.js、Vue.js、Zepto.js。
    第八階段:
    HTML5原生移動應用開發
    Cordova:WebApp/NativeApp/HybirdApp簡介、Cordova簡介、與PhoneGap之間的關系、開發環境搭建、Cordova實戰(創建項目,配置,編譯,調試,部署發布)。
    Ionic:Ionic簡介和同類對比、模板項目解析、常見組件及使用、結合Angular構建APP、常見效果(下拉刷新,上拉載入,側滑導航,選項卡)。
    React Native:React Native簡介、React Native環境配置、創建項目,配置,編譯,調試,部署發布、原生模塊和UI組件、原生常用API。
    HTML5 :HTML5 中國產業聯盟、HTML5 Plus Runtime環境、HBuilder開發工具、MUI框架、H5 開發和部署。
    第九階段:
    Node.js全棧開發
    快速入門:Node.js發展、生態圈、Io.js、Linux/Windows/OS X環境配置、REPL環境和控制台程序、非同步編程,非阻塞I/O、模塊概念,模塊管理工具、開發流程,調試,測試。
    核心模塊和對象:全局對象global,process,console,util、事件驅動,事件發射器、加密解密,路徑操做。
    祝你學有所成!
    如果你對於學習前端有任何不懂的可以隨時來問我,我給你提供一個非常不錯的前端交流學習qun:前面是一一四,中間是一八八,後面是四九三一。有問題就在裡面問我,這樣你可以少走很多彎路,做起來有效率,記得多跟有經驗的人交流,別閉門造車。如果沒有比較好的教程,也可以管我要。

    ⑤ web前端都學習哪些內容

    這里根據行業變化和企業用人需求整理了一份web前端系統全面的學習路線,主要學習以下內容:

    第一階段:專業核心基礎

    階段目標:

    1. 熟練掌握HTML5、CSS3、Less、Sass、響應書布局、移動端開發。

    2. 熟練運用HTML+CSS特性完成頁面布局。

    4. 熟練應用CSS3技術,動畫、彈性盒模型設計。

    5. 熟練完成移動端頁面的設計。

    6. 熟練運用所學知識仿製任意Web網站。

    7. 能綜合運用所學知識完成網頁設計實戰。

    知識點:

    1、Web前端開發環境,HTML常用標簽,表單元素,Table布局,CSS樣式表,DIV+CSS布局。熟練運用HTML和CSS樣式屬性完成頁面的布局和美化,能夠仿製任意網站的前端頁面實現。

    2、CSS3選擇器、偽類、過渡、變換、動畫、字體圖標、彈性盒模型、響應式布局、移動端。熟練運用CSS3來開發網頁、熟練開發移動端,整理網頁開發技巧。

    3、預編譯css技術:less、sass基礎知識、以及插件的運用、BootStrap源碼分析。能夠熟練使用 less、sass完成項目開發,深入了解BootStrap。

    4、使用HTML、CSS、LESS、SASS等技術完成網頁項目實戰。通過項目掌握第一階段html、css的內容、完成PC端頁面設計和移動端頁面設計。

    第二階段:Web後台技術

    階段目標:

    1. 了解JavaScript的發展歷史、掌握Node環境搭建及npm使用。

    2. 熟練掌握JavaScript的基本數據類型和變數的概念。

    3. 熟練掌握JavaScript中的運算符使用。

    4. 深入理解分之結構語句和循環語句。

    5. 熟練使用數組來完成各種練習。

    6.熟悉es6的語法、熟練掌握JavaScript面向對象編程。

    7.DOM和BOM實戰練習和H5新特性和協議的學習。

    知識點:

    1、軟體開發流程、演算法、變數、數據類型、分之語句、循環語句、數組和函數。熟練運用JavaScript的知識完成各種練習。

    2、JavaScript面向對象基礎、異常處理機制、常見對象api,js的兼容性、ES6新特性。熟練掌握JavaScript面向對象的開發以及掌握es6中的重要內容。

    3、BOM操作和DOM操作。熟練使用BOM的各種對象、熟練操作DOM的對象。

    4、h5相關api、canvas、ajax、數據模擬、touch事件、mockjs。熟練使用所學知識來完成網站項目開發。

    第三階段:資料庫和框架實戰

    階段目標:

    1. 綜合運用Web前端技術進行頁面布局與美化。

    2. 綜合運用Web前端開發框架進行Web系統開發。

    3. 熟練掌握Mysql、Mongodb資料庫的發開。

    4. 熟練掌握vue.js、webpack、elementui等前端框技術。

    5. 熟練運用Node.js開發後台應用程序。

    6. 對Restful,Ajax,JSON,開發過程有深入的理解,掌握git的基本技能。

    知識點:

    1、資料庫知識,範式,MySQL配置,命令,建庫建表,數據的增刪改查,mongodb資料庫。深入理解資料庫管理系統通用知識及MySQL資料庫的使用與管理,為Node.js後台開發打下堅實基礎。

    2、模塊系統,函數,路由,全局對象,文件系統,請求處理,Web模塊,Express框架,MySQL資料庫處理,RestfulAPI,文件上傳等。熟練運用Node.js運行環境和後台開發框架完成Web系統的後台開發。

    3、vue的組件、生命周期、路由、組件、前端工程化、webpack、elementui框架。Vue.js框架的基本使用有清晰的理解,能夠運用Vue.js完成基礎前端開發、熟練運用Vue.js框架的高級功能完成Web前端開發和組件開發,對MVVM模式有深刻理解。

    4、需求分析,資料庫設計,後台開發,使用vue、node完成pc和移動端整站開發。於Node.js+Vue.js+Webpack+Mysql+Mongodb+Git,實現整站項目完整功能並上線發布。

    第四階段:移動端和微信實戰

    階段目標:

    1.熟練掌握React.js框架,熟練使用React.js完成開發。

    2.掌握移動端開發原理,理解原生開發和混合開發。

    3.熟練使用react-native和Flutter框架完成移動端開發。

    4.掌握微信小程序以及了解支付寶小程序的開發。

    5.完成大型電商項目開發。

    知識點:

    1、React面向組件編程、表單數據、組件通信、監聽、聲明周期、路由、Rex基本概念。練使用react完成項目開發、掌握Rex中的非同步解決方案Saga。

    2、react-native、開發工具、視圖與渲染、api操作、Flutter環境搭建、路由、ListView組件、網路請求、打包。練掌握react-native和Flutter框架,並分別使用react-native和Flutter分別能開發移動端項目。

    3、微信小程序基本介紹、開發工具、視圖與渲染、api操作、支付寶小程序的入門和api學習。掌握微信小程序開發了解支付寶小程序。

    4、大型購物網站實戰,整個項目前後端分離開發;整個項目分為四部分:PC端網頁、移動端APP、小程序、後台管理。團隊協作開發,使用git進行版本控制。目期間可以擴展Three.js 、TypeScript。

    ⑥ 一名合格的前端工程師的知識結構是怎樣的

    第一,必須掌握基本的Web前端開發技術,其中包括:CSS、HTML、DOM、BOM、Ajax、Java等,在掌握這些技術的同時,還要清楚地了解它們在不同瀏覽器上的兼容情況、渲染原理和存在的Bug。
    第二,在一名合格的前端工程師的知識結構中,網站性能優化、SEO和伺服器端的基礎知識也是必須掌握的。
    第三,必須學會運用各種工具進行輔助開發。
    第四,除了要掌握技術層面的知識,還要掌握理論層面的知識,包括代碼的可維護性、組件的易用性、分層語義模板和瀏覽器分級支持等等。
    可見,看似簡單的網頁製作,如果要做得更好、更專業,真的是不簡單。這就是前端開發的特點,也是讓很多人困惑的原因。如此繁雜的知識體系讓新手學習起來無從下手,對於老手來說,也時常不知道下一步該學什麼,這里的關鍵影響因素就是代碼質量。CSS、HTML、Java這三種前端開發語言的特點是不同的,對代碼質量的要求也不同,但它們之間又有著千絲萬縷的聯系。
    對於新手,在Web前端開發培訓班學習一定要給自己制定一系列的學習和成長計劃,制定的方法如下:
    第一、梳理知識架構
    梳理知識架構的目的在於,要了解清楚,哪些技術是前置、哪些技術是後繼,哪些技術是深度、哪些技術是廣度,按照這兩個維度梳理好知識架構之後,才能准確地制定清晰的成長目標、高效的成長計劃。
    第二、分解目標
    大抵可分解為三個階段,包括:起步階段、提升階段、成型階段。這三個階段分別對應著不同的目標:起步、提升、成型階段。
    成為一名合格的前端開發工程師,學習是必不可少的。

    ⑦ web前端需要掌握的哪些知識

    一個合格的web前端需要掌握哪些技術?
    最基礎的自然是JavaScript,HTML和css這三種語言。

    首先了解下它們到底是什麼。

    HTML是用戶看到的網頁的骨架,比如你會發現當前頁面分為左中右三個部分,其中還填充了不同的文字和圖片;每個子部分還會繼續細分,比如當前頁面的中間部分下方有輸入框等等。

    CSS是網頁展示的細節控制,比如你會發現有的文字是紅底白色,有的子部分佔了頁面的二分之一寬,有的只佔六分之一,有些部分需要用戶進行某些操作(如點擊,滑動)才會出現等等,這些就是有CSS來控制。

    JavaScript是負責捕捉用戶在瀏覽器上的操作,並與後端伺服器進行數據交換的腳本語言。當用戶在前端進行點擊,輸入等操作的時候,會觸動綁定了該動作的JavaScript腳本,然後JavaScript收集數據,調用後端的api介面,再將後端返回的數據交給HTML和CSS渲染出來。

    一個網頁的HTML代碼和CSS代碼是可以直接在瀏覽器中查看的,你可以直接按F12,就能看到下圖右側的模塊,左右側紅框就是代碼與實際頁面的對應關系。因此如果你看到某個網站的布局很不錯,不妨點擊F12,進行學習。

    前端框架
    然而,實際應用中,已經很少有正規的項目組直接用上述三種語言進行web 前端開發了,而是使用很多封裝了這三種語言的框架,比如

    Vue.js

    ,angular,react native等等。它們是來自谷歌和Facebook的大神項目組,基於自己的經驗,封裝了原生前端語言,實現了更多更復雜更酷炫的功能。因此,可以說,學會使用這些框架,能達到事半功倍的效果。

    比如用了vue,它是自底向上增量開發的設計,其核心只關心圖層,而且還可以與其他庫或已存項目融合,學習門檻極其友好;另一方面,vue可以驅動單文件組件和vue生態系統支持的庫開發的復雜單頁應用。有了這個生態系統,可以說,vue是處在一個不斷壯大,不斷完善的欣欣向榮的狀態。

    網路通信協議
    由於前後端分離的趨勢,前端還需要了解很多網路通信協議的知識,這里不局限於http協議,因為據我的經驗,有時候我們還會用到websocket等協議。因此,前端需要簡單了解不同協議的特點以及使用方式,但是好消息是不用像學習計算機網路課程一樣對每種協議的原理都了解的特別透徹,只要學會如何用前端語言發送這種協議的請求就夠了。

    ⑧ web前端需要學什麼

    這里整理了一份web前端學習路線的思維導圖,需要掌握和學習的內容如下:

    第一階段:專業核心基礎

    階段目標:

    1. 熟練掌握HTML5、CSS3、Less、Sass、響應書布局、移動端開發。

    2. 熟練運用HTML+CSS特性完成頁面布局。

    4. 熟練應用CSS3技術,動畫、彈性盒模型設計。

    5. 熟練完成移動端頁面的設計。

    6. 熟練運用所學知識仿製任意Web網站。

    7. 能綜合運用所學知識完成網頁設計實戰。

    知識點:

    1、Web前端開發環境,HTML常用標簽,表單元素,Table布局,CSS樣式表,DIV+CSS布局。熟練運用HTML和CSS樣式屬性完成頁面的布局和美化,能夠仿製任意網站的前端頁面實現。

    2、CSS3選擇器、偽類、過渡、變換、動畫、字體圖標、彈性盒模型、響應式布局、移動端。熟練運用CSS3來開發網頁、熟練開發移動端,整理網頁開發技巧。

    3、預編譯css技術:less、sass基礎知識、以及插件的運用、BootStrap源碼分析。能夠熟練使用 less、sass完成項目開發,深入了解BootStrap。

    4、使用HTML、CSS、LESS、SASS等技術完成網頁項目實戰。通過項目掌握第一階段html、css的內容、完成PC端頁面設計和移動端頁面設計。

    第二階段:Web後台技術

    階段目標:

    1. 了解JavaScript的發展歷史、掌握Node環境搭建及npm使用。

    2. 熟練掌握JavaScript的基本數據類型和變數的概念。

    3. 熟練掌握JavaScript中的運算符使用。

    4. 深入理解分之結構語句和循環語句。

    5. 熟練使用數組來完成各種練習。

    6.熟悉es6的語法、熟練掌握JavaScript面向對象編程。

    7.DOM和BOM實戰練習和H5新特性和協議的學習。

    知識點:

    1、軟體開發流程、演算法、變數、數據類型、分之語句、循環語句、數組和函數。熟練運用JavaScript的知識完成各種練習。

    2、JavaScript面向對象基礎、異常處理機制、常見對象api,js的兼容性、ES6新特性。熟練掌握JavaScript面向對象的開發以及掌握es6中的重要內容。

    3、BOM操作和DOM操作。熟練使用BOM的各種對象、熟練操作DOM的對象。

    4、h5相關api、canvas、ajax、數據模擬、touch事件、mockjs。熟練使用所學知識來完成網站項目開發。

    第三階段:資料庫和框架實戰

    階段目標:

    1. 綜合運用Web前端技術進行頁面布局與美化。

    2. 綜合運用Web前端開發框架進行Web系統開發。

    3. 熟練掌握Mysql、Mongodb資料庫的發開。

    4. 熟練掌握vue.js、webpack、elementui等前端框技術。

    5. 熟練運用Node.js開發後台應用程序。

    6. 對Restful,Ajax,JSON,開發過程有深入的理解,掌握git的基本技能。

    知識點:

    1、資料庫知識,範式,MySQL配置,命令,建庫建表,數據的增刪改查,mongodb資料庫。深入理解資料庫管理系統通用知識及MySQL資料庫的使用與管理,為Node.js後台開發打下堅實基礎。

    2、模塊系統,函數,路由,全局對象,文件系統,請求處理,Web模塊,Express框架,MySQL資料庫處理,RestfulAPI,文件上傳等。熟練運用Node.js運行環境和後台開發框架完成Web系統的後台開發。

    3、vue的組件、生命周期、路由、組件、前端工程化、webpack、elementui框架。Vue.js框架的基本使用有清晰的理解,能夠運用Vue.js完成基礎前端開發、熟練運用Vue.js框架的高級功能完成Web前端開發和組件開發,對MVVM模式有深刻理解。

    4、需求分析,資料庫設計,後台開發,使用vue、node完成pc和移動端整站開發。於Node.js+Vue.js+Webpack+Mysql+Mongodb+Git,實現整站項目完整功能並上線發布。

    第四階段:移動端和微信實戰

    階段目標:

    1.熟練掌握React.js框架,熟練使用React.js完成開發。

    2.掌握移動端開發原理,理解原生開發和混合開發。

    3.熟練使用react-native和Flutter框架完成移動端開發。

    4.掌握微信小程序以及了解支付寶小程序的開發。

    5.完成大型電商項目開發。

    知識點:

    1、React面向組件編程、表單數據、組件通信、監聽、聲明周期、路由、Rex基本概念。練使用react完成項目開發、掌握Rex中的非同步解決方案Saga。

    2、react-native、開發工具、視圖與渲染、api操作、Flutter環境搭建、路由、ListView組件、網路請求、打包。練掌握react-native和Flutter框架,並分別使用react-native和Flutter分別能開發移動端項目。

    3、微信小程序基本介紹、開發工具、視圖與渲染、api操作、支付寶小程序的入門和api學習。掌握微信小程序開發了解支付寶小程序。

    4、大型購物網站實戰,整個項目前後端分離開發;整個項目分為四部分:PC端網頁、移動端APP、小程序、後台管理。團隊協作開發,使用git進行版本控制。目期間可以擴展Three.js 、TypeScript。

    ⑨ 零基礎怎麼系統學Web前端

    網站開發開發大致分為前端和後端,前端主要負責實現視覺和交互效果,以及與伺服器通信,完成業務邏輯。其核心價值在於對用戶體驗的追求。可以按如下思路學習系統學習:

    基礎知識:

    1.html + css 這部分建議在 w3school 在線教程 上學習,邊學邊練,每章後還有小測試。 之後可以模仿一些網站做些頁面。

    2. javascript 要學的內容實在很多,如果沒有其他編程語言的基礎的話,學起來可能要費些力,還是建議先在 w3school上學習。之後建議馬上看《javascript語言精粹》,js是一門很混亂的語言,這本書能夠幫助你區分哪些是語言的精華,哪些是糟粕,對於語言精華,應該深入學習。糟粕部分能看懂別人寫的代碼就行,自己就不用嘗試了。

    對於習慣看視頻學習的同學,以上內容也可以在優就業網站上學習。

    進階:

    有了以上基礎,就可以進行一般的靜態網頁設計,不過對於復雜的頁面還需要進一步學習。

    1.css。截至今日(2015.12.08),天貓、淘寶、支付寶都已停止對ie6,7的支持,未來相信大多數網站都會停止對ie6,7的支持,ie8的市場份額也不像兩年前那麼高了(天貓即將停止對IE8的支持,2016.12.13),webkit內核已成為市場主流。對於css的學習,我推薦分三塊:「基礎概念」,「css2.1規范」,「css3規范」。必看 精通CSS(第2版) (豆瓣),看完這本書你應該對:盒子模型,流動,block,inline,層疊,樣式優先順序,等概念非常了解了。這本確實有些年頭了,但基礎概念部分講述非常清晰,可以稱之為經典。ie6,7相關的內容可以不看。css3的部分可以參考:CSS3實用指南 (豆瓣)。這本書同樣有些老,只是最新出版的書中沒發現有特別好的。

    2. javascript。上面提到內容還不足以讓你勝任js編程。在有了基礎之後,進一步學習內容包括:

    a) 框架。推薦 zepto,簡單易用,在w3school簡單學習js後,直接上手 zepto 即可完成一些簡單的項目。zepto 源碼簡單清晰,也適合新手閱讀。補充: 可以使用 codecademy 學習 javascript,zepto,用戶體驗真的很好(感謝 TonyOuyang )。最近比較熱門的框架是React, VUE, Angular這些, 根據需要稍作了解即可。隨著ie瀏覽器市場份額的下降,以及移動端的發展,標准原生js已經可以在實際項目中使用(目前還需要藉助es5shim、babel等),重點還是ES5, ES6, ES7。

    b) javascript 語言範式 。這個名字可能並不恰當,只是我找不到可以描述「面向對象」,「函數式」這個兩個概念的概念。javascript不完全是一個面向對象的語言,它的很多設計理念都有函數編程語言的影子,甚至說如果你不用面向對象,完全可以把它理解成一門函數式編程語言。javascript的很多語言特性,都是因為他具有函數式語言的特點才存在的。這部分推薦先學習面向對象的基本理論,對封裝,繼承,多態等概念要理解,維基網路,網路會是你的幫手,另外推薦《object oriented javascript》,應該有中文版。對與函數式編程可以參考這篇文章:JavaScript 中的函數式編程實踐

    c) javascript 語言內部機制。必須弄清如下概念:js中變數的作用域,變數傳遞方式,函數的定義環境與執行環境,閉包,函數的四種調用方式(一般函數,對象的方法,apply,call),以及四種調用方式下,『this'指向的是誰。這部分內容你會在《javascript語言精粹》中詳細了解。

    d) dom編程,這個web前端工程師的核心技能之一。必讀《dom編程藝術》,另外《高性能javascript》這本書中關於dom編程的部分講的也很好。

    e) ajax編程,這是另一核心技術。ajax建議在網上查些資料,了解這個概念的來龍去脈,網路,維基網路上的內容就足夠了。真正編程是很容易的,如今幾乎所有框架都對ajax有良好的封裝,編程並不復雜。另外,ajax未來幾年會被 Fetch Standard 取代,也需要了解。另外關於xhr2,cors(跨站資源共享),formData文件上傳,也需要了解。

    f) es5, es6。現在開發js大部分基於es5的,ie8以下通過es5-shim。但利用一些工具,現在已經可以直接寫es6代碼了,尤其在reactjs,nodejs類型的項目中。對於從es5,es6每個階段js發生了哪些變化都需要系統學習,學習順序建議是 JavaScript基礎 -> es5 -> es6,越靠前的越重要。一些參考鏈接:ECMAScript 5 compatibility tableECMAScript 6入門ES5 « 張鑫旭

    3. html5。需要了解html都提供了哪些api,然後項目中用起來。這部分沒有什麼難理解的,關鍵在於能用html5解決業務問題,以及不支持html5的瀏覽器的降級方案。這部分體現了前端的一個思想:面向未來編程,盡早將新技術引入業務中來,而不是過分考慮兼容性問題,進而導致面向過去編程。

    再進一階 · 代碼層面:

    有了以上知識,對於大多數小型網站,你應該已經可以寫出能夠工作的代碼了。但要想成為更專業的前端,你還需繼續努力。更高的要求大概還有四方面:1易維護,2可測試,3高性能,4低流量(移動端)。

    1.易維護。對於頁面你該理解『樣式』,『數據』,『行為』三者分離,對應的當然就是css,html,js。對於js代碼,你最好了解設計模式,重構,MVC等內容。

    2. 可測性。就是保證你的代碼能溝通單元測試100%覆蓋到所有分支

    3. 高性能。必讀《高性能javascript》

    4. 低流量。移動端關注比較多,PC端現在可以不用太關注了

    再進一階 · 工程層面:

    前端項目同樣面臨軟體生命周期的各個環節,首先是代碼管理,你必須學會使用svn和git。其次是代碼的構建,如今前端代碼構建已經不是簡單的壓縮一下了,需要進行依賴管理、模塊合並、各種編譯,必須要學會使用grunt、gulp、webpack、rollup等前端構建工具,以及前端模塊管理的方式,amd,cmd,es6 mole 等等。

    然後呢?以上內容只是簡單說了前端學習的順序。前端工程師應該有的知識結構請參考這里:JacksonTian/fks · GitHub

    補充:

    對於前段開發,基本內容就這些了,可以根據自己的興趣愛好選擇性學習以下內容。

    1. 交互設計。大公司依然有專業人士搞這些,不過不懂交互的前端一定不是好前端。推薦《簡約至上》。

    2. 後端。應該說前段工程師必須至少了解一門後端語言,不過如果愛好也可深入學習,入手難度比較低的應該是php了。這部分由可分為基於頁面,基於框架兩種。大型項目都是基於框架開發的,建議至少了解一個MVC框架,比如php的ci, yii, yaf 等,好還框架的設計思想都大同小異。如今NodeJs在大公司已經得到普遍的使用,推薦大家使用在Node上使用Koa框架做一些後端服務的開發。

    3. Android和ios開發。時至今日,前端的工作領域已經非常廣泛,native的界面開發本質上也是前端開發,個大公司都面臨著Native環境和web環境頁面同時維護的問題,如果能夠在技術上得到統一,將會有巨大的價值。對於學有餘力的同學,應該了解Native開發的基本流程,至少了解到界面構建的技術。

    4. 如果你能夠認真看到這里,說明你對前端有真愛,最後說一個編程習慣的問題,絕對是保你工作平安,少出故障。代碼提交前必須做的三個事情:A. git diff(svn diff),檢查所有變更;B. 跑一邊單元測試;C. 手動運行一遍所有demo.