前端的意義是什麼?

上一門必修課的時候,老師介紹了許多她的科研成果,感覺好高端。最後,老師讓我們思考一下自己學計算機的意義是什麼?難道就是為了寫寫網頁?
我個人深知將網頁寫好多麼的不容易。但是感覺所解決的問題貌似是可有可無的,即沒有前端,我們好像也能使用好多的互聯網功能。前端的意義是什麼呢?僅僅是可以優化視覺效果,讓用戶用得開心(我承認這是很重要的一部分,想知道還有沒有其他的)


前端面臨的問題其實是一個難題

為什麼說它是難題呢?

因為軟體工程的核心目標是用通用的模型解決一切問題,比如人工智慧和機器學習。構築在軟體設計模型和程序設計理論的基石之上的一條道路,最終的終點指向一個目的地——抽象。不斷深入研究各種問題,總結各種模式,直到將來某一天,機器能夠代替人類思考,甚至機器能夠代替人類存在,這才是終極目標。

然而從這方面來說,前端這個領域簡直太難太難了。因為 AI 可以代替人類思考,甚至 AI 可以代替人類存在,但是 AI 可能永遠也不會是人類,因為 AI 不會有人類的感覺,AI 不像人類那樣擁有一顆脆弱、感性、多變、追求美的心,AI 可能不具有貪、嗔、痴、愛、慢、疑。

AI 可能也不會像人類一樣對一個行業的前途憂心忡忡,在這種問題下面瞎比比。

人類對美的體驗是極致的,從形象到抽象,從一維到多維,從遠古到未來……

看過大劉的科幻小說《詩云》後,我認為詩云中的事情不會發生,因為有一天也許 AI 能夠學會作詩,畢竟之前我們都認為 AI 不會下圍棋,但是現在他們已經比世界最好的人類棋手還要厲害了。

但是,AI 也許永遠也不能欣賞美,因為 AI 不能代替人類自身去感知這個世界。

從某種意義上說,前端追求的一些東西是與人類軟體工程的核心背道而馳的,是與極致抽象精神背道而馳的,因為人類追求的是個性,不是共性,因為人心多變。所以我們期望用統一的方法論來解決人類與世界、人類與自身交互問題,有可能很難做得完美。

前端不像任何其他的軟體工程領域,因為前端直面人心,前端掌握的方法論,不管內容怎樣,前端掌握的工具,不管形式是什麼,最終要解決的問題直擊人心——幫助人類感受美,從而獲得愉悅的心情,快速完成工作。要想用一個程序來徹底解決這個問題,很可能如同計算終極答案一樣,在人類探尋宇宙的過程中,任重道遠。

也許在很多年以後,很多問題都可以用一段代碼來解決。但是人心不可以,前端面對的問題依然是五花八門,前端尋求真理的路依然看不到盡頭。

說了那麼多,我想表達一點,許多做前端的人只把前端當成一個工作來看(當然其他領域也一樣),從來沒有思考過前端的本質是什麼,我們究竟要解決什麼問題。

不能因為一些人干苦力,一些人瞎折騰,就對行業悲觀,覺得行業可有可無。任何行業都一樣,不管前端後端,高端低端,永遠有一些人干苦力,一些人瞎折騰。

自己明白就好,別跟著人瞎起鬨瞎折騰。別把自己限制在自己的工作領域,我們要學習的東西很多,除非自己你想要瞎折騰一輩子,沒人逼你天天瞎折騰。

不管怎麼樣,切頁面是我們的工作職責之一,然而整天做簡單的事情,重複地切各種頁面,難道是不去學習,不去追求的理由么?

Any way,前端只是軟體工程和程序世界裡很小很小的一部分,而整個軟體工程和程序世界也只是人類文明海洋里的一朵不起眼的浪花。我們每個人都在這個世界上承擔一小部分工作,但是因著我們的努力,人類總有一天終將飛出地球,暢遊在宇宙無盡的時空中。

總之,一句話,不要恐慌。


計算機的意義當然是計算。


我來說說前端的意義,我的觀點可能讓很多前端感到悲哀。

2005年之前,中國是沒有「前端開發」這個名詞的。所以中國前端滿打滿算也就十年而已。在這之前,類似的崗位叫做「美工」。

