2019,全栈开发者应该学些什么?

2019,全栈开发者应该学些什么?
人生苦短,所以尽量少做无用功。如果你希望保持最新状态并成为全栈开发者,你需要了解以下的 2019 年趋势。

HTML、CSS 和 JavaScript 是必须掌握的,你还需要学习 React、Vue 或 Angular 等前端框架或库。但是,你应该选择哪一个?对于一个真正的全栈开发者,你可以在 2019 年选择这三个框架中的任何一个。

Vue 3.0
2018 年,Vue 持续获得开发者的青睐,2019 年将会继续增长……但它是否足以超越其他两大玩家?我们拭目以待。

Vue 生态系统正在不断发展,而且,随着 Vue 3.0 的发布极其改进的 Vue CLI,2019 年的开发者体验将比以往更好。

开发者可以使用 Vue Native 进行跨平台开发(就像 React Native 那样),我们已经很接近 React 那样的大型生态系统,但还是有一大段距离。

Vue 有一个非常有趣的趋势,它将在 2019 年继续增长:阿里巴巴、百度、腾讯、小米和 DJI 等中国科技巨头更喜欢 Vue。预计中国市场将继续保持快速增长,因为 Vue 是一个独立的开源库,与西方的大型科技巨头无关。

-------------

你应该使用的 NPM 包

Prettier——让你可以专注于你正在写的代码,而不是去关心代码的格式;

https://prettier.io/

eslint——保持代码整洁;

https://eslint.org/

date-fns——moment.js 的轻量级替代品;

https://date-fns.org/

lodash——主要用于 throttle() 和 debounce() 函数;

https://lodash.com/

rambda——如果你真的喜欢函数式编程。

https://ramdajs.com/

TypeScript:可以编译为 JavaScript 的 JavaScript 超集。

Flow:JavaScript 的静态类型检查器。

Reason:利用了 JavaScript 和 OCaml 生态系统的类型语言。

PureScript:一种强类型语言,可以编译为 JavaScript,使用 Haskell 开发。

Elm:纯粹的函数式编程语言,可以编译成 JavaScript。

关于静态与动态类型语言的讨论由来已久,不会很快就得出结论。以上这些都不会取代 JavaScript 作为 Web 主要编程语言的主导地位。但是,Angular 和 Vue 都采用了 TypeScript,并将其作为开发者社区的标准,因此,TypeScript 可能会继续增长,并超越上述其他语言。

你需要学习 TypeScript 的基础知识及其原理(以及静态类型的好处),但要注意,它并非写出好代码的唯一方法。要写出好代码,可以先关注如何写出好的单元测试。

CLI 将会风靡
你必须使用 babel、webpack、eslint、测试库和其他工具搭建项目脚手架的日子已经一去不复返了。我的意思是,我们仍然可以这么做,但 CLI 确实让这种体验变得更好了。

Angular CLI;

Create React App 2;

Vue CLI。

2019 年,我们将在 CLI 中看到越来越多的改进体验。

状态管理
Vue 将继续使用 Vuex 进行状态管理。

Angular 将继续主要使用 RxJS。

随着新的 Context API 的问世和 GraphQL + Apollo 的普及,React 今年则遭遇了一点危机。很长一段时间以来,Redux 第一次被认为不是状态管理的明智选择。你仍然需要学习 Redux,因为你可以从 Redux 中学到一些有用的计算机科学原理,如事件溯源和 CQRS。

服务器端渲染
服务器端渲染在 JavaScript 领域仍然是一个待解决的问题。我们知道,单页应用程序和客户端渲染很容易让项目出现代码膨胀,而且需要向客户端发送太多的 JavaScript 代码,而且可能会影响你的 SEO(但可能没有你想象的那么多)。

有一些方法可以解决这个问题,例如:PRPL 模式、prerender.io,或者你可以这么想,其实谷歌机器人在抓取单页应用程序时没有那么糟糕。

目前,如果要进行服务器端渲染,可以使用:

用于 React 的 Next.js;

用于 Vue 的 Nuxt.js;

用于 Angular 的 Angular Universal。

静态页面正在重新刮起一阵流行风,你可以看看 JAM Stack:

https://www.netlify.com/blog/2017/06/06/jamstack-vs-isomorphic-server-side-rendering/

它的主要思想是:预构建标记(静态页面),通过利用服务器的 API 在客户端成为动态单页面应用程序。这将在 2019 年真正改变服务器端渲染,我预测会有更多人使用像 GatsbyJS 这样的工具,而不是自己构建复杂的服务器端渲染逻辑。


HTTPS 无处不在
需要将用户输入的数据发送到服务器的网站必须使用 HTTPS。如果你没有使用 HTTPS,谷歌将会惩罚你。

幸运的是,HTTPS Everywhere 或 Gaddy 让迁移到 HTTPS 变得更容易。

REST 与 GraphQL
RESTful API 在 2019 年还会存在,你需要学习如何实现和设计这些 API。你应该学会使用 Node.js 和 Express.js 来创建 API 服务器,在 2019 年,这两个框架的组合仍然会占主导地位。

现在出现了很多有关 GraphQL 的炒作,但它还不是可以赢得所有市场的大赢家。了解 GraphQL 可以解决哪些问题,以及如何在 RESTful API 中用它来进行路由优化。这将是 2019 年最重要的趋势:不是如何单独使用 GraphQL,而是如何在极少数情况下使用 GraphQL 优化一些 RESTful API 路由。

HTTP2
HTTP2 变得越来越普遍,你需要知道如何使用这个协议来优化内容的传输。此外,HTTP3 正在开发当中,你可以关注它,但它并不是你在 2019 年需要过分关注的东西。

基础设施即服务
需要自己构建和管理服务器的场景越来越少,以下是 2019 年的主要选择。

Digital Ocean——用于简单的服务器。

Heroku——用于简单和集成的服务器和部署。

Now——用于超级简单的部署。

Firebase——用于托管基础设施和数据库。

AWS——几乎任何你想要的东西,你可以永远不需要考虑自己管理服务器。

posted @ 2019-01-14 00:46  大自然的流风  阅读(1142)  评论(0编辑  收藏  举报