最近翻到一个很有价值的github项目,仅仅是四张图,但获得超过60k的小星星。项目名称叫做developer-roadmap,四张图介绍了作为一个web开发者的前端、后端和运维三方面的技能路线图。

正好我在计划新的一年里所要学习的目标技能,这份路线图极具参考价值。

总览

image
黄色是作者的个人推荐

左边一侧的技能对于前后端都是必须的。主要是三部分:

  1. 基本工具的使用,如:Git、Bash、Github、SSH等
  2. 编程原则等内功,如:SOLID原则、设计模式、数据结构等
  3. 软件分发的规则,如:License和语义版本号

对于初学者而言前两项更迫切一些,然而内容也非常多。这里面每一项都可以做一个路线图出来。

前端

image

前端内容比较杂,都是按照难易度一点点的循序渐进。

后端

image

后端同样是一些基础的东西。

运维

image

计划

以上四张图,对目前WEB开发的前后端技术总结的相对完整了。对于前端or后端的新人来讲,依图索骥是快速掌握相关技能的好办法。全栈则需要对整体全方位了解,如果涉及到多端开发,Electron和ReactNative也是必须要掌握的。

个人补充

Flutter

Flutter1.0由于商业因素推出的过于匆忙。虽然很多人都看好它,但2019年注定陷入4000个issue的汪洋大海中。吃过这只螃蟹的人都说好,我也看过官方demo展示,的确对它的开发效率刮目相看。但要让整个社区彻底活跃起来,它还需要走很长一段路。至少,你得说服jser们使用Dart吧?

CSS框架

AntDesign虽然没有被提到,但在国内使用者还是非常多的。这次圣诞大礼(zha)包(dan)杀了国内开发者一个措手不及,也不知寒了多少人的心。关于它的替代品,我感觉能拿得出手的并不多。如Material-UI或Semantic-React,组件丰富程度,使用难易度和维护速度都不可同日而语。(虽然我也很喜欢Semantic-React,但它的进度实在让人崩溃。)对于普通开发者来讲,也许只能默默感恩并继续使用可能再次收到惊(jing)喜(xia)的AntDesign。

后端框架

没有提到eggjs和nestjs。

eggjs基于koa,同样在国内非常受到欢迎。目前用得顺手,我在自己的项目里会继续使用。nestjs感觉就是js版的spring,至少从形式上讲很像。我看到这个项目后的第一个想法是:既然如此,为何不用java?

今年计划

今年有几项技术,希望能掌握并应用到工作中,依次分别为:

TypeScript

用过TS的都说真香,我也计划使用TS重构一下前后端代码。

GraphQL

根据我对GraphQL肤浅的了解,在多端使用API接口的场合它比较适用,而这是以后发展的必然趋势。

Taro

之前已经使用Taro写过一个小程序,相比起小程序的原生代码来讲,的确效率要高得多的多得多。和外国开放的情况不同,国内生态封闭的气氛越来越严重。微信、头条、百度、支付宝,各个都想将用户圈在自己的内部生态中。所以PWA什么的,暂时在国内看不到太大的发展。