10個前端開發(fā)需要學(xué)習(xí)的關(guān)鍵技能

毫無疑問,前端開發(fā)會是 2020 年技術(shù)領(lǐng)域最熱門的專業(yè)之一彭雾。

在過去某筐,前端領(lǐng)域的開發(fā)人員只要了解一些 HTML、CSS冠跷,也許還有 jQuery南誊,就足以創(chuàng)建交互式網(wǎng)站了身诺;但是今天,他們需要面對廣泛而不斷變化的生態(tài)系統(tǒng)抄囚,開發(fā)多種多樣的技能霉赡;他們需要掌握眾多工具、庫和框架幔托;并且他們還要不斷投資自身來學(xué)習(xí)新的知識穴亏。

最近幾年涌現(xiàn)了一系列基于 JavaScript 的優(yōu)秀庫和框架新品,如 ReactJS重挑、VueJS 和 Svelte 等嗓化;它們?yōu)橹髁?Web 應(yīng)用程序帶來了強(qiáng)大的動力。

本文希望為你提供一些指導(dǎo)谬哀,幫助你在 2020 年提升自己的前端開發(fā)水平刺覆;無論你是新手還是有不少經(jīng)驗的老鳥,這篇文章都值得一讀史煎。

1. 框架

2020 年谦屑,我們可能會看到 Facebook 的 ReactJS 與社區(qū)驅(qū)動的 VueJS 之間的對決。目前篇梭,React 在 GitHub 上擁有 140,000 星氢橙,而 Vue 甚至拿到了 153,000 星。相比之下恬偷,Angular 這樣的項目只有 53,000 個星悍手。

在 2019 年,React(藍(lán)線)袍患、Vue(紅線)谓苟、Angular(黃線)和 Svelte(綠線)的搜索趨勢也能為這一假設(shè)提供佐證——其中 Vue 略高于 React。Angular 在搜索量方面差的很遠(yuǎn)协怒,Svelte 則在這個對決中幾乎沒有存在感涝焙。

image

因此在 2020 年,使用或希望使用 JavaScript 框架的前端開發(fā)人員應(yīng)將 React 和 Vue 作為他們的主要選擇孕暇。如果你正在處理大型企業(yè)項目仑撞,則 Angular 也是可行之選。

如果你想了解有關(guān)這些框架的更多信息妖滔,請查看下列重要資源:

  • React
  • Vue.js

2. 靜態(tài)站點生成器

靜態(tài)站點生成器融合了服務(wù)端渲染(對于 SEO 來說非常重要隧哮,也會影響初始加載時間)和單頁應(yīng)用程序的能力。

如今座舍,許多項目即使不需要服務(wù)端渲染也選擇了一種 SSG沮翔,因為 Next 或 Nuxt 之類的解決方案具有很多便捷的功能,例如 markdown 支持曲秉、模塊打包器和集成的測試運行器等采蚀。

如果你很重視前端開發(fā)工作疲牵,則應(yīng)仔細(xì)研究以下項目,并嘗試獲得一些實踐經(jīng)驗:

  • Next(基于 React)
  • Nuxt(基于 Vue)
  • Gatsby(基于 React)
  • Gridsome(基于 Vue)

這些可能是 2020 年最熱門的項目榆鼠,當(dāng)然選項還有很多纲爸。如果你想了解關(guān)于它們的更多信息,請查看這些資源:

  • Next.js
  • Nuxt.js
  • Gatsby
  • Gridsome
image

3.JAMstack

術(shù)語 JAMstack 代表 JavaScript(在客戶端上運行妆够,例如 React识啦、Vue 或 VanillaJS)、API(服務(wù)端進(jìn)程通過 JavaScript 經(jīng)由 HTTPS 抽象并訪問)和 markup(在部署時預(yù)構(gòu)建的模板標(biāo)記)神妹。

這是一種構(gòu)建性能更好的網(wǎng)站和應(yīng)用的方法——降低擴(kuò)展成本颓哮、提供更高的安全性并提供更好的開發(fā)體驗。

盡管這些術(shù)語本身并不是什么新鮮事物鸵荠,但它們有自己的共同點——它們不依賴 Web 服務(wù)器冕茅。因此,依賴一個 Ruby 或 Node.js 后端腰鬼,或使用服務(wù)端 CMS(例如 Drupal 或 WordPress)構(gòu)建站點的單體應(yīng)用就不是用 JAMstack 構(gòu)建的嵌赠。

如果你要使用 JAMstack塑荒,下面是一些最佳實踐:

