計算機專業的學生如何系統學習前端技術?


計算機專業的學生如何系統學習前端技術?

前端入門雖然簡單,但是想要做好很難,是一個要通十行才能精一行的工作。再這幾年 MVVM 框架的大肆流行,前端已經不是以前用 jQuery 寫一寫就可以的時代了。於是我寫下這篇文章,來給大家一個參考。

首先,請大家牢記以下幾點:

  1. 前端不簡單!前端不簡單!前端不簡單!
  2. 前端和美工不一樣!不是隻會 HTML、CSS、JavaScript 就行的。
  3. 程序和其他的行業不一樣,經驗是十分重要的,不管看多少書,都逃不過要經常的練習。
  4. 在學會使用 JavaScript 實現相同操作之前,不要使用 jQuery。
  5. JavaScript 和 Java 的關係如同雷鋒和雷峰塔的關係一樣,並沒有什麼關係!

前期準備工作

  1. 下載好 Sublime Text 3,並自行找教程安裝 Package Control。安裝完後使用 Package Control 安裝 Sublime Text 的漢化包,名字叫做 ChineseLocalizations。之後單獨寫 HTML 和 CSS 的時候,使用 Sublime Text 編輯。
  2. 下載 Chrome 瀏覽器,目前(2017 年 3 月 9 日)最新版本為 56,請儘量安裝最新版本,並設置為默認瀏覽器。
  3. 下載 Visual Studio Code,之後單獨寫 JavaScript 的時候,使用 VS Code 編輯。
  4. 下載並在本地安裝 Node.js,目前(2017 年 3 月 9 日)最新版本為 7.7.1,請儘量安裝最新版本。
  5. 使用 Google 搜索,不能使用 Google 的使用 Bing 搜索,不要使用百度
  6. 註冊一個 Github 賬號。

初學階段

學習時間:1 個月

初學階段主要是學習 HTML、CSS 和 JavaScript,掌握三種語言的基礎語法,並且掌握基本的佈局方式、基本的 DOM 操作和算法。

HTML 和 CSS

推薦跟著 iMooc 的《HTML + CSS 基礎課程》學習,裡面的每一小節都是指引式的教學,跟著指導學習 HTML 和 CSS 的基礎語法。

鏈接:http://www.imooc.com/learn/9

學習完上面《HTML + CSS 基礎課程》的所有內容之後,自行完成一個百度搜索的首頁,要求做到位置、顏色、間距等 99% 還原。不需要點擊可以搜索。

【3.12 更新】

課程中沒有提到的該學習的還有 flex 佈局

JavaScript

學習 JavaScript 可以上廖雪峰的網站上學習:

http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000

跟著目錄從上往下學習,一直到 Promise。

學習的過程中可以結合練習題學習,這裡整理了一些:

https://github.com/iszu/web-learning/blob/master/JavaScript%E7%BB%83%E4%B9%A0%E9%A2%98.md

正確把代碼寫的簡單,短小。最好能一行實現。

當你學完 HTML、CSS 和 JavaScript 的基礎之後,完成這麼一個小練習:

實現一個簡單的 TodoList

不懂啥是 TodoList 的自行 Google

限制

  1. 界面不能照抄網上已有頁面的風格,可以把網上的設計稿做成你的頁面,也可以自己設計
  2. 不能使用任何已有的庫(如 jQuery, Bootstrap, Vue 等)
  3. 增加、刪除、修改的操作執行後,頁面不能刷新

基本功能

  1. 增刪改查
    增刪改查是指可以實現“增加”、“刪除”、“修改”、“查詢”四個功能。 其中“查詢”不代表“搜索”,只要頁面刷新後,數據能夠正常顯示即可。
  2. 可以儲存 “內容”“是否已完成” 的狀態
  3. 使用 localStorage 儲存數據
  4. 界面儘可能做的好看

加分項

  1. 可以只顯示“未完成”或“已完成”的條目

    你可以把它們分開顯示,或者是通過按鈕切換顯示,或者你也可以自己想一種把它們分開顯示的方法
  2. 給每一條 todo 添加 “完成日期”
  3. 在第二點的基礎上,已過期的條目有不同的樣式
  4. 其它更牛逼的功能

進階階段

學習時間:1 個月

學習完上面的課程,你就已經是一個合格的美工了,能根據設計師的設計稿實現出頁面,但是還不是一個前端工程師,或者說還不是一個工程師。這一階段你要開始接觸一些作為程序員需要學習的東西。

