随着科技行业的快速发展,许多企业对全栈开发人员的需求持续上升——全栈开发人员就像是“全能选手”,他们有能力解决软件开发过程中各个层面的各种问题:他们既可以开发客户端应用,也可以开发服务器应用,甚至可以设计产品。随着全栈开发的趋势越来越流行,全栈开发者的群体也在不断壮大:无论是2020年还是2021年,在知名技术问答网站Stack Overflow的年度调查报告中,全栈开发工程师一直是最主流的开发者类型。但由于全栈工程师忙于软件开发的方方面面,难免会忽略一些行业趋势。因此,全栈开发者波格丹一世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语言是最好的编程语言。”波格丹一世·n认为,“如果它对莱纳斯来说是一门好语言,那么对我们其他人来说就足够了。”而且Java不仅仅是“企业之王”——谷歌、网飞、亚马逊等科技巨头都或多或少的使用Java,大部分Apache项目也是用Java编写的。博安把Java总结为:“学会Java和Spring框架,你就永远不会失业。”除了前三名,波格丹一世·n认为排名第八的PHP也不容忽视:“Javascript之前有PHP,Javascript之后有PHP。”
自1995年推出以来,PHP近年来一直在迭代,试图改善开发体验。目前主要作为Web的后端语言,有Laravel和Symfony两大框架。虽然近年来出现了“PHP已死”的传言,但这丝毫没有影响PHP的应用:据说使用PHP语言开发的开源免费博客引擎WordPress正在支持超过33%的网站。
第二,重要的Javascript报告
对于大部分全栈开发者来说,Javascript也一定是非常熟悉的语言,恰逢Javascript 2021年度报告正式发布,这也是一份非常重要的调查报告。
前端框架

总的来说,“三巨头”前端框架还是React、Angular和Vue,但从结果中可以看出,Svelte近年来吸引了不少关注,应用范围也逐渐扩大。甚至波格丹一世·n·在试用后也承认自己是“苗条”的“粉丝”,因为它“容易使用”。除此之外,SolidJS和AlpineJS也获得了不少好评。
后端框架
相比前端框架,后端框架更“火爆”:Express再次排名第一,不出所料。博安用一句话总结了Express的使用率:“只要你是后端开发者,就一定了解Express。”然而,在过去的一年中出现了许多新的后端框架,如Astro和SvelteKit,其中波格丹一世n .认为Remix是目前最火的。除了前端和后端框架,测试工具、移动和桌面应用程序框架以及构建工具都没有太大变化:
测试工具方面,Jest和Mocha仍然是最常用的;
在移动和桌面应用框架中,Electron和React Native占据了前两位,其次是Cordova和Ionic。同时,波格丹一世·n .预测,用于构建更小更快的跨平台桌面应用的Tauri框架可能会随着新版Flutter的到来而加强其竞争力;在构建工具方面,还是webpack、tsc CLI等老面孔,但波格丹一世n .有点看好Vite:“我觉得明年Vite会被广泛采用。”

第三,Google的Go和Flutter也值得关注。
在过去的几年里,除了Javascript,波格丹一世·n认为谷歌的Go和Flutter也值得关注。这几年很多后端开发者应该都发现了一个现象:Go语言的使用率越来越高,这可能和K8s有关——K8s是用Go编写的,在云原生趋势下,很多企业开始使用K8s。
作为Google推出的开源UI工具包,Flutter在UI工具中也占有一席之地。在2021年谷歌开发者大会上,Flutter产品经理范周莹表示,Flutter已经成为全球最受欢迎的跨端UI工具包,年增长率高达49%。它的社区成员已经超过300万,Google Play上有超过35万个Flutter应用。不仅如此,国内很多企业也对Flutter投入巨大:字节跳动在70多个应用中使用Flutter,腾讯的微信、绝地求生等应用也有Flutter。之所以选择Flutter,不仅是因为开发效率的显著提升,更是因为它的易用性。博安n .推荐,“对于快节奏的项目,我非常推荐Flutter,它非常适合创业公司。”
最后,一些全栈开发者可能会疑惑:C#、C++、Ruby、Swift、无服务器架构、Rust、微前端、Web 3.0等等呢?博安遗憾地说,“这些内容超出了我的专业领域。”
如有更多内容补充,请在评论区留言分享~