整個項目都在一個 CDN 上提供服務(wù)

由于 JAMstack 不需要服務(wù)器熄赡,因此整個項目都可以通過一個 CDN 提供服務(wù),從而釋放出無與倫比的速度和性能齿税。

一切都放在 Git 中

所有人都應(yīng)該能夠從一個 Git 存儲庫克隆整個項目彼硫,而無需數(shù)據(jù)庫或復(fù)雜的設(shè)置。

自動化構(gòu)建

你可以完美地自動構(gòu)建凌箕,因為所有標(biāo)記都是預(yù)構(gòu)建的——例如使用 webhooks 或云服務(wù)預(yù)構(gòu)建標(biāo)記拧篮。

原子部署

為了在大型項目中重新部署數(shù)百或數(shù)千個文件時避免出現(xiàn)不一致的狀態(tài),原子部署將等待所有文件上傳牵舱,然后再進(jìn)行更改串绩。

即時緩存失效

當(dāng)站點上線時,必須確保 CDN 可以處理即時緩存清除任務(wù)芜壁,以使更改可見礁凡。

像 Netlify 或 Zeit 這樣的著名主機(jī)都支持 JAMstack 應(yīng)用程序,還有很多大公司使用它們?yōu)橛脩籼峁┏錾捏w驗慧妄。

作為一名前端開發(fā)人員顷牌,你絕對會想在 2020 年學(xué)習(xí)使用 JAMstack。如果你想了解有關(guān) JAMstacks 的更多信息塞淹,這里有一些很棒的資源:

image

4.PWA

漸進(jìn)式 Web 應(yīng)用程序(PWA)絕對是 2020 年的熱門話題。越來越多的公司選擇使用 PWA 取代原生應(yīng)用饱普,從而為用戶提供豐富的移動體驗运挫。

PWA 都很可靠(即時加載状共,無需連接互聯(lián)網(wǎng)即可工作)、速度飛快(流暢的動畫滑臊,對用戶交互的快速響應(yīng))口芍,并能提供吸引人的體驗(類似原生應(yīng)用的感受,出色的用戶體驗)雇卷。

它們利用服務(wù) worker 提供脫機(jī)功能鬓椭,并利用一個 web-app 清單文件提供全屏體驗。

構(gòu)建一個漸進(jìn)式 Web 應(yīng)用的原因可能包括:

  • 可以從瀏覽器添加到用戶的主屏幕
  • 即使沒有互聯(lián)網(wǎng)也能正常工作
  • 支持網(wǎng)絡(luò)推送通知以增強(qiáng)用戶參與度
  • 利用谷歌的 Lighthouse 功能

如果你想了解有關(guān) PWA 的更多信息关划,請隨時查看以下資源:

5.GraphQL

GraphQL 是當(dāng)前最熱門的話題之一小染,并且絕對是你在 2020 年需要學(xué)習(xí)或提升的事物。

盡管 REST 提供了無狀態(tài)服務(wù)器之類的出色概念贮折,一直被認(rèn)為是設(shè)計 Web API 的事實標(biāo)準(zhǔn)裤翩,但由于訪問這些 RESTful API 的客戶端的變化速度太快,這些相對笨拙的 API 越來越顯得不夠靈活了调榄。

GraphQL 由 Facebook 開發(fā)踊赠,旨在解決開發(fā)人員在處理 Restful API 時面臨的一些具體問題。

