本文推薦 PC 端閱讀~
本文版權歸 「公衆號 | 前端一萬小時」 全部,未經受權,請勿轉載!
複製代碼
前言: 在上一篇《老生常談的從 URL 輸入到頁面展示背後發生的事》中,咱們瞭解了從輸入到輸出背後到底發生了什麼,也初步認知到「前端」在這個過程當中扮演了什麼角色。這一篇,咱們就正式從名詞解釋開始,慢慢推開「前端」這扇大門。 如下系列文章先從 web 前端開發談起。所以,所說的「前端」都指 web 前端開發。php
前端這個職位,咱們主要仍是在互聯網公司裏邊稱呼。css
我認爲最直接的辨別方式就是看這個公司是否有它的網站地址,且用戶是否能夠經過這個網頁進行相關的操做(例如:國內的 BAT——百度、阿里、騰訊,國外的 facebook 等都屬於互聯網公司)。html
實現面向用戶操做層面的代碼搭建(能夠分爲 iOS 工程師、Android 工程師、web 前端工程師、pc/mac 工程師)。前端
後端開發:開發提供給客戶端進行數據接收和推送的服務器運行系統(主要語言 java、php……)。java
固然,公司裏邊的任何職位都不是孤立的。對於前端來講,只要節點到了 PM 這裏,就意味着哪裏都會有你的身影。node
總結:webpack
總結:ios
AJAX(Asynchronous JavaScript and XML 異步的 JavaScript 和 XML):git
以上是對一個 web 頁面相關名詞的解釋,初學的咱們能夠暫時在這打住(即便後邊還有不少不少)。如下將解釋一些綜合性的名詞,讓咱們有一個大局觀,瞭解一下前端這個職業到底都要接觸些什麼東西。github
初學的第一個月卻是建議用記事本/文本編輯器把代碼一個個敲出來。
就是咱們編寫代碼的載體。
是一個簡單的標記語言,這些標記和 html 的一些標籤對應,經過一些轉換庫能夠把 markdown 轉換成 html 或者把 html 轉換成 markdown。
用來在網頁上展現文章,省去排版佈局的煩惱。
並非全部的網頁編寫文章都支持 markdown 格式,好比如今的知乎,我就不能用 markdown 來輕鬆的書寫(「語雀」能夠用)。
參考連接:語雀 markdown 官方指南
與之對應的概念是「圖形界面」——打開一個應用有選項、有菜單供咱們很直觀的點擊。而「命令行」就是一打開什麼也沒有,須要敲擊一些字母、命令來和計算機進行對話。
爲了之後開發過程當中咱們與後臺服務器(不少後臺服務器系統是沒有圖形界面供咱們點擊的)進行對話。
命令行是敲擊在一個叫「終端」的地方。
Git 是一個免費、開源且新時代的「分佈式版本控制系統」。能夠高效處理從小到大的各類項目。
它是一種記錄一個或多個文件內容變化,以便未來查閱特定版本修訂狀況的系統。主要發展歷程:
用於往後的軟件開發等——很重要。
Git 是 GitHub 上用來管理項目的一個工具,如今 GitHub 上託管的全部項目代碼都是基於 Git 來進行版本控制的。
請取一個好的用戶名來正式開啓你前端工程師的奮鬥生涯——之後的全部與程序、代碼相關的名字都是這個最好;
以後若是你要在 GitHub 上搭建博客,那麼你的博客地址的前綴將是你的這個用戶名;
註冊過程當中,你會看到 GitHub 有兩種選擇: -- 公開倉庫(Unlimited public repositories for free)——這種是免費的,你建立的項目是開放的,全部人都能看獲得(對於我的咱們直接選擇這種);
-- 私有倉庫(Unlimited private repositories for $--/month)——自從被微軟收購後,我的私有倉庫也免費了。通常是企業會選擇,他們使用 GitHub 的私有倉庫來託管本身的項目。
註冊後,若是嫌英文界面很晦澀,且你用的是 chrome 瀏覽器,那直接右鍵→翻成中文(來大體熟悉界面)。以後請轉回英文界面。記住,英文不可怕。
Node 是 JavaScript 語言的服務器運行環境,Node.js 是一個開源的服務器框架。
🔗Gulp 官方文檔
Gulp:對於自動化工具來講,Gulp 算是至關輕便且好理解的,拿來用做 Server 服務啓用、編譯 SASS、編譯 ES6,壓縮圖片大小等工做,在一些小型項目上很是適合。
🔗Webpack 官方文檔
Webpack:目前市場佔有率最高的自動化工具,無論是編譯、打包或是服務器服務,都至關全面。入門門檻比較高,Webpack 的配置要透過 loader 工具轉換,再透過簡單的正則表達式去配置,一開始接觸可能會以爲沒有 Gulp 方便,但是當 WebPack 使用習慣後會發現不少東西真的很是方便。
Webpack 已成爲現現在中大型項目的標配。
🚀咱們後邊的實戰項目——移動端旅遊網站,就會用 Webpack 來構建環境。
🔗Parcel 官方文檔
Parcel:比較新的自動化工具,號稱極速零配置,不用像 Webpack 或是 Gulp 去寫編譯指令,使用起來很是方便簡單。
🚀咱們後邊的實戰項目——移動端音樂播放器,就會用 Parcel 來構建環境。
🔗Babel 官方文檔
Babel:如今的 JavaScript 能夠說是一年就提一個規格草案,目前出到 ES2018——咱們習慣簡稱爲 ES6+,不過瀏覽器可沒有辦法很快地支持更新(即,當前咱們寫的 ES6 代碼是沒辦法直接在瀏覽器上運行的)。
因此,咱們須要經過編譯的方式把新的語法轉換成瀏覽器的能夠識別的 ES5。
Babel 是一個工具鏈,主要用於將 ECMAScript 2015+ 版本的代碼轉換爲向後兼容的 JavaScript 語法,以便可以運行在當前和舊版本的瀏覽器或其餘環境中。
🔗sass 中文文檔 Sass 參考手冊
SASS:2007 年誕生,最先也是最成熟的 CSS 預處理器,目前受 LESS 影響,已經進化到了全面兼容 CSS 的 SCSS。
🔗Less 中文文檔
LESS:2009 年出現,受 SASS 的影響較大,但又使用 CSS 的語法,讓大部分開發者和設計師更容易上手,在ruby 社區以外支持者遠超過 SASS,其缺點是比起 SASS 來,可編程功能不夠,不過優勢是簡單和兼容 CSS,反過來也影響了 SASS 演變到了 SCSS 的時代,著名的 Twitter Bootstrap 就是採用 LESS 作底層語言的。
🔗Stylus 文檔
Stylus:2010 年產生,來自 Node.js 社區,主要用來給 Node 項目進行 CSS 預處理支持,在此社區以內有必定支持者,在普遍的意義上人氣還徹底不如 SASS 和 LESS。
jQuery:前端界無人不知無人不曉的老大哥,簡單的語法和操做,還有龐大的套件生態圈,讓新手能夠快速地作出頁面效果。但因爲原生 JS 的更新,對 DOM 操做愈來愈友好(或者因爲 Vue.js 等框架根本不須要操做 DOM)。而 jQuery 相對來講資源過重,愈來愈多的項目已經捨棄了 jQuery。
jQuery.ajax:是對原生 XMLHttpRequest 對象的封裝,它是 jQuery 的實現版本。除此之外還增添了對 JSONP 的支持。但:
Axios:是拿來取代 jQuery.ajax 的替代方案,同樣能夠達到非同步處理的功能,並且又輕量。
Axios 本質上也是對原生 XMLHttpRequest 對象的封裝,只不過它是 Promise 的實現版本,符合最新的 ES 規範,從它的官網上能夠看到它有如下幾條特性:
但,Fetch 是一個底層次的 API,咱們能夠把它理解成原生的 XHR,因此使用起來並非那麼舒服,須要進行封裝。
🏆總結:就當下環境,咱們能夠大膽地去用好 Axios。
🚀咱們後邊的實戰項目——移動端旅遊網站,就會一步一步地經過 Vue.js 來構建咱們的項目。
🔗Animate.css
Animate.css: 是一組很酷、有趣、跨瀏覽器的動畫,供咱們在項目中使用。
🚀咱們後邊的實戰項目——移動端旅遊網站,就會用到 Animate.css 來完成咱們的動畫效果。
🔗TweenMax
TweenMax:它是一套龐大且全面的動畫工具,除了 DOM 的動畫操做之外,也同時支持 Canvas 動畫。
🔗Popmotion
Popmotion:2018 年展露頭角的動畫工具,能夠說是跟以往你看到的動畫工具的使用是徹底不同的,捨棄了通常常見的動畫工具使用的架構,在 Web 動畫方面有了不少的創新,能夠持續關注。
目前 Web 上面 70% 左右的動畫咱們均可以靠 CSS3 來達成。
🔗Createjs
Createjs:CreateJS 是基於 HTML5 開發的一套模塊化的庫和工具。基於這些庫,能夠很是快捷地開發出基於HTML5 的遊戲、動畫和交互應用。
🔗Pixijs
Pixijs:是一款效能極好,無論是在遊戲仍是畫面處理上面都很優異的 Canvas 框架。
是一個包含了不少對於咱們學習前端技術有用的、最新的、最正確的知識。
在搜索相關疑難、未知知識點時,空格加上 MDN,便會跳轉到該網站相應的教程、文檔上(不要去用 w3cschool 中文站上的東西——與 MDN 相比,它有些過期且有錯誤)。
後記: 以上就是做爲一個零基礎的咱們所須要瞭解到的知識點,less is more 先搞定上邊的,而後以其爲基點進行後續的發散學習,細水流長。
前端路很長,但充滿樂趣。學無止境,它值得你我用後邊的 10000 小時來對待。
祝好,qdywxs ♥ you!