10个前端开发需要学习的关键技能

毫无疑问,前端开发会是 2020 年技术领域最热门的专业之一。

在过去,前端领域的开发人员只要了解一些 HTML、CSS,也许还有 jQuery,就足以创建交互式网站了;但是今天,他们需要面对广泛而不断变化的生态系统,开发多种多样的技能;他们需要掌握众多工具、库和框架;并且他们还要不断投资自身来学习新的知识。

最近几年涌现了一系列基于 JavaScript 的优秀库和框架新品,如 ReactJS、VueJS 和 Svelte 等;它们为主流 Web 应用程序带来了强大的动力。

本文希望为你提供一些指导,帮助你在 2020 年提升自己的前端开发水平;无论你是新手还是有不少经验的老鸟,这篇文章都值得一读。

1. 框架

2020 年,我们可能会看到 Facebook 的 ReactJS 与社区驱动的 VueJS 之间的对决。目前,React 在 GitHub 上拥有 140,000 星,而 Vue 甚至拿到了 153,000 星。相比之下,Angular 这样的项目只有 53,000 个星。

在 2019 年,React(蓝线)、Vue(红线)、Angular(黄线)和 Svelte(绿线)的搜索趋势也能为这一假设提供佐证——其中 Vue 略高于 React。Angular 在搜索量方面差的很远,Svelte 则在这个对决中几乎没有存在感。

因此在 2020 年,使用或希望使用 JavaScript 框架的前端开发人员应将 React 和 Vue 作为他们的主要选择。如果你正在处理大型企业项目,则 Angular 也是可行之选。

如果你想了解有关这些框架的更多信息,请查看下列重要资源:

React

Vue.js

2. 静态站点生成器

静态站点生成器融合了服务端渲染(对于 SEO 来说非常重要,也会影响初始加载时间)和单页应用程序的能力。

如今,许多项目即使不需要服务端渲染也选择了一种 SSG,因为 Next 或 Nuxt 之类的解决方案具有很多便捷的功能,例如 markdown 支持、模块打包器和集成的测试运行器等。

如果你很重视前端开发工作,则应仔细研究以下项目,并尝试获得一些实践经验:

Next(基于 React)

Nuxt(基于 Vue)

Gatsby(基于 React)

Gridsome(基于 Vue)

这些可能是 2020 年最热门的项目,当然选项还有很多。如果你想了解关于它们的更多信息,请查看这些资源:

Next.js

Nuxt.js

Gatsby

Gridsome

3.JAMstack

术语 JAMstack 代表 JavaScript(在客户端上运行,例如 React、Vue 或 VanillaJS)、API(服务端进程通过 JavaScript 经由 HTTPS 抽象并访问)和 markup(在部署时预构建的模板标记)。

这是一种构建性能更好的网站和应用的方法——降低扩展成本、提供更高的安全性并提供更好的开发体验。

尽管这些术语本身并不是什么新鲜事物,但它们有自己的共同点——它们不依赖 Web 服务器。因此,依赖一个 Ruby 或 Node.js 后端,或使用服务端 CMS(例如 Drupal 或 WordPress)构建站点的单体应用就不是用 JAMstack 构建的。

如果你要使用 JAMstack,下面是一些最佳实践:

整个项目都在一个 CDN 上提供服务

由于 JAMstack 不需要服务器,因此整个项目都可以通过一个 CDN 提供服务,从而释放出无与伦比的速度和性能。

一切都放在 Git 中

所有人都应该能够从一个 Git 存储库克隆整个项目,而无需数据库或复杂的设置。

自动化构建

你可以完美地自动构建,因为所有标记都是预构建的——例如使用 webhooks 或云服务预构建标记。

原子部署

为了在大型项目中重新部署数百或数千个文件时避免出现不一致的状态,原子部署将等待所有文件上传,然后再进行更改。

即时缓存失效

当站点上线时,必须确保 CDN 可以处理即时缓存清除任务,以使更改可见。

像 Netlify 或 Zeit 这样的著名主机都支持 JAMstack 应用程序,还有很多大公司使用它们为用户提供出色的体验。

作为一名前端开发人员,你绝对会想在 2020 年学习使用 JAMstack。如果你想了解有关 JAMstacks 的更多信息,这里有一些很棒的资源:

