随着科技行业的日新月异,许多企业对于全栈开发人员的需求持续高涨——全栈开发人员好比“全能选手”,具备解决软件开发过程中各个层面的各种问题的能力:既能开发客户端应用,也能搞服务器端应用,甚至产品设计也是他们来。
在全栈开发愈发“吃香”的趋势下,全栈开发者这一群体也愈发庞大:不论 2020 年还是 2021 年,在知名技术问答网站 Stack Overflow 的年度开发者调查报告中,全栈开发工程师一直是最为主流的开发人员类型。
但也因全栈工程师忙于软件开发的方方面面,难免疏漏某些行业动势。为此,全栈开发者 Bogdan N. 精心梳理了一份全栈开发报告,以此聚焦行业趋势及发展方向。
最受欢迎编程语言:Python
想要了解最受欢迎编程语言,TIOBE 无疑是个不错的选择。根据最新 2 月 TIOBE 编程语言排行榜,Python 稳居第一,其次便是 C 和 Java。
Python、C 和 Java 能占据流行编程语言的“前三甲”,自然有其不可替代的优势:
Python 语法简单,有丰富的库,对初学者而言容易上手,并且应用范围广,目前诸多数据科学、机器学习等项目均基于 Python。除此之外,Python 还拥有目前最流行的三个 Web 框架:Django、Flask 和 FastAPI。
相比之下,C 虽然不像 Python 那样“潮流”和华丽,但 C 无处不在,无所不能。操作系统、嵌入式编程,甚至 Git 和 Linux 大部分都是用 C 编写的。为此,Linux 之父 Linus Torvalds 曾放言:“C 语言是最好的编程语言。”而 Bogdan N. 认为:“如果它(C 语言)对 Linus 来说是很好的语言,那么对我们其他人来说也就足够了。”
而 Java 不仅可谓是“企业之王”——谷歌、Netflix、亚马逊等科技巨头或多或少都会使用 Java,大多数 Apache 项目也都是用 Java 编写的。Bogdan N. 将 Java 概括为:“学习 Java、学习 Spring 框架,你永远都不会失业。”
除了前三甲,Bogdan N. 认为排名第八的 PHP 也不容忽视:“在 JavaScript 之前有 PHP,在 JavaScript 之后还有 PHP。”
自 1995 年上线以来,这些年 PHP 不断迭代,力求改善开发体验,目前主要用作 Web 后端语言,拥有 Laravel 和 Symfony 这两个大框架。虽然近年来“PHP 已死”的谣言层出不穷,但这丝毫不影响 PHP 的应用:据说,利用 PHP 语言开发的开源免费 Blog 引擎 WordPress 在为超过 33% 的网站提供支持。
重要的 JavaScript 报告
对多数全栈开发者来说,JavaScript 想必也是一个非常熟悉的语言,恰逢近日 JavaScript 2021 年度报告正式发布,这也是一份非常重要的调查报告。
前端框架
虽然总体来说,前端框架“三巨头”依旧是 React、Angular 和 Vue,但从结果可以看出 Svelte 近年也引起了诸多关注,应用范围逐渐扩大,连 Bogdan N. 在尝试过后也承认是 Svelte 的“粉丝”,因为它“易于使用”。除此之外,SolidJS 和 AlpineJS 也收到了很多赞誉。
后端框架
相比前端框架“打得火热”,后端框架就显得一派平和:Express 再次毫不意外地稳居第一。Bogdan N. 将 Express 的使用率用一句话概括:“只要你是后端开发人员,就必须了解 Express。”
不过过去一年也出现了许多新后端框架,如 Astro 和 SvelteKit,而在这之中,Bogdan N. 认为目前 Remix 热度最大。
除了前端和后端框架,测试工具、移动端和桌面端应用框架、构建工具等均没有发生太大变化:
测试工具方面,使用最多的依旧是 Jest 和 Mocha;
移动端和桌面端应用框架中,Electron 和 React Native 占据前两名,Cordova 和 Ionic 紧随其后。同时,Bogdan N. 预测用于构建更小更快的跨平台桌面应用 Tauri 框架接下来可能会随着新版 Flutter 的到来而加强竞争力;
构建工具上,也依旧是 webpack、tsc CLI 等老面孔,但 Bogdan N. 有点看好 Vite:“我觉得 Vite 将在明年被广泛采用。”
谷歌的 Go 和 Flutter 也值得关注
过去几年,除了 JavaScript,Bogdan N. 认为谷歌的 Go 和 Flutter 也值得关注。
近几年,许多后端开发人员应该发现了一个现象:Go 语言的使用率变得越来越高,这可能与 K8s 有关——K8s 是用 Go 编写的,而在云原生趋势下,很多企业开始使用 K8s。
作为谷歌推出的一款开源 UI 工具包,Flutter 在 UI 工具上也占据一席之地。在 2021 谷歌开发者大会上,Flutter 产品经理樊舟颖表示,Flutter 已经成为全球最受欢迎的跨端 UI 工具包,年增长率高达 49%,其社区成员已超过 300 万,在 Google Play 上架的 Flutter 应用超过 35 万款。
不仅如此,众多国内企业也在 Flutter 上倾力投资:字节跳动在旗下超过 70 款应用中使用 Flutter、腾讯旗下微信、绝地求生等应用中也有 Flutter 的身影。
之所以会选择使用 Flutter,不仅是因为开发效率上的显著提升,也在于它的容易上手。Bogdan N. 推荐道:“我强烈推荐将 Flutter 用于快节奏项目,并且非常适合初创公司。”
看到最后,或许会有部分全栈开发者发出疑惑:那 C#、C++、Ruby、Swift、无服务器架构、Rust、微前端和 Web 3.0 等等呢?Bogdan N. 遗憾表示:“这些内容超出了我的专业领域。”
因此,如果你有更多需要补充的内容,欢迎在评论区留言分享~
参考链接:https://bognov.tech/full-stack-development-in-2022-trends-frameworks-and-languages#heading-javascript
《新程序员003》正式上市,50余位技术专家共同创作,云原生和数字化的开发者们的一本技术精选图书。内容既有发展趋势及方法论结构,华为、阿里、字节跳动、网易、快手、微软、亚马逊、英特尔、西门子、施耐德等30多家知名公司云原生和数字化一手实战经验!
☞