在前端出現之前難道就沒有頁面嗎?有的,而且很多,只不過這些頁面大多很簡單,後端隨便幾下就寫完了。直到 AJAX 出現之後,才出現一批專門以 JS 為業的程序員了,這些人就是前端。

前端發展的主要話題,一開始是「特效」,後來是「用戶體驗」,然後是「前後端分離」,再後來是「頁面性能」,然後到最近的「模塊化、工程化」,到現在的「以數據為中心」。


概念越來越複雜,那麼這十年來有沒有一個貫穿始終的——前端的意義呢?


我就說說我這些年關於「前端的意義」的感受吧。


最開始,他們告訴我,前端是「用戶體驗」的把關者,沒有前端,一個網站的用戶體驗就不會好。

我信了。

可是後來我發現這只是一個把關者,而不是一個控制者,如果交互設計師和產品經理對需求沒把握好,那麼我怎麼把關也沒用啊。


於是他們告訴我,你應該參與到產品決策中,與產品經理溝(hu)通(dǔi)。

我又信了。

於是我去了解交互設計和產品設計相關知識,然後積極與產品經理溝(hu)通(dǔi)。

可是後來我發現,我負責對接的產品不止一兩個,而且還經常更替,我根本不是這些產品的主人,而且我對這些產品只能提建議,不沒有什麼決定權。我還不如做好自己的本職工作。


於是他們告訴我,你應該在做好本職工作的同時把控項目進度,做項目的推動者。

我雙信了。

於是我去嘗試帶領一些人做出一些東西,並說服一些人來使用這些東西,讓大家受益。


前端在團隊中的位置怎麼老是「四號位、五號位」,總是在支持、支援和協助,為什麼不是一號位呢?因為前端本來就應該在這個位置。


前端除了寫好自己的代碼之外,基本就是團隊的潤滑劑。一個小型團隊一般就是五個人:產品經理、設計師、前端、後端和測試。前端處於交流的中心。


但是這正是前端的尷尬之處,任何功勞,都算不到你頭上。產品成功了,功勞在產品經理。界面好看,功勞在設計師。服務穩定高效,功勞在後端。產品 bug 少,功勞在測試。前端頂多得到的稱讚就是「開發效率高,如期上線」。

頂多你再來個頁面性能優化,把頁面載入速度控制在 1~2 s 以內。但這其實就是把自己之前寫得爛得代碼優化了一下而已。如果頁面載入慢是伺服器原因,你怎麼優化都是沒用的。


再看看現在大公司的前端晉陞理由,基本就是有產品意識、推動力強、自創框架大範圍提供團隊工作效率等。

除了「自創框架」,前端要晉陞,就要做很多前端以外的工作。(這也是為什麼早年間大公司的前端熱衷於造輪子,現在光造輪子不行了,得造服務,也就是公司內部的 SaaS)


現在你也發現了,前端就是團隊中最大的一個輔助。要想做好這個輔助,你就得啥都干(包雞包眼讓刀讓人頭)。

前端的本職工作,是做頁面(至於功勞,都是別人的)。

前端的意義,就是幫團隊把產品做好。

前端的核心競爭力,就是你的輔助能力比其他前端更快更高更強……


你作為一個前端,有沒有心裡一酸,想哭。

你錯了。

你錯就錯在用「前端」兩個字把自己給限定死了。

首先你是一個人,然後你才是一個程序員,最後你才是一個前端。

我見過厲害的前端,從來都不僅僅會前端技術。所謂大前端,就是這個意思。

現在很多前端名為前端,實際上已經是後端或者產品負責人了。


我就說這麼多,其他的,你自己悟。


首先,如前大佬們所說,前端首先是一個人,然後是一個程序員,最後才是一名前端,去思考它的意義的時候,從後往前,意義會越來越深刻。

從我個人來說,作為一名前端,我在解決一個特定領域的問題,這個領域的問題並不局限於切圖(我司都是設計師給切圖的),構建結構良好的頁面,構建炫酷的交互,構建複雜前後端數據交互的系統,構建類似PC軟體一樣的大型單頁面系統。當然這些還只是基礎,但是有些事情已經不是那麼容易完成了。

我們接著講,仍然是作為一名前端,團隊人多了之後,你要制定統一的規範,業務多了,你要制定統一的選型,重複勞動多了,你要思考如何抽象可復用的部分(組件只是其一,還有整個工作流程中涉及的工具鏈/開發方式,甚至是人員方面的復用),到了後來,我們統一叫這些工作是「工程化」,除了我提到的問題,其實還包含很多跟效率和可複製性能夠扯上關係的話題,這些都是目前一些偏高級的前端工程師非常關注的領域。

當你突破上面這個層次之後,你仍然是一名前端,你需要帶團隊,學習摸索如何管理前端團隊,你開始為別人為團隊的人考慮問題,考慮他們每個人應該如何成長,考慮前端技術給公司帶來的真正價值,考慮團隊的發展,你招牛人進來帶領團隊,也培養新人成為牛人,培養一支能夠隨時頂上去的團隊,培養一支在業界有一定影響力的團隊。

假設,沒有達到這個層次,你開始迷茫了,那我們拋開前端這個職業,你仍然是一名程序員,你為什麼要做程序員?初心是什麼?

說說我的初心:創造,creator(這個詞很牛x,可以代指上帝)。

恩,就是這麼簡單,我覺得編程很神奇,可以創造出大多數人都非常驚奇的產品,這個在我做的一些業餘小軟體中體會深刻,所以做的時候也會非常有激情。但是回到工作中,的確事情就沒有那麼的有意思了,我們解決的是特定領域的特定問題。如何解決這個矛盾呢?

一,工作不是全部,我可以利用業餘時間創造啊,所以看到很多同學抱怨自己公司環境不好,但是卻一問三不知,這就不可原諒了,公司只是你生活的一部分,如果真的是一個好的程序員,你自然會通過別的方式來發揮自己的興趣。

二,工作也是在創造,給出各種解決方案,做一些還不得心應手的項目,雖然你可能覺得做某些項目很無聊很累,可是在你都還沒有覺得自己隨手寫出的代碼很優雅之前,做項目不正是給你一個學習的過程,反思的機會。不要以為掌握了js就覺得什麼都會了,軟體領域博大精深,可能你工作五六年,那也只是入門而已。

我覺得一個程序員存在的價值就是創造,所以一直告誡自己要守住初衷,這也是內心的一桿秤,每當迷茫或者面臨選擇的時候,我就把這個程序員基本原則拿出來,事情就明了的多了。

最後,就是「人」的問題了,不過這個話題太大了,我也說不清楚,反正就是人活著的意義,你自己活著的意義,你最想要的自己是什麼樣子,我覺得每個人心裡應該都至少有一個模糊的定義,如果沒有仔細想過,可以花點時間冥想一下,否則一切行為都沒有什麼根本的指導原則了。


我年輕的時候,是一個前端工程師。那時候,有這樣一個傳說:美工是最受妹子的歡迎,其次是半個美工的前端工程師。

本故事純屬瞎掰,如有雷同純屬巧合——Phodal @PasteRight

未滿 18 年時,想成為一名 Kernel Hacker,就是那種操著鍵盤,在屏幕灑下一行行彙編語言的大牛。在我學了一段時間 C++ 後,我覺得:『用記事本寫代碼,並運行起來』的故事都是騙人的。為了將代碼轉變為程序,你還需要一個編譯工具。

然而有一天,我在網吧里看到一個人在記事本里寫代碼。開始的時候,我覺得這個人是個新手吧,怎麼拿記事本在寫代碼呢,不是應該都拿 IDE 才能編譯運行嗎?幾分鐘過後,我發現他居然能將,記事本寫的程序運行起來,太神奇了,Amazing Man。

後來,為了在別人面前裝這個 100 分的逼,我成了一名 Web 工程師,而且還是一個前端工程師。

(PS:以上純屬瞎扯)

漂亮的前台

各位看官中,有些可能不是前端工程師,那就先讓我來說說前端工程師是幹什麼。前端又可以稱之為前台,不是那種每天對你笑、幫你開門、長得還算不錯的前台,然而卻也差不了多少。

他們要做出好看的、美麗大方的界面,以免嚇走那些對顏值有要求的挑剔客戶;還要對指引好用戶,免得有些用戶認錯了樓、走錯了路口,然後再也不來光顧你們的網站了;有些時候,還要像處女座糾結於對齊,糾結於 px px 的程序員。

你還會看到他們拿起紙當尺子,一點點的測量著什麼東西,好似在懷疑這個屏幕是不是真的是 15.4 寸。 如果你看到一個程序員,他在糾結椅子是不是擺放正確的,那麼它有可能是三種程序員中的一種:處女座程序員、前端工程師,還有測試工程師。

我們就像上個世紀的網民,時不時地按下 F5 又或者 Command + R 來刷新頁面,一直在懷疑頁面上的內容是不是最新的。好在後來,有一個偉大的大魔法師發明了一個工具,可以檢測到代碼修改,自動地幫你刷新頁面。終於,不再像個老大爺一樣踢電腦,以指望提高圖片的質量,甚至去掉馬賽克。

過去,我也無法理解:這群智力超群的程序員,為什麼會變得如此px px 計較,直到我成為了其中的一員。

我要成為一個前端設計師

習慣了大學的生活過後,我和好友楚非就一起去租了一個伺服器,從此生活就變得有點艱難。不過有了一個伺服器,我們就可以去做個網站,並託管別人的網站,然後就可以坐在學校里數錢了。對於當時的我而言,我並不想成為一個 Web 開發工程師,我還是從心底嚮往底層的開發。

理想很美好,現實很殘酷。雖然我們有了一個伺服器,但是它不能立刻地為我們賺錢。我不知道一個完整的網站是怎樣的,也沒有找到客戶。後來,直到大二下學期快結束的時候,我們才算迎來真正的客戶。在那段找不到客戶,也沒有能力找客戶的日子裡,我們就這樣把自己逼上了一條不歸路。

就這樣和很多人一樣,為了賺錢,就這樣成為了一個前端工程師。

這時,我們就遇到了一個問題:我們倆究竟誰做前端,誰做後台?

這結局大多數人都是知道的,我來負責前端。然而每每說到:他是學美術的,他去做後台;而我是學電子信息工程的,我來負責前端,總會有人感到一些驚訝。選擇前端,有這麼一個主要的原因:離成為設計師的目標更進一步

我所理解的「設計師」,是廣泛意義上的設計師。他們做一些創意的工作,以此來創造一些令人嘖嘖稱讚的作品。這些作品不僅僅可以是一件雕塑,一幅畫,還能是一個 Idea,一段代碼。

當你是一個前端工程師的時候,你是一個程序員,還是一個設計師。

程序員本身也是設計師。雖然程序已經代替了相當數量的手工操作,要想代替程序員則需要更多的時日。然而,程序員手藝的好壞是有相當大的差異的。初學編程的時候,總會看到各種「程序設計」這樣高大上的字眼,設計才是程序的核心。這就意味著,寫代碼的時候,就是在設計作品。設計是一門腦力活,也是一門模式活,從中能看出一個人的風格,從而了解一個人的水平。

因為我認為,前端工程師還應該懂得設計。我便花費了很多時間去:學習素描,熟悉一些原型設計軟體,了解各種配色原理。以指望我可以像一個設計師一樣,做好前端網頁的設計。畢竟代碼和大部分藝術作品一樣,容易被臨摹、複製,而要複製思想則不是一件容易的事。

而到了今天,我的設計能力還是有待商榷。幸運的是,我可以熟練地使用各種可視化工具,然後做出各種美妙的圖案。

我還能寫編寫一行行的前端代碼,並寫下這個系列(《我的職業是前端工程師》)的文章,來幫助大家深入了解前端工程師。


我要成為一個前端設計師 - 知乎專欄


瀏覽一遍,還是 方應杭 回答得最好。

這個問題的本質是:我有九分實力,然而前端的深度僅夠我發揮六成。我害怕浪費了我的才華,擔心前端的低門檻無法構築足夠的競爭力,因此我對做前端的前途難以樂觀。請給我一個安心做前端的理由?

我來說說我的理解。

前端確實沒啥深度,它就是一種沒啥特殊的職業,一個恰巧趕上風口的技術工種,一道再普通不過的生產環節。我們不得不承認,不管怎麼折騰,前端就是沒有門檻,就是沒有難度,就是沒有話語權,大多數時候就是寫寫網頁。

那些框架作者當然牛,但他們不是前端,他們是牛逼的程序員,只是順便做了點前端的事兒。

或者說,真正好的前端,從來都不只是前端。

