1)JavaScript
JavaScript 應該說是前端吃飯的家夥,深度、廣度要兼備。基本上主流的前端架構都是基于 JavaScript 開發的,像 Vue,是由前端大神 @尤雨溪 開源的 JS 架構;像 React,是 Facebook 開發的一款 JS 庫。下面這些知識點,是一名前端開發必須要掌握的。

2)HTML 和 CSS
随便打開一個網頁,按下 F12 就可以看到大量的 HTML 和 CSS 代碼。一個網頁美不美觀,能不能得到使用者的喜歡,除了 UI 設計,除了 JavaScript 來控制邏輯,剩下就是 CSS 樣式了。
3)運作環境
浏覽器作為 JavaScript 的一種運作環境,為它提供了:文檔對象模型(DOM),描述處理網頁内容的方法和接口,一名合格的前端得了解:
浏覽器提供的符合 W3C 标準的 DOM 操作
浏覽器的差異性、相容性(Chrome、Safari、IE 等等)
可以使用 Node.js 搭建前端運作環境
可以使用 Node.js 操作檔案、操作資料庫等等
注:Node.js 是一個能夠在伺服器端運作JavaScript 的跨平台運作環境
4)架構和類庫
有一說一,前端的架構和類庫真的是層出不窮,我學過的就有 Flex、ActionScript、jQuery、Bootstrap、TypeScript、React、Vue,有些已經淘汰了,有些快被淘汰了,有些是當下的主流。
對了,前端裡還有 Flutter,一個由谷歌開發的開源移動應用軟體開發工具包,用于為 Android、iOS、Windows、Mac、Linux、Google Fuchsia 開發應用。
吹個小牛逼,我之前還為京東大佬的《Flutter 實戰入門》的書寫過推薦序,雖然後來隻在封皮上留下了這段話。
前端的 UI 元件也非常多,比如 Ant Design、EChart,還要掌握 GIS 開發架構,比如百度地圖的 API,還有可視化開發架構,比如 Three.js、D3。
前端還需要懂一些計算機基礎,比如說:
雖然大部分前端對資料結構和算法這部分知識有些欠缺,甚至抵觸,但真的想要摸到更高的天花闆,資料結構和算法是必會的。
另外,要熟練使用浏覽器提供的調試工具,比如說 Google Chrome,還有微信基于 Chrome 核心魔改版的可用于調試公衆号和小程式的調試工具。
前端不再是單純的寫寫 JavaScript 和 CSS,也需要工程化,是以需要了解 npm、yarn 等依賴包的管理原理,還有前端打包工具 webpack 的編譯原理等等。
對了,還有性能優化這塊。尤其是啟動頁,使用者第一時間看到的,如果加載速度慢,頁面的響應速度慢,使用者可能就直接離開了。
我之前在做微信公衆号的小商城時,可沒少在首頁的加載速度上下功夫,要壓縮 CSS 和 JavaScript,要使用 CDN 内容分發,要減少 HTTP 請求的數量,要實作圖檔的懶加載,還要後端配合一些緩存等等。
這麼一套前端的知識體系下來,是不是就不會再有那種刻闆印象了,前端真的那麼簡單嗎?懂的人永遠不會說簡單。
貼一張位元組跳動的面試題吧,想走前端路線的同學可以感受下。
還有一張前端的技能圖譜:
真乃學無止境也!
最後,簡單說幾句。
真沒想到!憤怒!竟然還有學校還在教 Java 的 Swing這篇文章會這麼火!完全超出了我的預期!
很多人在評論區噴我,看得我是心裡笑呵呵~~~~
沒必要!沒必要!沒必要!
我一沒打算讓學校放棄教 Java,二沒打算讓 Intellij IDEA 的團隊不用 swing 開發,我隻是說兩句心裡話,能聽得進去的,大學畢業後一會不會覺得虧,畢竟國内的計算機高校還是有一些問題存在的,如果不問青紅皂白就忽略這些問題,我覺得很可怕!
學校給不了的,我給了,你聽進去了,多年以後你會來感謝我說的真心話,聽不進去的,想噴的,随意,真的,開心就好。
最後的最後,還是那句話,與其把時間花費到這些沒用的知識點上,真不如:
1)癡迷于資料結構與算法
算法題就好像科舉考試時代背的八股文,是知識改變命運的代表作。你不刷,就很過算法題這一關,因為不僅要考,還能提高你的程式設計功底。我給你推薦的 BAT 大佬的刷題筆記,一定要下載下傳下來刷一刷(可以點選下面的連結去下載下傳)。
他喵的,BAT 大佬的這份刷題筆記太強了!
2)熱衷于 ACM
3)嘗試 Unix、Linux 環境下程式設計
4)醉心于網絡程式設計和多線程程式設計,對 TCP/IP、HTTP 等網絡協定有很深的了解
好了,今天的分享就到這吧。吹個牛逼,二哥影響力已經擴散到兩岸三地了,正在服兵役的小哥哥,加油呀!
我是二哥呀,希望能給學弟學妹們一些幫助和啟發,記得點贊喲~