从培训课程收集的前端技术一览

前端技术发展迅速,各种线上课程层出不穷,虽然我对这些课程没什么兴趣,不过从课程包装来看,整理前端的知识点还是很有帮助的,以下这些技术整理包含了现在前端的主要技术的方方面面,可以作为今后学习的一些方向和目标。

总览


关键词:ECMA、异步、TypeScript、函数式编程、性能、脚手架、自动化构建、自动化测试、持续集成、自动化部署、webpack、vuejs、react、angular、nodejs、nosql、graphql、小程序、hybrid、react native、flutter、electron、serverless、中途岛、首屏优化、数据埋点、微前端、pwa、数据可视化、算法。

part1

这部分最核心也是最基础的部分,css和js,在经过这么些年的发展之后,版本更迭有了严格的规范流程管理,每年总会有新的css和js特性从草稿到规范进行推进,所以除了掌握已经发布的那些技术特性之后,还应该了解js和css的规范管理流程,以及每年css和js新推出的那些特性。 这里就有两个问题:

  1. 了解css和js的规范管理流程
  2. 知道去哪查看每年新发布的css和js特性

typescript会成为之后js开发的首选方式,对于开发库或者大型app来说,它是一个提升效率、保障代码质量的好工具。
javascript异步除了要知道promise、generator函数、async函数之外,更重要的是理解event loop。
函数式编程我自己接触不多,有人很推崇。
js的内存管理、垃圾回收机制也是深入理解js必备的知识。

part2

这个部分主要是工具,重点是:

  • 自动化测试(单元测试、集成测试、e2e测试、mocha、jest)
  • CI/CD(Jenkins、GitLab CI、Travis CI)
  • git/gitlab
  • npm、webpack、rollup、eslint
  • npm script hook、git hook

part3

这个部分主要是3大框架,从原理上来说,我认为掌握其中1个就够了,但是从使用上来说,可以掌握多个。

part4

这个部分倾向于掌握基于node就是开发后端的东西,如果有其它后端语言开发经验,这块相对不难理解。 目前来看,掌握nodejs + koa + egg.js这个技术下的开发就不错。

part5

这个部分的技术算是目前前端产品形式中非常常见的几种了:

  • 小程序作为app的辅助,它始终会有它的一些必要场景
  • hybrid app也仍然是部分产品进行原生与web缓和的常用形式
  • react native也有很多大厂的实践
  • flutter是新宠,正在替代react native
  • electron应用面比较狭窄,可以不去了解

part6

关键词:

  1. serverless 我用过小程序的开发,整体感受还不错
  2. 中途岛、数据埋点
  3. 首屏优化(performance api、骨架屏、白屏时间)
  4. 无线列表加载

part7

关键词:微前端、pwa、数据可视化、canvas、svg、webcomponents、web安全、web assembly。
不看好pwa,因为它意图通过浏览器安装类似app的应用,侵犯了苹果appstore的权益,而且也不符合用户使用习惯,很难看到它未来的发展空间。

part8

除了leetcode,来提升自己的算法积累,其它都是扯淡。