Markdown

首先學會使用 Markdown 進行寫作,Markdown 是什麼,怎麼樣個語法,可以查看我之前的推送:

https://mp.weixin.qq.com/s?__biz=MzI1MDA2MTUyMQ==&mid=210548061&idx=1&sn=df5b99d555867c279596dde9b1862de2#rd

git 版本控制

其次要學會使用 git 進行版本控制,還是剛剛的廖雪峰—— git 教程:

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

並且把上面做的兩個項目,通過 git push 到 Github 上開源,README.md 使用 Markdwon 編寫。

HTTP, Ajax 和異步

學習 Ajax 的基本實現,在這個階段你會接觸到 JavaScript 的異步編程,你得自行了解什麼是異步,並且會開始基礎 HTTP 協議,請自行了解 HTTP 狀態碼,請求頭,響應頭等基礎知識,並瞭解 TCP/IP,HTTP,HTTPS 協議的概念和關係。接著瞭解 JavaScript 的同源策略,為什麼需要同源策略,以及如何跨域。

高級階段

學習時間:6 個月以上

【3.12 更新】

這個階段你會開始多終端前端的開發,瞭解響應式佈局,接觸前端工程化和前端框架,並開始深入學習 JavaScript 的深入內容,包括 ES6、ES7 等。

響應式佈局

瞭解響應式佈局的應用範圍、基本原理。學習 em, px, rem, vh, vw 等單位的使用。

ECMAScript 6

學習 ECMAScript 6,瞭解 ECMAScript 和 JavaScript 的關係,具體文章可以看阮一峰的 《ECMAScript 6 入門》,另外可以參考我寫的《ECMAScript6 學習筆記》。

NPM

自行找教程學習 npm 的使用,接觸前端工程化,瞭解 Gulp, Webpack 等工具的用處,並在本地自己搭建一個工程化環境。

前端框架

自行找教程學習 Vue.js 或 React 或 Angular 等前端框架,並嘗試使用這些框架搭建一個單頁面應用。以下以 Vue.js 舉例:

  • 學習 Vue.js 基礎語法,一定要看官方的文檔來學習:https://cn.vuejs.org。
  • 學習使用 Vue-cli 在本地一鍵搭建 Vue.js 項目。
  • 本地開發一個 Todolist 的 Vue.js 版本,同樣使用 localstorage 進行存儲。
  • 學習使用 Github pages 部署開發好的 Todolist,可以讓別人一起使用。
  • 瞭解 Vue.js 2.0 的內部原理和外部思想:
    • Virtual DOM
    • 數據監聽
    • render 函數
    • 單向數據流
    • Vue.js 的 Lifecycle
    • 服務端渲染的原理
    • Vuex 和 Vue-Router
    • ……

Canvas 相關

瞭解 Canvas API 的使用,懂得使用 Canvas 製作動畫,以此來製作一些更炫酷的前端效果,如圖片背景的高斯模糊等。

深入階段

學習時間:無限

這個階段是作為一個前端繼續精進自己的一個階段,你已經可以勝任小型項目了,但是還有一些細節需要你一直不斷的學習。

前端儲存

前端儲存知識點:

  • 儲存技術有哪些?
  • Cookie, SessionStorage, LocalStorage 有什麼區別?
  • ……

History API

什麼是 History API,為什麼要增加這個功能?

性能優化

學習有關前端性能優化的相關知識等:

  • 如何縮短白屏時間
  • 如何提升 CSS3 動畫的性能
  • ……

安全

學習有關前端的安全相關知識等:

  • 通信安全
    • 如何保障 Ajax 通信安全
  • XSS 攻擊
    • 什麼是 XSS 攻擊
    • 如何防範 XSS 攻擊
  • CSRF 攻擊
    • 什麼是 CSRF 攻擊
    • 如何防範 CSRF 攻擊
    • CSRF 攻擊和 XSS 攻擊的區別是什麼
  • ……

兼容性

有關 IE 瀏覽器以及老版本瀏覽器的兼容性問題的學習和解決,包括:

  • HTML 標籤的兼容性
  • CSS 樣式的兼容性
  • JavaScript 的 API 的兼容性
  • 優雅降級與漸進增強

學習後端

等到前端學習的差不多了,可以通過 Node.js 來接觸後端的開發,這裡不再詳述。

轉發關注+私信小編 “ 資料”,即可獲取啦!


分享到:


相關文章: