從大二開(kāi)始學(xué)習(xí)前端,到現(xiàn)在也差不多一年時(shí)間,想和大家分享一下自己的前端自學(xué)之路。
剛?cè)腴T前端是在一位學(xué)長(zhǎng)的帶領(lǐng)下開(kāi)始的,花了兩節(jié)課的時(shí)間教授了有關(guān)于html和css的基礎(chǔ)知識(shí),學(xué)會(huì)盒式模型的布局,當(dāng)然每一節(jié)課都是有作業(yè)的,仿站是一個(gè)很好的學(xué)習(xí)機(jī)會(huì),第一節(jié)課仿了百度和google的首頁(yè),第二節(jié)課仿了錘子官網(wǎng)。
網(wǎng)上的學(xué)習(xí)站點(diǎn)w3school,菜鳥(niǎo)教程。
之后開(kāi)始在學(xué)長(zhǎng)手下接一下小的切圖外包,綠城教育首頁(yè),surf公司首頁(yè),另外自己也接了一個(gè)比賽的外包mato眾籌,這個(gè)時(shí)候還停留在切圖的領(lǐng)域里面(也是我認(rèn)為的真正打基礎(chǔ)的時(shí)候),但還沒(méi)有真正入門前端。
這個(gè)時(shí)候感覺(jué)自己到了一個(gè)瓶頸,對(duì)于div+css的布局以及很熟練,但是僅僅停留在前端的切圖方面,還沒(méi)有做過(guò)需要業(yè)務(wù)交互的內(nèi)容,這個(gè)時(shí)候就需要學(xué)習(xí)一門后臺(tái)語(yǔ)言,之前也有打算學(xué)習(xí)asp .net javeEE的打算(也都玩過(guò)一會(huì)),但最后還是選擇了前端的自家后臺(tái)nodejs。
剛開(kāi)始接觸nodejs的時(shí)候感覺(jué)nodejs和前端的js根本就是兩種語(yǔ)言,require是什么都不了解(那時(shí)候?qū)τ趓equirejs,seajs,angularjs,reactjs等框架和庫(kù)都不了解,只懂得一個(gè)jquery),也很難找到好的學(xué)習(xí)資料,所以入門非常困難,在圖書(shū)館里借了好幾本書(shū)一本一本看,但基本不講原理,只講用法和實(shí)戰(zhàn),對(duì)于一些常用模塊的講解也不夠深入。js全棧教程(這是后來(lái)才發(fā)現(xiàn)的一個(gè)很好的教程)
學(xué)會(huì)一些基礎(chǔ)的nodejs之后,就開(kāi)始搭建express框架,自己也買了一個(gè)阿里云服務(wù)器,還搭建了個(gè)人主頁(yè),將自己以前的切圖作品放了上去,購(gòu)買域名,之后學(xué)習(xí)nginx進(jìn)行反向代理綁定端口,這個(gè)時(shí)候前端與后臺(tái)的交互以及很熟練了,只是還沒(méi)有進(jìn)行大量實(shí)踐的機(jī)會(huì)。
搭完博客之后nodejs的學(xué)習(xí)就開(kāi)始停滯,學(xué)業(yè)方面的壓力也消耗著盡力與時(shí)間(我選擇的專業(yè)為計(jì)算機(jī)科學(xué)與技術(shù)+自動(dòng)化雙專業(yè),所以課程壓力大),那段時(shí)間也有點(diǎn)迷茫,學(xué)習(xí)nodejs有什么用,也許也會(huì)有讀者疑惑,nodejs對(duì)前端有提升嗎?答案是肯定的。學(xué)習(xí)nodejs為以后學(xué)習(xí)requirejs,seajs,reactjs都有很大的幫助,以及一些前后端分離的思想,模板渲染的思想等等。語(yǔ)言大多不同,但是設(shè)計(jì)思想都是相似的,所以多學(xué)一門后臺(tái)語(yǔ)言對(duì)自己肯定是有幫助的。這段時(shí)間還買了一本javascript高級(jí)程序設(shè)計(jì)來(lái)啃,很多以前不懂得東西都在書(shū)上找到了原因。
接下來(lái)就是reactjs的學(xué)習(xí),跟著官網(wǎng)的教程開(kāi)始學(xué)習(xí)reactjs,之后又開(kāi)始學(xué)習(xí)webpack(webpack的學(xué)習(xí)坡度有點(diǎn)高,當(dāng)時(shí)學(xué)了好久才弄懂),在nodejs環(huán)境下構(gòu)建reactjs,用webpack打包,之后又學(xué)習(xí)ES6語(yǔ)法,所有reactjs都用ES6語(yǔ)法重構(gòu),結(jié)構(gòu)更加清晰與美觀,代碼的效率也有所提高。
reactjs之后,又發(fā)現(xiàn)reactnative這個(gè)東西,當(dāng)時(shí)也覺(jué)得挺好玩,置購(gòu)了Mac來(lái)開(kāi)發(fā)RN,在省服務(wù)外包大賽中制作了一款RNapp獲得省二等獎(jiǎng)。
我的導(dǎo)師學(xué)長(zhǎng)和我講的最多的是這樣一句話“實(shí)踐是最好的學(xué)習(xí)機(jī)會(huì)”。所以在忙完比賽之后,我就開(kāi)始了找實(shí)習(xí)之路,地點(diǎn)杭州,成功斬獲七份offer,最后選擇了一家離學(xué)校近的創(chuàng)業(yè)公司。(沒(méi)有進(jìn)入阿里網(wǎng)易的校招還是挺遺憾,但我認(rèn)為在創(chuàng)業(yè)公司也能學(xué)到很多。)
在最后總結(jié)一下我的自學(xué)之后,也給讀者們一點(diǎn)參考:
1.前端切圖(html+css)
2.ajax(這個(gè)在文中沒(méi)有寫(xiě),在這個(gè)階段學(xué)應(yīng)該是最好的)
3.nodejs(一門后臺(tái)語(yǔ)言幫助你理解整個(gè)服務(wù)的架構(gòu),理解模板渲染,前后端分離和模塊化思想)
4.linux、express(阿里云的服務(wù)器就是linux系統(tǒng),相信我,學(xué)會(huì)之后你會(huì)喜歡上linux,搭建express服務(wù))
5.reactjs等框架學(xué)習(xí)(個(gè)人推薦reactjs,在組件化的思想和虛擬DOM的思想很先進(jìn))
6.開(kāi)始找實(shí)習(xí)實(shí)戰(zhàn)充實(shí)自己的知識(shí)庫(kù)吧!(Show me your code?。?/p>