使用 REST API 時每庆,開發(fā)人員可以從具有一個特定目的的多個端點(例如一個 /users/端點或一個 /tours//location 端點)中獲取數(shù)據(jù)筐带,進(jìn)而收集數(shù)據(jù)。

使用 GraphQL 時的工作機(jī)制有所不同缤灵。開發(fā)人員會將一個查詢與他們的數(shù)據(jù)需求一起發(fā)送到一個 GraphQL 服務(wù)器上伦籍。然后,服務(wù)器將返回帶有所有對應(yīng)數(shù)據(jù)的一個 JSON 對象腮出。

使用 GraphQL 的另一個好處是它使用了強(qiáng)類型系統(tǒng)帖鸦。GraphQL 服務(wù)器上的所有內(nèi)容都是使用 GraphQLschema 定義語言(SDL),通過一個 schema 定義的胚嘲。創(chuàng)建 schema 后作儿,前端和后端開發(fā)人員就可以彼此獨立地工作,因為他們都了解了已定義的數(shù)據(jù)結(jié)構(gòu)馋劈。

如果你想了解有關(guān) GraphQL 的更多信息攻锰,請查看以下重要資源:

6. 代碼編輯器 /IDE

與 2019 年一樣,微軟的 VS Code 將在 2020 年成為大多數(shù)前端工程師的首選編輯器侣滩。

它提供了很像 IDE 的功能口注,例如代碼完成和高亮顯示,并且可以通過其擴(kuò)展市場來獲得幾乎無限的擴(kuò)展能力君珠。

其中擴(kuò)展市場是讓 VS Code 如此出色的最大功臣寝志。以下是為前端開發(fā)人員準(zhǔn)備的一些出色擴(kuò)展:

  • JavaScript (ES6) code snippets
  • npm
  • Prettier
  • CSS Peek
  • Vetur
  • ESLint
  • Live Sass Compiler
  • Debugger for Chrome
  • Live Server
  • Beautify

這些是一些很酷的例子。在 VS Code 中還有很多值得探索的內(nèi)容,因此如果你還沒用過材部,我建議你嘗試一下毫缆。

7. 測試

未經(jīng)測試的代碼不應(yīng)被投入生產(chǎn)環(huán)境。

在你的個人項目中乐导,似乎不做任何測試是很方便的苦丁,但在商業(yè)和企業(yè)環(huán)境中工作時必須進(jìn)行測試。因此對于任何開發(fā)人員而言物臂,最好盡量將測試集成到開發(fā)工作流程中旺拉。

測試用例可以分為以下幾類:

單元測試

在隔離環(huán)境中測試單個組件或函數(shù)。

集成測試

測試組件之間的交互棵磷。

端到端測試

在瀏覽器中測試完整功能的用戶流蛾狗。

還有更多測試方法,例如手動測試仪媒、快照測試等沉桌。如果你想升任高級開發(fā)人員職位,或打算在具備一些開發(fā)標(biāo)準(zhǔn)的大型公司工作算吩,則應(yīng)嘗試提升自己的測試技能留凭。

8. 純凈代碼

能夠編寫干凈的代碼是一項很棒的技能,許多組織都對此提出了很高的要求偎巢。如果你想從開發(fā)人員的職位升級為高級開發(fā)人員蔼夜,則應(yīng)該好好學(xué)習(xí)純凈代碼的理念。

簡潔的代碼應(yīng)該是優(yōu)雅且易讀的艘狭。它們應(yīng)該專注于某個目標(biāo)挎扰,你應(yīng)該做到這一點翠订。所有測試均運行在純凈代碼中巢音。它們不應(yīng)包含重復(fù)項,應(yīng)盡量減少實體(例如類尽超、方法和函數(shù))的使用官撼。

想要編寫純凈代碼,開發(fā)人員應(yīng)做的一些事情是:

  • 為變量似谁、類傲绣、方法和函數(shù)創(chuàng)建有意義的名稱;
  • 函數(shù)應(yīng)該很小并且應(yīng)該盡可能減少參數(shù)巩踏;
  • 根本不需要注釋——代碼本身就應(yīng)該說明一切秃诵。

如果你想了解有關(guān)純凈代碼檢查的更多信息,請閱讀 Robert C. Martin 的書籍和帖子塞琼。

9.Git

毫無疑問菠净,Git 是當(dāng)今 Web 開發(fā)中版本控制的標(biāo)準(zhǔn)。對于每位前端工程師而言,了解基本的 Git 概念和工作流程是非常重要的毅往,這樣才能在各種規(guī)模的團(tuán)隊中高效工作牵咙。

下面是你應(yīng)該知道的一些流行的 Git 命令:

  • git config
  • git init
  • git clone
  • git status
  • git add
  • git commit
  • git push
  • git pull
  • git branch

這些命令可以提高工作效率,熟悉它們當(dāng)然是很好的攀唯;但是前端工程師還應(yīng)該學(xué)習(xí) Git 的基本概念洁桌。以下是一些適合你的資源:

小編是一個多年開發(fā)經(jīng)驗的程序員,懂前端戒幔、Java途茫、Python。今年年初整理了一批WEB前端學(xué)習(xí)資料作為粉絲福利溪食,不論你是計算機(jī)專業(yè)想往WEB前端方向發(fā)展囊卜,還是零基礎(chǔ)想要轉(zhuǎn)行學(xué)習(xí)WEB前端,這份資料都能幫助到你错沃,在自學(xué)過程中遇見問題了也可以隨時問我栅组。這是我的WEB前端裙,518-672-693枢析,關(guān)于Java和Python的問題也可以在里面問我玉掸。

10. 軟技能

對于開發(fā)人員來說,經(jīng)常被忽視但確實非常重要的是一點就是獲取一些軟技能醒叁。

雖然了解事物的技術(shù)層面是很有用的司浪,但知道如何在團(tuán)隊中交流也同樣重要。如果你很在乎自己的技術(shù)生涯把沼,并且 / 或者打算升任高級職位啊易,那么你應(yīng)該發(fā)展自己的以下軟技能:

  • 同理心
  • 交流
  • 團(tuán)隊合作
  • 平易近人和樂于助人
  • 耐心
  • 開放的思想
  • 解決問題的理念
  • 負(fù)責(zé)任
  • 創(chuàng)造力
  • 時間管理

永遠(yuǎn)記住:高級開發(fā)人員最重要的交付物是更高級的開發(fā)人員饮睬。

小結(jié)

在本文中租谈,我向你展示了前端開發(fā)人員應(yīng)在 2020 年嘗試學(xué)習(xí)、改進(jìn)或掌握的 10 項重要內(nèi)容捆愁。

這份清單并不是要無所不包割去,但希望它能給你帶來一些的靈感——如何選擇就是你的事情了!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昼丑,一起剝皮案震驚了整個濱河市呻逆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌菩帝,老刑警劉巖咖城,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件憔足,死亡現(xiàn)場離奇詭異,居然都是意外死亡酒繁,警方通過查閱死者的電腦和手機(jī)滓彰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來州袒,“玉大人揭绑,你說我怎么就攤上這事±煽蓿” “怎么了他匪?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長夸研。 經(jīng)常有香客問我邦蜜,道長,這世上最難降的妖魔是什么亥至? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任悼沈,我火速辦了婚禮,結(jié)果婚禮上姐扮,老公的妹妹穿的比我還像新娘絮供。我一直安慰自己,他們只是感情好茶敏,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布壤靶。 她就那樣靜靜地躺著,像睡著了一般惊搏。 火紅的嫁衣襯著肌膚如雪贮乳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天恬惯,我揣著相機(jī)與錄音向拆,去河邊找鬼。 笑死宿崭,一個胖子當(dāng)著我的面吹牛穿香,可吹牛的內(nèi)容都是我干的污它。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼立膛,長吁一口氣:“原來是場噩夢啊……” “哼赞草!你這毒婦竟也來了讹堤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤厨疙,失蹤者是張志新(化名)和其女友劉穎洲守,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡梗醇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年知允,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叙谨。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡温鸽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出手负,到底是詐尸還是另有隱情涤垫,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布竟终,位于F島的核電站蝠猬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏统捶。R本人自食惡果不足惜榆芦,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望喘鸟。 院中可真熱鬧歧杏,春花似錦、人聲如沸迷守。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽兑凿。三九已至凯力,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間礼华,已是汗流浹背咐鹤。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留圣絮,地道東北人祈惶。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像扮匠,于是被迫代替她去往敵國和親捧请。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 隨著移動互聯(lián)網(wǎng)的興起棒搜,前端簡直是搭載著東風(fēng)快遞在飛速發(fā)展著疹蛉,前端們表示已經(jīng)真的快要學(xué)不動了。前后端分離開發(fā)也沒有幾...
    前端滴自我修養(yǎng)閱讀 1,541評論 2 10
  • 1月12日力麸,周六可款,天氣不僅冷育韩,而且由于這幾天沒有風(fēng),所以有輕度霧霾闺鲸。北方的冬天很寒冷筋讨,戶外活動不是很方便,所以每到...
    蕓蕎冰閱讀 657評論 0 7
  • 我親愛的老頭摸恍,祝你生日快樂版仔,對不起啊,沒有在你身邊陪伴你误墓,是的蛮粮,說再多都是借口,說對不起也只是為了讓自己心安谜慌,變得...
    不要皺眉這樣不漂亮閱讀 222評論 0 0
  • 今天元旦然想,新年的開端。過去一年里有不少機(jī)會自己不會把握欣范,投資理財不算成功都買在了高點变泄,期間有糾錯的機(jī)會沒有抓住,原...
    30歲的日記閱讀 87評論 0 0
  • 比現(xiàn)在的季節(jié)要晚些 已經(jīng)開始了寒冷, 校園的冬青結(jié)滿低矮的霜晴竞。 大巴車連夜飛馳蛙卤,越過涵洞、高速路和村莊噩死, 燈光和喧...
    水鳥先生閱讀 265評論 0 0