JAMstack(https://jamstack.org/

JAMstack WTF(https://jamstack.wtf/

“刚接触 JAMstack?你需要了解的一切入门知识”(https://snipcart.com/blog/jamstack

4.PWA

渐进式 Web 应用程序(PWA)绝对是 2020 年的热门话题。越来越多的公司选择使用 PWA 取代原生应用,从而为用户提供丰富的移动体验。

PWA 都很可靠(即时加载,无需连接互联网即可工作)、速度飞快(流畅的动画,对用户交互的快速响应),并能提供吸引人的体验(类似原生应用的感受,出色的用户体验)。

它们利用服务 worker 提供脱机功能,并利用一个 web-app 清单文件提供全屏体验。

构建一个渐进式 Web 应用的原因可能包括:

可以从浏览器添加到用户的主屏幕

即使没有互联网也能正常工作

支持网络推送通知以增强用户参与度

利用谷歌的 Lighthouse 功能

如果你想了解有关 PWA 的更多信息,请随时查看以下资源:

渐进式 Web 应用(https://developers.google.com/web/progressive-web-apps

“你的第一个渐进式 Web 应用”(https://codelabs.developers.google.com/codelabs/your-first-pwapp/#0

5.GraphQL

GraphQL 是当前最热门的话题之一,并且绝对是你在 2020 年需要学习或提升的事物。

尽管 REST 提供了无状态服务器之类的出色概念,一直被认为是设计 Web API 的事实标准,但由于访问这些 RESTful API 的客户端的变化速度太快,这些相对笨拙的 API 越来越显得不够灵活了。

GraphQL 由 Facebook 开发,旨在解决开发人员在处理 Restful API 时面临的一些具体问题。

使用 REST API 时,开发人员可以从具有一个特定目的的多个端点(例如一个 /users/端点或一个 /tours//location 端点)中获取数据,进而收集数据。

使用 GraphQL 时的工作机制有所不同。开发人员会将一个查询与他们的数据需求一起发送到一个 GraphQL 服务器上。然后,服务器将返回带有所有对应数据的一个 JSON 对象。

使用 GraphQL 的另一个好处是它使用了强类型系统。GraphQL 服务器上的所有内容都是使用 GraphQLschema 定义语言(SDL),通过一个 schema 定义的。创建 schema 后,前端和后端开发人员就可以彼此独立地工作,因为他们都了解了已定义的数据结构。

如果你想了解有关 GraphQL 的更多信息,请查看以下重要资源:

GraphQL

怎样开始 GraphQL(https://www.howtographql.com/

“GraphQL Content API 入门”(https://www.contentful.com/developers/docs/tutorials/general/graphql/

“GraphQL:一种数据查询语言”(https://engineering.fb.com/core-data/graphql-a-data-query-language/

6. 代码编辑器 /IDE

与 2019 年一样,微软的 VS Code 将在 2020 年成为大多数前端工程师的首选编辑器。

它提供了很像 IDE 的功能,例如代码完成和高亮显示,并且可以通过其扩展市场来获得几乎无限的扩展能力。

其中扩展市场是让 VS Code 如此出色的最大功臣。以下是为前端开发人员准备的一些出色扩展:

JavaScript (ES6) code snippets

npm

Prettier

CSS Peek

Vetur

ESLint

Live Sass Compiler

Debugger for Chrome

Live Server

Beautify

这些是一些很酷的例子。在 VS Code 中还有很多值得探索的内容,因此如果你还没用过,我建议你尝试一下。

7. 测试

未经测试的代码不应被投入生产环境。

在你的个人项目中,似乎不做任何测试是很方便的,但在商业和企业环境中工作时必须进行测试。因此对于任何开发人员而言,最好尽量将测试集成到开发工作流程中。

测试用例可以分为以下几类:

单元测试

在隔离环境中测试单个组件或函数。

集成测试

测试组件之间的交互。

端到端测试

在浏览器中测试完整功能的用户流。

还有更多测试方法,例如手动测试、快照测试等。如果你想升任高级开发人员职位,或打算在具备一些开发标准的大型公司工作,则应尝试提升自己的测试技能。

8. 纯净代码

能够编写干净的代码是一项很棒的技能,许多组织都对此提出了很高的要求。如果你想从开发人员的职位升级为高级开发人员,则应该好好学习纯净代码的理念。

简洁的代码应该是优雅且易读的。它们应该专注于某个目标,你应该做到这一点。所有测试均运行在纯净代码中。它们不应包含重复项,应尽量减少实体(例如类、方法和函数)的使用。

想要编写纯净代码,开发人员应做的一些事情是:

为变量、类、方法和函数创建有意义的名称;

函数应该很小并且应该尽可能减少参数;

根本不需要注释——代码本身就应该说明一切。

如果你想了解有关纯净代码检查的更多信息,请阅读 Robert C. Martin 的书籍和帖子。

9.Git

毫无疑问,Git 是当今 Web 开发中版本控制的标准。对于每位前端工程师而言,了解基本的 Git 概念和工作流程是非常重要的,这样才能在各种规模的团队中高效工作。

下面是你应该知道的一些流行的 Git 命令:

git config

git init

git clone

git status

git add

git commit

git push

git pull

git branch

这些命令可以提高工作效率,熟悉它们当然是很好的;但是前端工程师还应该学习 Git 的基本概念。以下是一些适合你的资源:

“解释 Git 的基本概念以及如何使用 GitHub”(https://thepilcrow.net/explaining-basic-concepts-git-and-github/);

“如何使用 GitHub——使用 GitHub 进行开发协作”(https://www.edureka.co/blog/how-to-use-github/);

GitHub。

10. 软技能

对于开发人员来说,经常被忽视但确实非常重要的是一点就是获取一些软技能。

虽然了解事物的技术层面是很有用的,但知道如何在团队中交流也同样重要。如果你很在乎自己的技术生涯,并且 / 或者打算升任高级职位,那么你应该发展自己的以下软技能:

同理心

交流

团队合作

平易近人和乐于助人

耐心

开放的思想

解决问题的理念

负责任

创造力

时间管理

永远记住:高级开发人员最重要的交付物是更高级的开发人员。

小结

在本文中,我向你展示了前端开发人员应在 2020 年尝试学习、改进或掌握的 10 项重要内容。

这份清单并不是要无所不包,但希望它能给你带来一些的灵感——如何选择就是你的事情了!

对于学前端总结了一些经验和整理了一套学习视频资料:

这是我自己组建的一个前端技术交流Q un ++++++++++++++

钱面是--282--

中间是--549--

后面是--184---

如果需要学习资料在里面下载。看看前辈们是如何在编程的世界里傲然前行。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268