26天學通前端開發(配資料)

曉舟報告發表於2017-10-11

26天學通前端開發(配資料)

前言

好的學習方法可以事半功倍,好的學習路徑可以指明前進方向。這篇文章不僅要寫學習路徑,還要寫學習方法,還要發資料,乾貨滿滿,準備接招。

網上有很多前端的學習路徑文章,大多是知識點羅列為主或是資料的彙總,資料量讓新人望而卻步。今天我們雖然也有大量的知識點,但是整體以特定目標引導學習,讓學習梯度更加平滑。

文章用下面七個目標引導學習,只要依次完成,就可以踏進前端開發的大門

  1. 將設計稿還原成html頁面(5天)
  2. 在網頁中新增圖片切換的效果(2天)
  3. 學會使用git管理你的程式碼,並且用markdown格式做筆記(2天)
  4. 系統地學習javaScript(8天)
  5. 搭建一個web伺服器(5天)。
  6. 熟悉ajax和跨域請求。(2天)
  7. 瞭解一個前端框架。(2天)

一、將設計稿還原成html頁面

第一天:掌握html標籤和css樣式基礎

html有那麼多標籤,你只需要記住八個就可以搞定99%的網頁,它們分別是:h,p,a,img,ul,li,div,span。

css選擇器:id選擇器,class選擇器,元素選擇器,層級選擇器;記住四個,夠用了。

css屬性:width,height,color,background-color,font-size;記住這幾個就夠了。

上面的內容沒有多少需要理解的,照著w3cschool上面敲一遍,剩下的時間自己隨便玩玩,比如弄個空div,設定個寬高,設定個背景色,裡面新增一個標題,新增一個連線等等,想怎麼玩就怎麼玩,但是注意:

有疑問不一定要馬上解決,但是定要用筆記下來,以後可以帶著問題學習(同下)
有疑問不一定要馬上解決,但是定要用筆記下來,以後可以帶著問題學習(同下)
有疑問不一定要馬上解決,但是定要用筆記下來,以後可以帶著問題學習(同下)

如果有問題馬上去解決,你會陷入問題的黑洞,然後被一個個連鎖問題搞得喘不過氣來,記住,第一天就一個目標,知道html和css是怎麼用的就行。

第二天:盒子模型

關於盒子模型,網上有大量的部落格,找一篇自己能理解的從頭看到尾就差不多了,其實記住五個css屬性就行(width,height,margin,padding,border)

概念理解了一點要多練,一天的時間搞盒子模型,怎麼也玩明白了。可以看看電商網站中的一個個盒子都是怎麼設定的。自己也照著做一做。

第三天:浮動佈局

在前兩天的學習中,一定會發現:有些元素獨佔一行,有些元素可以和其他元素共享一行。因為什麼?看看元素的分類。如何讓兩個div放在同一個,學學浮動佈局,在看看如何清除浮動。這些網上都有相應的教程。也可以關注微信公眾號:曉舟報告,傳送“獲取資料”,就能收到下載密碼,網盤地址在最下方,獲取教程和案例的資料。

第三天主要就是兩個屬性(float:left和clear:both),玩明白了任務就完成了。

第四天:定位

如何設定元素的絕對定位,相對定位和固定定位,如何設定定位元素的參照物:一個css屬性和三個值就搞定了(posotion:absolute,raletive,fixed),這個也可以玩一天,看看網頁中的廣告是怎麼做的。向對聯廣告,彈框廣告,都需要用到定位。

第五天:還原設計稿

如果前四天的知識都掌握了,第五天要學習還原設計稿,找一個簡單的設計稿(psd格式),用photoshop的切片工具把主要內容切下來(可以用一上午的時間學習切圖),用半天的時間將設計稿還原成html頁面。如果沒有簡單的設計稿,可以關注微信公眾號:曉舟報告,傳送“獲取資料”,就能收到下載密碼,網盤地址在最下方,這裡有簡單的設計稿素材。

二、在網頁中新增圖片切換的效果