所以 方應杭 說的沒錯,如果擔心浪費才華而又只做一個傳統意義的前端,就永遠不可能安心。


應該問前端的中心思想是什麼……

這種文科題套在前端上好像沒啥特別的意義。前端就是提供個Interface讓用戶便於使用,Web前端就是GUI的一種。非要說意義,可能就是給用戶個友好的第一印象吧。你看Sh,Emacs這些Interface不然簡潔,不然華麗。但沒幾個人用就是第一印象不好。

比如計算的意義,形式代換的意義等等還稍微有討論餘地。


去年差不多一整年都在做跟文檔相關的事情,我也沒覺得自己做的事情沒有意義。

我和同事們把用戶接觸到的應用和交互層稱之為「前端/Frontend」,也並沒有隻指代Web,還包含了這些文檔和App。

我去年工作里有大量生成文檔模塊的工作,這輩子都沒和Microsoft Office打過那麼多交道。很多技術人員不太樂意參與的活我卻覺得工作中很愉快,因為我的同事和用戶們都非常在意這些文檔。

文檔看起來是很簡單的事物,但是確實公司業務里非常終要的部分。

這些文檔的背後,是一套科學的計算評估系統、資料庫、流程以及許多大型計算。它在文檔里是一個冰冰冷冷的數據、圖例和文字描述。前面的這些一切賦予了這些文檔內容具體的意義。


一個符號加一個七位數字能有多大意義?


它可能代表著這份文檔上這位仁兄百萬美元的年薪。


公司是一家頂級的獵頭公司,聽說在世界五百強董事會尋聘裡面市場佔有率超過六成。我的參與制作的文檔將來可能是給巴菲特、蓋茨、佩奇、布林、扎克伯格、川普看的,至少肯定我以前同事製作的文檔在雅虎(惋惜)和Twitter(祝賀)的管理層招聘中是肯定被用上了。顧問們要在及其有限的時間和篇幅里向客戶展示這些候選人的能力,決定著十萬、百萬、千萬甚至上億的生意。這些公司的頂層管理者要用他們比一般人更大影響力、有限的時間來在這些文檔中做一個個影響公司未來和許多人生計的決定。


這些文檔里的、頁面里的元素有什麼特別嗎?沒有,每一個元素都是普通的,普通的字元普通的圖形。它們只不過是被組織了,被這背後真正的價值組織了起來,成為了價值的一部分。

這些數字是這個人的年薪,那個圖表代表著他的能力、特點、個性,這些文段是他過往輝煌的經歷......但是每一點都舉足輕重。


前端是連接數據邏輯與用戶的橋樑,這些數據邏輯背後連接著世界現實的價值。

可能美國總統的黑箱子里有一顆足以毀滅世界按鈕,但這不僅僅是按鈕,還是這背後整個核工業、軍事工業和世界政治體系的事情。讓眾人保有疑問的是,這個普通的按鈕可能跟淘寶買的差不多,還可能被要折舊更換。

不過我相信,做按鈕的那個人他不僅僅只能做按鈕。他可能是個工程師,也可能是個團隊,們可能做了許許多多的不同產品,許多都被用在了不同領域不同地方。

做一個按鈕容易,在有限的時間裡做很多個呢?要量產化許多不一樣形狀特性的按鈕呢?要被用在極端情況下呢?要壓縮成本保證一定質量呢?

用戶在界面上見到的一個元素,這背後相關的是一個更大的世界。作為工程師,我們不是只做了這件小事,而是參與了一件大事里恰巧扮演了做這件事小的角色。限制我們世界大小的不是這件小事,而是我們的本事。


我想這不是個關於前端的意義的問題,而是個關於眼界的問題。


作為前端程序員,我希望的僅僅是可以優化視覺效果,交互邏輯,讓用戶用得開心。

作為後端程序員,我希望的僅僅是可以優化網路請求、優化邏輯結構、優化資料庫表關係、優化機器部署,讓用戶順暢瀏覽。

作為爬蟲程序員,我希望的僅僅是可以獲取更多的數據、穩定、高效。

計算機的誕生不就是為了更加方便軍事行動嗎?

計算機的發展不就是為了更加方便人們的生活嗎?

vr、ar、人工智慧、大數據...,這些東西被創造出來的理由是什麼?

