計算機前端開發(fā)和后端開發(fā)哪個發(fā)展前景比較好?
自我介紹下,就職于BAT,做平臺后端開發(fā),我個人的信息來源有兩個渠道,一個是觀察公司內(nèi)網(wǎng)發(fā)布的招聘信息,另一個是觀察朋友圈內(nèi)獵頭經(jīng)常發(fā)布的招聘信息,基本算是從橫向與縱向兩個視角,較為全面的了解當前市場。
先說結(jié)論,就國內(nèi)市場而言,前端開發(fā)要求較容易,而發(fā)展前景相應(yīng)的受限,發(fā)布的職位也沒有那么多;那么相應(yīng)的就是后端開發(fā)要求較高,但是如果能夠堅持,更有機會往架構(gòu)師方向發(fā)展,工資自然也是不可同日而語了。接下來聊聊前端,前端語言的基礎(chǔ)是JavaScript,HTML和css。JavaScript是與后端交互,負責收集處理前端用戶提交的數(shù)據(jù),并與后端進行數(shù)據(jù)傳遞。
HTML是負責展示數(shù)據(jù),就是用戶在瀏覽器看到的數(shù)據(jù)。JavaScript從后端拿到數(shù)據(jù)(這個數(shù)據(jù)可能是數(shù)字,可能是文字等等,統(tǒng)稱為數(shù)據(jù)),交給HTML,展示在了瀏覽器的頁面中。
CSS是負責頁面渲染。我們看到瀏覽器頁面各式各樣,有的字體加粗,有的有背景色,有的是紅色字體,有的是黑色,有的是宋體,有的是楷體,那么這些格式就是有CSS代碼來把控。
從我的描述可以看出,其實前端的發(fā)揮空間相對有限,因此工作有余力且聰明的前端開發(fā)者就將精力用于開發(fā)前端框架上,目前市面上常見的前端開發(fā)框架有vue.js, angular還有jQuery等等。
那么如果你從事前端開發(fā),最可能的發(fā)展,除了寫代碼實現(xiàn)PM的需求,大概就是開發(fā)前端框架了吧。
那么如果從事后端呢,與前端相呼應(yīng),后端負責接收前端的請求,進行邏輯處理,數(shù)據(jù)庫讀寫,再將結(jié)果返回給前端。這個過程對于用戶來說是黑盒的,但也是最重要的。因為涉及到功能的魯棒性,健壯性,靈活性,以及系統(tǒng)的并發(fā)量,安全性等方面。千千萬萬的前端請求,最終都匯總到一個后端(假設(shè)是單節(jié)點服務(wù))來處理,你說后端重不重要。
舉個例子,買火車票,在12306網(wǎng)站初期,每次出行高峰,網(wǎng)站都會崩潰。崩潰的是前端還是后端呢,是后端,這個例子不是想說明12306的后端不夠好,而是說明后端面臨的挑戰(zhàn)要比前端更加大。
但是啊,當今社會,有挑戰(zhàn)才刺激,解決了挑戰(zhàn)才能證明你的實力。
說的再直白一點,能比別人解決更多的挑戰(zhàn),才有資本去和老板談升職加薪,談未來發(fā)展。
這也是為什么很多系統(tǒng)架構(gòu)師是從后端工程師發(fā)展過來的原因。因為在前期,做后端開發(fā)的過程中,他們已經(jīng)積累了很多的經(jīng)驗,具備了全局設(shè)計統(tǒng)籌的能力,同時也了解后端面臨的各種挑戰(zhàn),才能更好的對龐大的系統(tǒng)負責。
后端語言雖然種類很多,像常年霸占編程語言使用量前排的JAVA,世界上最好的語言PHP,微軟親兒子
.net
,還有老牌的編程語言鼻祖C/C++,但我的建議是,如果你決定在后端發(fā)展,最好盡快決定一個方向,開始深耕,進行縱向發(fā)展,而不要做一個每種語言都略懂,但是卻無一精通的人。最后,再次陳述我的觀點。
如果注重未來發(fā)展的廣度,建議嘗試后端開發(fā),積累架構(gòu)設(shè)計經(jīng)驗,你會發(fā)現(xiàn)踩過的坑,在未來,都是寶貴的財富。
如果注重當前及今后工作的強度,建議嘗試前端開發(fā),相對壓力會少一些,而工資水平是相近的。
看到這里的同學(xué)們,點個贊唄。
歡迎大家關(guān)注我的悟空問答,會經(jīng)常回答互聯(lián)網(wǎng)公司,編程開發(fā)相關(guān)的問題。
更歡迎大家在評論里和我交流想法。