jQuery仍然是當前使用最廣泛的庫,我們可以在不懂JavaScript的情況下,直接使用jQuery實現一些網頁效果,如果自學,我建議先簡單學學jQuery,然後再去學習JavaScript,這樣學習曲線更加平滑,而且會有更多的學習樂趣(js相對枯燥)。

第六天:入門jQuery

首先,瞭解jQuery選擇器,這個基本看一下就會了。

然後,使用jQuery修改樣式和屬性。

最後,學會繫結單擊事件

第七天:完成一個圖片切換效果

可以上網找現成的案例,也可以看書上的案例。《鋒利的jQuery(第二版)》寫的不錯,有興趣看的話看兩個小時,掃一掃就行,適合初學者,不要在這本書上面浪費太多時間,如果沒有找書籍或是案例素材,可以關注微信公眾號:曉舟報告,傳送“獲取資料”,就能收到下載密碼,網盤地址在最下方,資料都是現成的。

三、學會使用git管理你的程式碼,並且用markdown格式做筆記

第八天:是時候學習git了

學到第八天的時候,你會發現你的程式碼越寫越多,案例越來越多,筆記越來越多,有的可能已經找不到了。這時候,你需要用git來管理你的程式碼。廖雪峰老師的部落格有很不錯的git教程,可以看一下。如果想看精簡版的,可以關注我的微信公眾號。

第九天:用markdown記錄你的筆記

markdown格式很適合程式設計師做筆記,真的非常非常適合,我現在寫這篇文章就是用markdown格式在寫,學起來也非常容易,社用誰用誰說好,抽一天的時間學習一下把。然後以後所有的問題,資料,筆記都用它來記錄。

四、系統地學習JavaScript

是時候學習JavaScript了,對沒有程式設計經驗的朋友,這也許是個坎,但也是個試金石,對於一個前端開發工程師,你要用JavaScript表達你的感情,用JavaScript對瀏覽器下達指令,用JavaScript體現你的能力,JavaScript是你進步的基石,這個不能再重要了。

第十天:變數、資料型別、運算子、表示式

定義變數用var(let是什麼?先不用管),資料型別記住六種:數值,字元,布林,null,undefined,物件。運算子和表示式,可以看看犀牛書,這章寫得不錯。

第十一天:控制流程語句

記住這四個:if,switch,for,while。熟悉語法,在做幾個簡單的練習。比如:輸出1-100所有整數,輸出1-100所有奇數,輸出1-100所有能陪7整除的數,輸出1-100前3個能被7整除的數。用for寫完了再用while寫一遍,反正就是多寫多練。

第十二天:函式

什麼是函式,什麼是返回值,什麼是引數,什麼是形參,什麼是形參,如何呼叫函式。在瞭解一下作用域的概念。然後做幾個練習:寫一個函式計算兩個數的加和,寫一個函式計算四則運算,寫一個函式計算階乘(用迴圈,不用遞迴)。在瞭解一些作用域的基本概念。

除非好奇心驅使你,否則不要去看作用域鏈,不要去看閉包,不要解決函式巢狀的各種問題,這些都不是30天之內的任務

第十三天:陣列

到w3cschool上看看陣列的基本概念,如何遍歷陣列,有興趣的話可以試試遍歷二維陣列。在陣列中新增陣列,刪除資料,替換資料,如何使用排序方法(sort)。

第十四天:內建物件

學會使用三個內建物件:數學物件、日期物件。數學物件會取任意的隨機數就行,比如1-7的隨機數,10-100的隨機數。日期物件會獲取年、月、日、時、分、秒,還有時間戳就夠了。

第十五天:計時器方法

四個計時器方法:setInterval,clearInterval,setTimeout,clearTimeout。然後做練習:5秒跳轉到其他頁面;網頁顯示始終;還有網頁顯示倒數計時;有時間做一個圖片自動輪播的效果。

第十六天:DOM

