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