過去十年,是前端覺醒的十年。前端
前端這個行業很年輕,更早時候實際上是有前端工做可是沒有前端崗位。你們以爲這個東西程序員作也行,設計師作也行。前端工做一直存在,可是沒有人認爲它是一個獨立的工種和崗位,也沒有人去發展它的工程體系,更沒有人去找它的核心價值。因此若是說過去十年前端是什麼樣的十年,我認爲是覺醒的十年。程序員
在過去十年中,前端技術的發展大體經歷了三個階段:編程
首先是青銅時代,就是 2008 年先後那段時間,前端圈子裏流行的是各類特效,好比鼠標跟隨、Flash,當時以爲很是炫酷,今天看來有點 low。瀏覽器
其次是白銀時代,大約是 2009 年到 2011 年這段時間。你們的觀念開始轉變了,從單純的說我要作一個什麼樣的效果,開始關注我怎麼樣作這個效果可以更方便。若是回頭來看,jQuery 抓的兩個點是很準的:第一點叫作 API 的應用性;第二點叫作瀏覽器的兼容性。jQuery 以這兩點爲核心,打造了一套這樣的開發框架,白銀時代其實就是最終以 jQuery 大獲全勝落幕。微信
另外就是黃金時代,也是移動前端開始擡頭的時間點。這個時候不論是移動前端仍是桌面開發前端,都開始進入到了一個正規化階段,開始關注工程體系,開始關注自身價值,開始關注質量與效率,同時這個時期也是 Node.js 崛起的時期。框架
在畢業找工做的時候,就有意識地去看前端崗位,可是由於那個時候前端崗位級別不高、工資跟客戶端也有差距。工具
前端 Leader 的焦慮感:爲何沒了你不行,有了你必定能有什麼東西?性能
在阿里有幾個大的前端團隊,這些大的前端團隊的 Leader,其實心裏的焦慮感是很強的——前端做爲一個新生職能,怎麼纔可以像服務端、客戶端同樣,給團隊找到核心價值?若是你的團隊只是接需求、作需求,技術再好的人,最後也會變成一個「看攤兒」的人。學習
這個裏面有必定的必要性,就是說沒了你不行;固然還要有必定的充分性,就是有了你就有了什麼東西。因此說前端團隊其實能夠分紅兩條線,一條是對內的工程上面的一些操做和一些設施的建設,這樣可以提高效率,你工程上作得越深越好,結構越合理,你最後的產出就越多,這個是針對必要性的;還有一條線就是充分性,咱們作性能、作跟客戶端的融合,這些可以給公司帶來新的價值。spa
工程思想在大公司萌芽,僅靠管理方法吃不開。
其實相對於大公司來講,社區產生的仍是一些工具的思想,工程的思想仍是在大公司產生,主要是由於會有一個大型團隊協做上的需求倒逼你必定要這麼作,而社區實際上是經過規則來保證團隊協做的。
靠規則創建協做,太慢,大公司是接受不了的,它必定須要強有力的推進。好比說咱們今天用的東西版本太舊,是否是你們要統一升個級?若是咱們用純粹的管理方法,我寫一封郵件要求你們都升級,不升級的今年沒有獎金,這是管理的思想。可是其實咱們工程團隊還有更好的辦法,乾脆就是對你用的舊版本給你提示,甚至強行推薦你在網上下載最新版本。這個工程思想對於前端行業來講意義深遠,但其實前端行業在這個上面已經有點太晚了。另外,將來伴隨項目複雜性的提高,工程思想必定還會再進化,再去衍生出更多新的想法。
全棧不是把別人的東西搶過來,而是把本身的東西賦能出去。
工程以後,還有一塊比較重要,就是全棧。其實全棧這個想法也是從社區逐漸滲透到公司裏的,一開始你們對全棧的理解是很狹隘的,一些前端同窗以爲如今有 Node.js,他們也能寫服務端的東西。後來發現出現了不可調和的矛盾,尤爲是在阿里這樣的公司,服務端這麼多年下來有不少很重要的基礎設施,你去 Node.js 體系下再發展一遍,一是沒有必要,二是沒有資源,阿里有不少中間件團隊,你無論怎麼作,都不可能有他們的深度。
另外這也是我當時犯的一個很基礎的錯誤:前端原本就缺人,你把前端轉成全棧去作服務端的事情,你前端更缺人了。後來發現逐漸有人探索出一條路:全棧不是說把本身的能力堆上去,而是你要把本身強勢的東西給它賦能出去,讓別人具備全棧的能力。
圈兒裏不少人開玩笑說大家如今都是「錢「端了,由於掙錢多。實際上如今看一個同等水平的前端,他的價格仍是略低於服務端的,不過前端最近能夠說是漲得快,並且前端勝在競爭少。雖然前端基數大,可是實際上真正懂技術、會寫代碼的前端很是少。大部分前端就是市場上的前端,基本上是切個圖,作一些機械性勞動,對於大企業來說,是不要那種單純只會去作機械性勞動的前端的。
今天咱們不少人實際上是在嘗試把「錢端」的天花板弄得再高一點。其實我更願意這樣看:其實 前端自己不是你的天花板,你的我的能力纔是你的天花板。
今天不少前端同窗其實就是關注如何把設計師的設計稿變成一個用代碼寫出來的樣子,那麼你對業務的介入是淺的,你也就這樣了。其實工程師應該作什麼?從工程方面來說,你怎麼樣能讓更多的團隊、更大規模的團隊一塊兒去協做?怎麼樣作出來更大規模的產品?其實仍是須要咱們把視角轉一下——你可以真正以公司利益、以公司業務爲導向,去思考你應該作什麼,才能真正有晉升機會。
前端將來:沒有什麼東西是作不了的
若是讓我來展望前端發展的話,我認爲有兩個方面不容忽視:
一是 AI 與前端的結合,智能研發是我很是看好的領域。咱們技術圈裏有一個比較流行的觀點:一切機械勞動最終都是能夠被計算機替代的。
另外一個我比較看好的發展領域就是圖形學。由於前端相對來講是一個在封裝好的環境下去工做的一個代碼環境,因此我認爲前端將來應該會更下沉,跟圖形學有更多的結合。今天咱們前端仍是有不少東西說我作不了,當你可以去從更底層去作的時候,就沒有什麼東西是你真正作不了的。咱們就不會看到一個 C++ 的程序員說這個東西我作不了,由於理論上講它能夠操做計算機的全部部件,並且能以很是高的性能去作。
前端頗有意思,它充滿着工程上面妥協的味道
你作技術老是但願盡善盡美,但願把每一個細節都作到最好,但其實 前端是一個創建在標準之上的工做,標準自己又是工業化以後的一個妥協的產物,因此前端的 API 也好,語言也好,包括今天很流行的一些開源實踐項目也好,裏面有大量今天去看很是差的設計。
這些比較遺憾的東西,未來始終會做爲一個包袱讓咱們揹負着前進,這是前端的一個無奈。咱們爲了一些事情去付出這樣的代價,可是你們仍是會嘗試逐步去解決這些陳舊的問題,今天咱們已經看到不少舊的問題不是說把舊的改掉,而是設計一些新的東西來逐步替代它,它是一個很漫長的過程。因此有人說前端程序員喜新厭舊,說前端同窗追新追的很厲害,新框架基本上隔個 四、5 年就出一個新的工具,因此不少人抱怨學不過來了。
雖然有不少不完美,可是前端也帶來了不少新機遇。怎麼說呢,這就是前端了。
編程學習,關注微信公衆號ID:mtbcxx