熟悉DOM的樹狀結構,節點關係,html節點分類(元素節點、屬性節點、文字節點),獲取節點的方法,記住這兩個就行:querySelector和querySelectorAll。(如果看到getElement(s)ByXXXX,有興趣就看看,沒興趣就放著),新增節點,刪除節點,修改節點的各種方法,都試一遍就可以了。

第十七天:DOM練習

今天的主要任務就是把之前用jQuery做的效果,用原生的JavaScript實現一遍。

學到這裡,原生JavaScript就告一段落了,什麼閉包,原型,物件導向,ES6,都不要在這個階段學。學習就像剝洋蔥一樣,一層一層的去見識裡面的事件,如果扣一個點一直向內探索,這種方法不適合自學,會嚴重打擊自信心。

如果有比較難的案例不會自己寫,可以關注微信公眾號:曉舟報告,傳送“獲取資料”,就能收到下載密碼,網盤地址在最下方。

五、搭建一個web伺服器(5天)

第十八天:學習node

對於前端同學來說,用node搭建web伺服器是再合適不過的了,最起語法層面不用重學了,大家都是js嗎。

前端同學學習node要簡單粗暴一點,什麼非同步io,事件驅動,單執行緒,都不用管。先照著官網開一個伺服器再說。

第十九天:學習npm

要學會用npm下載第三方模組,要會用package.json檔案管理依賴模組,然後下載一個http-server的模組,開一個靜態伺服器就夠了。

第二十天:瞭解http協議

知道什麼是請求,什麼是響應,查查get和post的區別,學會使用chrome除錯工具抓包。看看別人網站的請求和相應是什麼樣的,再看看自己的靜態伺服器請求和相應是什麼樣的。

第二十一天:用express搭建靜態伺服器

不要寫太多,就建一個server.js檔案,引入express,處理兩個url的請求,send回幾個字串就OK了。前端可以用表單提交get和post請求,用抓包工具看看有響應式什麼效果,沒響應式什麼效果,404是什麼效果。

第二十二天:瞭解一下pug模板引擎
用模板繼承做一個動態頁,感受一下最簡單的網站時如何實現的。

六、熟悉ajax和跨域請求。(2天)

第二十三天:學習ajax

瞭解XMLHttpRequest物件,再看看如何使用這個物件傳送請求和接受響應的資料。如果之前的內容瞭解的透徹,這個就很好理解了,ajax說的簡單點就是http協議的實現。

嘗試用封裝好的ajax方法來請求資料,jQuery有,axios有,如果前面的課程都學會了,這個看文件,超簡單。

第二十四天:學習跨域請求

看看什麼是同源策略,瞭解跨域請求的解決方案,看看jsonp的原理,在嘗試用封裝好的jsonp方法獲取資料。jQuery有,jsonp模板(npm可以下載)也有。至於後臺,用node自己模擬一個跨域的環境,應該不難。

七、瞭解一個前端框架。(2天)

第二十五天:學習webpack

阮一峰老師有一套webpack的教學視訊,寫的不錯,可以照著練練,然後,找一個寫好的webpack配置檔案和package.json檔案,面得自己配浪費時間。

第二十六天:刷文件

現在主流的前端框架:react、vue、angular,找一個對著文件刷一天,感受一下它與jQuery的區別。

八、注意事項

  • 寫的一定要比看的多
  • 寫的一定要比看的多
  • 寫的一定要比看的多

重要的事情說三遍

九、總結

通過上面26天的學習,恭喜你!你已經在前端開發的道路上走出了第一步,之後,喜歡資料結構和演算法,可以去leetcode刷題,喜歡node,可以系統的學習一下後臺,可以深入學習網路協議,作業系統,資料庫等知識,喜歡原生JavaScript,可以看看《js高階程式設計》還有再瞭解ES的新特性。總之,把上面的目標完成之後,你的世界就開闊了,對知識體系也有了一個全新的理解,到時候再著手深入某一個方向的學習。

資料下載地址:pan.baidu.com/s/1jI7pjJw

原文連結

相關文章