前言
前端工程師是一個出現(xiàn)了10年左右,而頗受重視則是最近這五六年的事情。受到重視到前端從業(yè)人員井噴,也就是這一兩年而已。因為前端工程師這個職位出現(xiàn)得太晚,導致各大學校均沒有系統(tǒng)的相關(guān)教學,我們所熟知的各個大牛均是自我研究自我學習的。而隨著google推出v8引擎以來,尤其是gmail對ajax的應(yīng)用,再隨著jquery的出現(xiàn),解決了各大瀏覽器的兼容問題,而nodejs則將js推向服務(wù)器端,javascript從一個邊角料的語言變成了一個性能強勁,前后端通吃的強大語言。
技術(shù)的發(fā)展緊緊是一個方面,更重要的是這幾年萬眾創(chuàng)新,互聯(lián)網(wǎng)+的概念深入人心,因此大量資金涌入互聯(lián)網(wǎng)領(lǐng)域,大量的創(chuàng)業(yè)公司如雨后春筍一樣涌出。大量的公司需要前端工程師的加盟,因此大量后端工程師開始轉(zhuǎn)向前端。
而這些后端工程師因為其深厚的編程思想,他們完全無法忍受毫無邏輯可言的html+css+js的原始編程狀態(tài),因此又開發(fā)了各種前端工具以及語言。如針對html的jade模板引擎,針對于css的less、sass、stylus等。而為了便于項目部署,又有了所謂的amd、cmd標準。一直發(fā)展到browserify、webpack等打包工具。而自從Misko Hevery開發(fā)了AngularJS之后,破天荒一樣的整出了雙向綁定的概念,自此,前端江湖真是百花齊放,爭奇斗艷,一發(fā)不可收拾。
暈了,真的暈了。難怪真阿當同志在2016年年末在csdn上痛心疾首的指出,這已經(jīng)亂到烏七八糟,再不是他熟悉的那個親切的前端世界了。世界潮流浩浩蕩蕩,不會因為真阿當這樣的前朝遺老就停止發(fā)展的步伐。在npm上各種組件、框架、工具每天都在上架,已經(jīng)上架的不斷的在升級,甚至,有的升級是以小時計!
而由于前兩年前端工程師的緊缺,導致薪資頗為水漲船高,大量不明所以的路人涌入前端行列,以至于在知乎上關(guān)于如何入門前端,前端學五個月能不能工作,以及各種咨詢?nèi)绾螐氖虑岸诵袠I(yè)的奇葩問題如沙灘的貝殼一樣俯身可拾。
在這混沌亂世,我不禁要問,到底什么是前端工程師?到底掌握什么技能才能稱之為前端工程師?
什么是前端工程師?
現(xiàn)在的前端工程涉及的面實在是太多了。以至于很多人搞不清楚,以為會點html+css就是前端工程師了。我把前端工程師分為以下兩類:
前前端工程師
此類工程師的工作主要是和設(shè)計師對接,將設(shè)計師的設(shè)計稿像素級還原成html+css的網(wǎng)頁。也就是說,很多所謂的老前端工程師,或者自認為學點html就能成為的前端工程師,只不過是前前端工程師而已。
在html、css、js三門語言中,很多人認為困難的是js語言。對嗎?對也不對。
js語言的困難在于他是一門真正的編程語言,所以寫js編程是需要邏輯能力的。而這個邏輯能力是相當一部分人欠缺的。所以認為js語言難也就不足為怪了。但是,我認為js語言是這三個語言中最簡單的。為什么呢?正因為它是一門邏輯語言,所以他是可以推導的。如果你本身邏輯能力不差,又或者學習過其他編程語言,入手js語言并非一個很困難的事情。
真正的難點在于html、css這兩個所謂的語言。很多工程師嘲笑前端工程師說,html、css算編程語言嗎?
我回答你——不算!
正因為其邏輯不強,是一個非常松散的語言狀態(tài),才導致其無比之難。你沒有什么可以推導的。這樣寫也行,那樣寫也行,無論怎么寫,只要能實現(xiàn)效果就行。問題是,優(yōu)雅嗎?
好比幾乎所有中國人都認識3000個以上的漢字,任憑誰都能寫點東西,但是真正能夠讓人感覺寫得好的,寥寥無幾。這是兩門感性的語言,和其他編程語言完全不是一碼子事兒,所以,這才是真正的難語言。
有人說,實現(xiàn)效果就行唄!對,正如我們每個人都能把話說清楚,不求堆砌華麗的辭藻一樣,這樣是能夠與人交流了,上街也能買賣東西做生意。但是,在對前端工程師要求越來越高的今年,你還真心以為就會倆標簽div+span就可以給自己戴上一個所謂的前端工程師的帽子,然后就月薪過萬,當上CEO,迎娶白富美走上人生巔峰了嗎?
做夢去吧!
如果你邏輯能力確實不強,但感性,理想化,尤其是文章寫得還不錯,如果還是個愛浪漫的女生愿意從事前端工作。那么如果你把html+css這兩門語言深入進去學習,也是頗有可為的。
另外,雖然現(xiàn)在各種前端框架熱火朝天,但是你看看現(xiàn)在主流的大型網(wǎng)站,新浪搜狐網(wǎng)易騰訊,是不是基本上都是老一套,除了頁面設(shè)計越來越美,我沒見哪個大型網(wǎng)站會使用angular、react、vue這些東西。所以前景還是很美好的。
但如果你是個摳腳丫子的糙漢子,咱還是別了,咱們有重體力活兒可以干!
后前端工程師
什么是后前端工程師?上面的前前端工程師其實就是原來的前端工程師,而這兩年炒得火熱的前端工程師實際上是把原來屬于后端工程師的活兒給搶過來了。所以我把它命名為后前端工程師。
后前端工程師需要至少了解一門后端語言,了解json數(shù)據(jù)交互格式,了解至少一個前端框架,當然js語言基礎(chǔ)絕不能差。了解項目構(gòu)建,路由設(shè)定,數(shù)據(jù)庫原理,服務(wù)操作等等一系列的基礎(chǔ)知識。
具體負責的工作就是將前前端工程師開發(fā)好的網(wǎng)頁,基于某種前端框架,與后端接口對接,并部署調(diào)試等。當然,在大部分公司,是不會把前端工程師分成前前端工程師和后前端工程師的,所以,頁面制作的工作也需要由你來實現(xiàn)。
這才使真正的前端工程師。
當然,如果你希望往全棧去發(fā)展,那么服務(wù)端Node.js編程也需要掌握,我大前端牛逼啦!站在泰山之巔振臂一呼,還TM有誰?!
如果你真心如此牛逼,那早已走上技術(shù)巔峰了。只是,縱觀火熱的前端圈,又有幾人能達到如此境界呢?高處不勝寒??!
我想從事前端,我該如何入手呢?
首先,基礎(chǔ)的html+css是必須掌握的,就好比學習中文一樣,你必須先掌握3000左右的識字量,才可以說略懂中文。但是,在掌握了html+css基礎(chǔ)之后,如何發(fā)展,取決于你自身的特點。
如果你比較年輕,大學剛畢業(yè),自認為邏輯能力不錯!,那么建議直接進入后前端的學習,深挖js語言,再根據(jù)你所在的公司的實際情況,選擇一個主流的前端框架進行深入,在js不斷深入的過程中不斷的開發(fā)項目,如果能遇到一個好的公司,好的團隊,你將快速的提升自己的技術(shù)能力,建議你從后前端的不斷深入,然后不斷提升前前端技能,最終達到真正的大前端。將來往全棧發(fā)展都是很有希望的。
如果你比較年輕,喜好文學,感性浪漫,建議深入學習html+css,再附帶了解js語言,如果在一個不錯的團隊中,可以接觸到那些后前端非常厲害的同事,你未必能如它在這些方面如此牛逼,但是你依然可以進步不小。不過,html+css是毫無捷徑可言的,都是慢慢打磨出來的實力。你在js方面可能確實不如別人,但是要做到,同樣的一個頁面,你寫的html+css就是比別人的簡潔,整齊,優(yōu)雅,那么你自然有你的存身之道。建議從前前端入手,深入后再往后前端靠攏,具體能提升到何種境界,要看你的天賦與努力的。
我是后端工程師轉(zhuǎn)前端,咱別費那個勁了,以你多年的后端經(jīng)驗可想而知,你的html+css水平一定是垃圾,就是因為你這樣的后端工程師的存在,才導致前端工程師奮起爭先,往大前端發(fā)展的。不過沒有關(guān)系,你可以揚長避短,利用你無比牛逼的邏輯能力與后端變成語言天賦,直接入手js語言以及某一個前端框架。推薦angular或者react。因為這倆框架就是你們后端寫的。你會無比親切。至于html+css這種小事情,教給別人去寫啦!當然,你還可以深入研究node.js,往服務(wù)端發(fā)展,也是很不錯的職業(yè)棧。
我是什么類型的前端?
吹了這么多牛逼,肯定有很多人不服。好,我簡單說下我的情況。
我學得是中文。前端工程師這塊基本全部自學,擅長html+css。目前從事vue技術(shù)棧的開發(fā)工作。04年入行從事網(wǎng)頁切圖仔的工作,國內(nèi)第一批研究所謂div+css的人。擅長seo優(yōu)化網(wǎng)站,語義化書寫網(wǎng)頁。12年以前沒有關(guān)心過js語言。
目前在后前端的路上奮起直追。說我的前端經(jīng)驗,12年從業(yè)。但是真正在js語言上用功,也就是這兩年的事情。所以,我是一個老菜鳥。
-
工程師
+關(guān)注
關(guān)注
59文章
1573瀏覽量
68669
發(fā)布評論請先 登錄
相關(guān)推薦
評論