還不是為了方便人們的生活。

沒有計算機,人類依舊可以生活,不過人類永遠會去追求更好的生活。


為什麼你會覺得沒有前端界面也能使用大多數互聯網功能?人人都在打cmd發送遠程指令?哪個地方沒用到界面?
顯然大部分最為基礎的GUI被你當做不存在了。你老師的說法不算有錯,但你的理解卻出了大錯。鄙視前端人的技術水平,可以。否定GUI的存在,Are you kidding me?


毫無疑問,前端是所有開發里最接近用戶的。後端給我們一個介面,我們還原出一個無比精緻的用戶界面。上面很多人都說的很好,我們可以反向看看——

誠如題主所說微博大概是這個樣子的

即沒有前端,我們好像也能使用好多的互聯網功能。前端的意義是什麼呢?僅僅是可以優化視覺效果,讓用戶用得開心

假如有一天我們沒有了前端,知乎將會是這個樣子的


對的,功能是有了,但是你是不是不知道從何下手了呢?還能愉快的回答問題嗎?

微博大概是這個樣子的


發微博,刷熱點是各種功能都有了,但是你還會去刷微博嗎?

沒有前端,互聯網時代的我們就回到了原始時代,刀耕火種的那個時候。人類在互聯網的閱讀體驗大幅度下降,直接減慢了互聯網在新世紀的發展進程,進而影響到了人們共享知識信息,阻礙了文化發展,破壞了人類的歷史進程。


貼一段收藏了很久的 克軍很久以前的發的


不要把自己局限在web前端。。


給我一個 API,還你一個 APP

前端這個崗位的前身是切圖工,因為從前所有的業務邏輯通常,或者說也只能由後端承載, JS 也基本上只是被用於表單提交和簡單操縱 DOM。

隨著 AJAX 技術的推廣普及,人們看到了前端的更多可能性,一些有能力的前端工程師開始在前端加入更多的交互邏輯,隨著對於 DOM 操作的需求與日俱增,JQuery 誕生了。

其實在 JQuery 誕生的前一年,一個更為強大的類庫已經開始了開發,那就是雅虎的 YUI。

為什麼要說 YUI?因為這個已經死掉的類庫實在是太強大,YUI(準確的說是 YUI3)已經繼承了模塊化以及動態載入,至於 DOM 操作簡直不要太基本了。你可以看到,很多初級前端今時今日依然在糾結的問題,在十年前的業界就已經給出了答案。

隨著 node 社區的崛起,前端開始了預編譯的風潮。無論是 HTML 模板,css 的預編譯,比如 less,sass,還是一些 js 的方言,比如 coffee,你能看到前端人為了進步所作出的努力。

首先,前端並不缺牛人,後端運用的技術和思想,前端從來沒有放棄過嘗試。但是前端的特殊性在於我們和歷史的車輪綁的太緊,後端可以直接升級伺服器語言,前端只能等著用戶慢慢的去升級瀏覽器,我們才能用更新更好的技術。

在軟體行業有一個很基本的定理:項目的總工作量會在各個模塊間轉移,但是總量保持不變。

隨著前端能夠有更多的業務開發能力,我們爭取到了更多的工作內容,隨之增加的還有話語權。有很多公司把 Android 和 iOS 開發也劃歸了大前端,代表著面對用戶的第一線。

對於後端來說,考慮的指標是業務邏輯,數據安全,執行性能,可一旦面向用戶的時候,我們的指標就只有一個,就是用戶體驗。功能不好用是體驗不好,不安全是體驗不好,卡頓也是體驗不好。就像我們去吃飯,只會計較是不是好吃,顧客不會講你這個是不是缺了哪幾味調料,只會說不好吃。

比如最近我們在說關於滴滴的用戶反饋,應該用「接駕距離太長」還是「等待時間太長」,前者是工程師的思維,距離是個可以量化的標準,比如派單超過三公里就算長,但是等待時間長這個概念就很主觀,上班的時候可能等三分鐘就要投訴了,下班的時候反正叫到車再下樓,十分鐘也不嫌長。所以等待時間長這個指標是會隨著人這個變數發生變化的,和人群,時段,天氣甚至社會事件都會有關係。

