摘要:作為文科專業(yè)畢業(yè),無(wú)名校背景,無(wú)任何關(guān)系,沒(méi)有接受過(guò)任何專業(yè)培訓(xùn),完全靠自學(xué)和看書看視頻做了五年前端,在外包公司,創(chuàng)業(yè)公司,級(jí)公司再到新型互聯(lián)網(wǎng)公司都呆過(guò),想結(jié)合自己的經(jīng)歷談?wù)剬?duì)于自學(xué)前端的一些看法學(xué)習(xí)大綱關(guān)于技術(shù)棧學(xué)習(xí),網(wǎng)上總會(huì)有各種討論
作為文科專業(yè)畢業(yè),無(wú)名校背景,無(wú)任何關(guān)系,沒(méi)有接受過(guò)任何專業(yè)培訓(xùn),完全靠自學(xué)和看書看視頻做了五年前端,在外包公司,創(chuàng)業(yè)公司,BAT級(jí)公司再到新型互聯(lián)網(wǎng)公司都呆過(guò),想結(jié)合自己的經(jīng)歷談?wù)剬?duì)于自學(xué)前端的一些看法:
學(xué)習(xí)大綱關(guān)于技術(shù)棧學(xué)習(xí),網(wǎng)上總會(huì)有各種討論,在此我就不詳述了,感興趣的話可以看看github上的一份前端學(xué)習(xí)大綱:2016年前端知識(shí)學(xué)習(xí)大綱,這個(gè)基本能覆蓋絕大部分新手需要學(xué)習(xí)和掌握的內(nèi)容,后面我更想聊聊自己對(duì)技術(shù)學(xué)習(xí)上的經(jīng)驗(yàn)歸結(jié)。
有認(rèn)同感首先對(duì)于前端學(xué)習(xí)需要有認(rèn)同感,關(guān)于這點(diǎn)非常非常非常重要,想必大部分人學(xué)前端的初衷是覺得前端相對(duì)于簡(jiǎn)單,上手快也不需要學(xué)習(xí)算法,編譯原理,數(shù)據(jù)庫(kù),操作系統(tǒng),網(wǎng)絡(luò)原理都諸多基礎(chǔ)知識(shí),所見即所得馬上就能開始干活,而且外觀呈現(xiàn)和交互效果這類東西比較容易激發(fā)人的學(xué)習(xí)興趣,另一種情況是做后端,做客戶端,做產(chǎn)品的同學(xué)覺得自己的發(fā)展遇到了瓶頸,轉(zhuǎn)做前端無(wú)論是從上手程度還是快速出活等都相對(duì)容易,加上這幾年h5應(yīng)用,webapp,微應(yīng)用,小程序,混合app開發(fā)等各種新概念層出不窮,市場(chǎng)認(rèn)可度也比較高,行業(yè)需求的水轉(zhuǎn)船高也讓前端的職位的一直供不應(yīng)求,但是請(qǐng)不要因?yàn)橐陨系耐庠谝蛩亟档土俗陨淼膶W(xué)習(xí)標(biāo)準(zhǔn),前端開發(fā)做到后面仍然是軟件開發(fā)的一個(gè)工種,軟件技術(shù)的一些普世性標(biāo)準(zhǔn)放到這塊也同樣適用,比如基礎(chǔ)算法,編程語(yǔ)言,設(shè)計(jì)模式,工程管理,網(wǎng)絡(luò)知識(shí)等都是通用的,甚至這些基礎(chǔ)底蘊(yùn)掌握的好壞會(huì)直接決定你后續(xù)的發(fā)展空間,所以請(qǐng)放棄前端=頁(yè)面仔這種幼稚的想法,努力提升自己的內(nèi)功修煉。
與時(shí)俱進(jìn)前端是門一直在變化的工種,相對(duì)于服務(wù)端和客戶端的開發(fā),無(wú)論是技術(shù)沉淀還是框架的選用等業(yè)內(nèi)都會(huì)有一套大致認(rèn)同的標(biāo)準(zhǔn),更多時(shí)候我們是根據(jù)自身的產(chǎn)品類型和業(yè)務(wù)發(fā)展來(lái)做技術(shù)選型,但是前端則不然,這是為數(shù)不多走的官方標(biāo)準(zhǔn)落實(shí)緩慢,民間標(biāo)準(zhǔn)層出不求,然后民間標(biāo)準(zhǔn)流行后再反推官方標(biāo)準(zhǔn)更新的技術(shù)路線,這就直接導(dǎo)致了好不容易學(xué)了點(diǎn)新技術(shù)標(biāo)準(zhǔn)卻苦于無(wú)合適的環(huán)境可以使用,好不容易掌握了一個(gè)流行框架和工具然后隔年再看發(fā)現(xiàn)業(yè)內(nèi)都不用了,不同的瀏覽器和軟件大廠紛紛推自己的特殊標(biāo)準(zhǔn)來(lái)占據(jù)市場(chǎng)導(dǎo)致同一套標(biāo)準(zhǔn)下的代碼在不同的環(huán)境中還會(huì)有各種兼容性問(wèn)題等各種囧境,這就要求作為前端開發(fā)者天生就需要具備各種積極主動(dòng)和開放包容的學(xué)習(xí)精神,多與業(yè)內(nèi)的同行交流,多去關(guān)注下github上的一些火熱的項(xiàng)目,多去嘗試些新技術(shù)理念和調(diào)試一切的耐心。比如前幾年會(huì)寫jquery,了解CSS就能開始干活,加配個(gè)grunt和less已經(jīng)算是高配,但是現(xiàn)在我們?cè)倏纯?,你要不整點(diǎn)node的基礎(chǔ)環(huán)境,不弄個(gè)npm和yarn來(lái)管理你的資源依賴,不整點(diǎn)單頁(yè)路由,不上點(diǎn)babel和typescript來(lái)預(yù)編譯下高級(jí)語(yǔ)法特性,不用點(diǎn)數(shù)據(jù)驅(qū)動(dòng)和MVVM之類的框架,不來(lái)點(diǎn)redux,rx-js之類的編程模型,不整點(diǎn)webapck之類的依賴管理與打包工具,不上點(diǎn)mocha,jasmine之類的測(cè)試驅(qū)動(dòng)開發(fā)框架等,你都不好意思說(shuō)自己在做前端開發(fā),誠(chéng)然很多人都會(huì)說(shuō)我只是想寫個(gè)頁(yè)面為何要弄的這么復(fù)雜,但是大家為何不反思下我們的頁(yè)面開發(fā)的工作模式和技術(shù)選型上是不是真的一直以來(lái)被我們低估了才會(huì)有如此大的偏見,況且現(xiàn)在前端開發(fā)的工作量已經(jīng)不同往日,服務(wù)的接口日趨API化,各種處理業(yè)務(wù)和控制層等操作也在逐步往前端遷移,這也對(duì)我們的工程化規(guī)??刂铺峁┝烁訃?yán)格的要求,而非之前的拼成各種腳本片段;
海納百川前端是門不斷借鑒的工作,這里說(shuō)的借鑒其實(shí)并不等于抄襲,而是指不斷在站在巨人的肩膀上創(chuàng)新的過(guò)程,如果來(lái)看今天js的發(fā)展。當(dāng)年js的作者都不會(huì)想到自己當(dāng)初只是設(shè)計(jì)用來(lái)驗(yàn)證頁(yè)面表單的語(yǔ)言能發(fā)展到如今這個(gè)程度,但是隨著技術(shù)領(lǐng)域的不斷發(fā)展,業(yè)內(nèi)大家都比較公認(rèn)的一些好的設(shè)計(jì)模式,架構(gòu)理念其實(shí)也是不斷地被一些新型的js庫(kù)的作者所借鑒,比如當(dāng)下最火的angularjs2,react,vue等,其中的很多數(shù)據(jù)更新策略,分層設(shè)計(jì)以及組件分層的思想其實(shí)在很多其他語(yǔ)言框架的設(shè)計(jì)中早已體現(xiàn),只是把這些概念帶到了js中再根據(jù)語(yǔ)言特點(diǎn)重新做了優(yōu)化實(shí)現(xiàn),好的技術(shù)理念與算法其實(shí)是和語(yǔ)言無(wú)關(guān)的,所以多了解些通用的技術(shù)準(zhǔn)則和最佳實(shí)踐才能不斷創(chuàng)新,不然的話永遠(yuǎn)只是做API的調(diào)用黨和框架的追隨者,自身的發(fā)展就容易陷入迷茫期。
有判斷力前端發(fā)展到現(xiàn)在可謂層出不窮,百花齊放,但是如何選擇做適合自己項(xiàng)目的技術(shù)選型,這其實(shí)也是非常考驗(yàn)每個(gè)從業(yè)人員的能力,一方面團(tuán)隊(duì)和個(gè)人需要成長(zhǎng),肯定會(huì)愿意在項(xiàng)目中去嘗試些新的技術(shù)框架和理念,另一方面工作需要快速出活以及舊的業(yè)務(wù)需要平穩(wěn)過(guò)渡,考慮到前后的銜接也不可能完全棄舊的技術(shù)體系不顧,同時(shí)還需要考慮技術(shù)的穩(wěn)定性以及后續(xù)的升級(jí)維護(hù)成本,第三方資源,社區(qū)活躍度以及生態(tài)發(fā)展環(huán)境等等,作為前端從業(yè)者是需要你對(duì)自己選擇的結(jié)果負(fù)責(zé)的,所以我們的指導(dǎo)原則應(yīng)該是多考慮下自己以及團(tuán)隊(duì)的能力,hold不hold住,如果出現(xiàn)了最壞的情況該如何處理,如果出現(xiàn)了源碼級(jí)的bug改怎么調(diào)試。遇到了文檔匱乏和團(tuán)隊(duì)成員水平不一致該如何配合等等,這些都應(yīng)該作為你的技術(shù)選型的參考,而非單純的求新求酷,我們不排斥新技術(shù),也不輕易否認(rèn)各種框架的優(yōu)缺點(diǎn),但是前提是請(qǐng)先多了解多思考,做最佳的選擇。
以不變應(yīng)萬(wàn)變萬(wàn)變不離其宗,技術(shù)和基礎(chǔ)的沉淀才最重要,誠(chéng)然各種理念和框架在不斷涌現(xiàn),但是語(yǔ)言最本質(zhì)的一些東西是不會(huì)變的,ecmascript的語(yǔ)言基礎(chǔ)特性,html的語(yǔ)義標(biāo)準(zhǔn),css的各種特性,http協(xié)議,設(shè)計(jì)模式以及常用的頁(yè)面優(yōu)化性能實(shí)現(xiàn)等等,這些最接近技術(shù)本質(zhì)的東西是任何框架都取代不了的,所以時(shí)不時(shí)地回過(guò)頭來(lái)多多看看這些東西,可以的話,自己也多寫點(diǎn)博客文章或者造個(gè)輪子,對(duì)于自身的提升也極其有用的。
寫在后面最后我想說(shuō)的是如果條件允許的話,建議初學(xué)者還是多去大公司鍛煉鍛煉或者多研究一些業(yè)內(nèi)主流公司的標(biāo)準(zhǔn),畢竟先以高標(biāo)準(zhǔn)來(lái)要求自己,即使客觀環(huán)境再怎么惡劣也不至于完全走偏,但是相反一開始就都是些野路子,完全按著自己的主觀臆想和快速出活的想法去積累經(jīng)驗(yàn),那樣往往容易陷入被動(dòng),后面再糾正回來(lái)無(wú)論是成本還是時(shí)間損耗都是巨大的。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/86726.html
摘要:前言自從上次在掘金發(fā)布年山地人的前端完整自學(xué)計(jì)劃講一個(gè)站主山地人的天前端自學(xué)故事以來(lái),一眨眼山地人老哥在站做主已經(jīng)有天了。所以這個(gè)體系里的一些框架包括也是山地人年自學(xué)計(jì)劃的一部分。月底,山地人老哥開啟了的兩個(gè)專題。 前言 自從上次在掘金發(fā)布【2019年山地人的前端完整自學(xué)計(jì)劃——講一個(gè)B站UP主山地人的40天前端自學(xué)故事】 以來(lái),一眨眼山地人老哥在B站做Up主已經(jīng)有85天了。 時(shí)隔一個(gè)...
摘要:我不能在對(duì)你沒(méi)有任何了解的情況下,給出一些不負(fù)責(zé)任的建議,大家都是成年人,應(yīng)該懂得如何取舍。我學(xué)前端的目標(biāo)就很簡(jiǎn)單,相對(duì)其他行業(yè)來(lái)說(shuō)收入還不錯(cuò),另外一個(gè)就是崗位需求也很多。 自從更新了《我的Web 前端自學(xué)之路》之后,收到了很多讀者的認(rèn)可,也碰到了很多像我一樣從零開始自學(xué)的朋友,并加微信進(jìn)行了一些交流,很多讀者都詢問(wèn)我,該如何自學(xué),有什么好的建議。也有些人說(shuō)感覺很枯燥,看書看到懷疑人生...
摘要:如果在學(xué)習(xí)過(guò)程中有什么問(wèn)題可以關(guān)注我公眾號(hào)琉憶編程庫(kù)給我留言。有興趣可以深入學(xué)習(xí)最后附上學(xué)習(xí)的知識(shí)結(jié)構(gòu)圖譜,可以按著下面的這個(gè)知識(shí)結(jié)構(gòu)圖進(jìn)行學(xué)習(xí)不一定完整,更多資料,面試題,都可以關(guān)注公眾號(hào)琉憶編程庫(kù)獲取。 你好,是我——琉憶。PHP程序員面試系列圖書作者。 作為一名PHP開發(fā)者過(guò)來(lái)人,也是經(jīng)歷了菜鳥到老手的過(guò)程,在此給那些想學(xué)PHP的同學(xué)指條路,即使你是轉(zhuǎn)行學(xué)PHP一樣可以學(xué)會(huì)PHP...
閱讀 4093·2021-11-22 09:34
閱讀 1568·2021-11-04 16:10
閱讀 1795·2021-10-11 10:59
閱讀 3333·2019-08-30 15:44
閱讀 2104·2019-08-30 13:17
閱讀 3536·2019-08-30 11:05
閱讀 802·2019-08-29 14:02
閱讀 2672·2019-08-26 13:34