前端一邊連接了用戶,另一邊連接了幾乎所有的工種內容,可以說前端的工作是一個翻譯,把工程師的語言翻譯成用戶語言。舉一個很簡單的例子,比如後台管理系統,如果對於我自己來說,可能自己對著表寫幾個 sql 語句就可以看,但是我們卻要做各種用於增刪查改的輸入框,表格,這個工作就是翻譯,把「接駕距離太遠」翻譯成「等待時間太長」,把數據翻譯成圖表,把廣告翻譯成動畫,把新聞翻譯成圖文。

後端需要理解代碼邏輯,PM 需要理解人的邏輯,而前端需要同時理解兩者,寫的是代碼,產出的卻不是程序,而是產品。

p.s. 最近開了一個 Live - 講講 IT 培訓那些事 ,作為一個曾經的培訓講師和大家聊聊關於前端和培訓,可能還會聊聊原來的同行 @方應杭 @謝然 ,你們要不要報個名,哈哈哈~


前端的意義在於賺錢

只有有價值的東西才有意義

前端只是一份職業,能通過自己的手藝賺錢本身就很有意義


作為一個fpga轉前端也寫過後端的表示真沒啥好說的,前端不止web前端,開發native app的也算前端,甚至系統應用也算前端,說白了都是一套思想,就是建立人機的交互啊。

年輕人,這個世界大部分還是普通人,他們也想通過酷炫的方式操作欣賞你們所謂cs圈子那些新科技和發現,世界也需要這樣的粘合劑啊,技術不就是用來造福世界的嗎?人家用都用不了怎麼辦……

至於地位?我只能說在一般裝逼的時候你說xxxqps xxxtps沒人鳥你到你說這個頁面/app是我做的(逃。而且現在前端也越來越開始接下一部分原先後端業務層的工作了……

多說一句,前端我覺得是新媒體藝術的一個極佳的展示平台,可能性無限啊www主要是能做出很多酷炫的東西不是很有趣么?


年輕人就是年輕人,高校老師拿自己的研究成果,問你學計算機的意義是什麼,就懵逼了。

想想你老師是幹啥的,高校老師教書是部分職責,搞點科研出論文,便於評職稱也是 Ta 該乾的事兒。否則,怎麼一步步升職稱呢,對於 Ta 來說,學計算機的最終意義就是糊口+學術光環。

反推前端,跟高校教師一樣這也是個崗位,也有自己的崗位目標,只不過兩種崗位的目標完全不同罷了。

前端要做什麼?寫寫網頁等於高校教師上上課。寫框架也好,寫博客也好,業內司內搞出點知名度來便於晉級,這等同於高校教師的科研了。所以,對於你來說,學計算機的最終意義跟 Ta 是一樣的——糊口+光環。

至於 Ta 拿這個崗位內應該應份兒的事兒,跟你們吹牛逼;呵,你當前端的老傢伙們,不拿前端的科學意義跟新人或者小白吹牛逼么。

年輕人,好好琢磨琢磨吧。


前段時間有同事找我,想用機器學習演算法預測試驗數據,我就在Jupyter Notebook里寫了個大概,然後發現這玩意沒法拿給人用啊……(我把.ipynb拷給他?被扇臉怎麼辦,我還要靠臉吃飯呢[捂臉])

人家又不是碼農死宅,電腦上一大堆ML相關的庫,人家只是要用演算法解決現實問題。於是我最近嘗試用阿里爸爸的antd搭建一個單頁交互(順便惡補React+Redux相關全家桶),數據處理部分仍舊用Python+TensorFlow相關套餐,中間用Flask和json粘一下就能動了。

我發現自己過去喜歡站隊是因為太閑了,現在要著手解決一個現實問題,再加上屁股上貼著死線,很容易就能達到了小平爺爺「能抓到老鼠的就是好貓」的境界。


你問前端的意義是什麼?你真以為是「優化視覺效果」、「讓用戶用得開心」這麼簡單?不,前端是為了讓你有用戶,沒有前端的後端永遠只能在CS圈裡自嗨……


前端的意義,對於軟體工程來說,就是一個邊界類。

我是軟體工程專業的,前端領域(也可以說只要是寫界面的,無論那個平台)只是邊界類,是服務於用戶的,在我看來,這是一個人機交互設計的領域。

我不考研,是準備就業的,學校里也學到了大數據的知識,安卓程序設計,但我選擇Web前端,是因為只要瀏覽器存在,Web前端就會一直存在。Web前端能夠用一種特別簡單的方式就能構建一個程序的GUI界面,甚至能夠用前端代碼的方式還原一張頗有設計感的海報。所以,Web前端會存在很久,而且需求量會很大。我確定自己是就業的,並且看好Web前端,所以才努力學習前端方向。你說為什麼不選大數據或者安卓?因為我畢竟對設計還是有那麼一點小小的追求。

那為什麼還要學習計算機知識呢?就好像你老師覺得你一個搞網頁學Web前端能做啥? 聽著,你是計算機類的科班生,你的就業選擇有很多,但是你需要知道關於計算機的各種知識,從底層的晶元至大型程序,你要知道網路是怎麼通信的等等。這些東西都是基礎,為應用程序服務。因為這樣,當你的「車輪」爆胎了,你能自己造一個出來。比如我要控制我的路由器,我可以從網頁端控制,我可以在路由器端跑一個監聽程序,然後在手機端也跑一個程序。那這個手機端的程序該是怎麼樣呢?用什麼方式和路由器溝通呢?你看,除了網頁,還有很多東西需要了解。

那我們再來說說老師吧。我的老師有學大數據的,有做彙編的,有做手機攝像頭裡面模塊演算法的,也有Web前端的,他們都是研究生以上對吧?你去知網查一查他們的領域的東西,應該會有很多的論文。是的,他們大多是學術選擇的結果,只要考研是計算機類,那麼你畢業必須要有論文。研究啥呢?研究那些最新的領域。他們相當於高端時裝秀的知名設計師,決定了未來流行趨勢。那我不考研是不是就不能接觸這些了呢?當然不是,還有知網呢。我對頭條還有各種新聞的標題深惡痛絕,想找種方式來改寫標題,那怎麼改?就需要語義識別這些領域的東西了,類似機器人寫新聞一樣。像這種人臉識別啊等等的東西是比較難解決的就是你要研究的,你有興趣嗎?當你遇到了肯定會有的,無論你是否是研究生碩士生。

曾經的萬能充,現在什麼也不能充
當你學會了其他的計算機基礎知識,你能快速切換到其他的領域的。
Web前端現在就是萬能充,能夠冒充各種平台的前端。

前端的意義,對於軟體工程來說,就是一個邊界類。


其實不只是前端。搞開發嘛,大抵分兩種,一種無非就是工作,為了工作和自我價值實現,不斷成長,並掌握更多更深的技能;一種捎上了附加因素:「興趣」,就算是箭頭符號都可以研究半天興奮不已,更不用說幾個框架折騰來折騰去了。

東西都沒變,只是在每個人眼裡是變化的。

其實老闆最關心的還是你能否解決問題,對什麼你是不是前端、是不是理解什麼玄玄乎乎「技術產品化」,他都不是關心的。所以學習解決問題的技能才是你思考的意義,而不是思考什麼「學計算機的意義」或者「前端的意義」,當然也可以思考,但思考層次比較低,意義比較少。

天天熱衷於前端的NG、React、Vue哪個好?天天扯TS和ES 6?天天只有前端朋友、前端話題?那你就只是個前端,你也熱衷於這個標籤。自己心滿意足其實也是挺好的。

如果你不滿足,那就多思考解決問題還需要什麼、意義何在?生活不只是苟且,眼裡不只有前端。

思考的層次決定了你的格局,你苦苦思考前端,人家思考博客流量帶來廣告和影響力。你情何以堪?[捂臉]


判斷一樣東西有沒有意義,很簡單,直接假設沒有這東西會有什麼影響就行。

假如沒有前端,那所有的「計算的意義」怎麼讓非專業人士看到呢?

計算能力說到底是要滿足人類的需求,如果人類不能感知到計算的能力,那有啥子用。

上面說的是哲學層面,還要說說世俗層面,做前端賺錢啊!這意義還不夠嗎?


推薦閱讀:

Chrome 按下 F12 之後出現的功能是做什麼用的?
web前端需要掌握哪些ps的操作呢?
如何強硬而又友好的與產品經理溝通?
前端程序員會不會被淘汰?

TAG:前端開發 | CSS | JavaScript | 前端工程師 | 精通web前端 |