《架构师》2022年4月
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

理论派 | Theory

2022年全栈开发展望:趋势、框架与语言

作者 Bogdan N 译者 核子可乐

要么更新,要么消亡

科技行业就是这样,不断发展、变化,每天都有新的工具与框架诞生、建立并获得大规模采用。

在这场不变革就消亡的永恒竞逐中,本文希望带大家一瞥现状、梳理趋势并展望行业的前进方向。

语言

如果大家想了解哪种语言最受欢迎,又不知道该到哪里寻找答案,这里我们推荐TIOBE:

Python已经成为当前的王者,C与Java紧随其后。下面咱们快速过一遍让这些语言占据优势地位的独门绝技。

Python

Python的核心卖点就是简单易懂的语法,与几乎等同于伪代码的超高代码可读性。

“你不能直接把伪代码复制 - 粘贴到程序里,然后指望它能跑通。”

Python:“那你可就说错了,老哥”。

Python社区拥有能满足开发者一切需求的库;虽然总有人觉得Python代码运行速度缓慢,但没人敢对它的广泛适用性说不。目前,大部分涉及数据科学或机器学习的项目都仰仗于Python,更不用说它还拥有目前最具人气的三大Web框架:Django、Flask与FastAPI。

Python可以说是初学者们的完美语言,同时也有着广泛的行业应用度。如果大家不知道自己的Python学习之旅该如何起步,不妨先从选择最佳环境开始:

我的Python环境越来越慢,逼着我把笔记本快升级成超级工作站了。

延伸阅读:《总有一款xkcd适合你》(https://xkcd.com/1987/

C

C语言既不时髦、也不酷炫,但它无处不在、也无所不能。无论是操作系统、还是嵌入式编程,就没有C玩不转的场景。Git和Linux的大部分代码也是由C编写而成。

延伸阅读:《如果连Linus都觉得C够用,那它对绝大多数人肯定是够用的》(https://youtu.be/CYvJPra7Ebk

Java

由甲骨文掌控的Java堪称企业应用之王。谷歌、Netflix、亚马逊等科技巨头都在用这样或那样的方式使用着Java语言。

大多数Apache项目也是用Java编写的 —— 为什么会这样?感兴趣的朋友可以看看这条HN回复(https://news.ycombinator.com/item?id=9249913)。

学完Java再学Spring,这样你就永远不用担心失业了。如果大家不知道该从哪里学起,请参考此博客上关于Java和Spring的文章和教程。起首第一篇:《如何制作你的第一个API》(https://bognov.tech/starting-with-spring-boot-how-to-make-a-restful-get-endpoint)。

PHP

在JavaScript之前有PHP,在JavaScript之后还有PHP。

这门语言多年以来经历了无数次迭代,始终以改善开发者体验为目标。如今,PHP主要作为Web上的后端语言,并坐拥两大框架:Laravel与Symfony。

但PHP能够真正流行起来,依靠的还是WordPress。如果大家还没听说过或使用WordPress,不妨赶紧一试。虽然我们拿不出确切的统计数据,但传说三分之一以上的Web内容都由WordPress支撑提供。

为什么?因为它能轻松便捷地设置、设计并准备开发者需要的一切功能,就连电商平台这样的复杂项目也不在话下;它还提供数百万种插件,即使是毫无编码基础的人也能快速上手。

作为完美的CMS(内容管理系统)解决方案,用户可以在一天之内就建立起包含博客功能的网站,同时专注于SEO(营销人士特别喜欢WordPress,因为它极大降低了搜索优化的门槛)及其他各类业务需求。

如果你听有人说PHP快挂了或者已经不行了,千万别信这种胡话。看看Web世界,看看PHP还活跃在多少网站当中。

当程序员们讨论哪种编程语言快挂了。

JavaScript

不久之前,《2021年JS现状报告》刚刚发布。虽然得票率不高,但JavaScript在开发社区中仍广为人知、也值得关注。特别是那些完全没接触过JavaScript的朋友,请马上延伸这方面认知。另外,JavaScript中的大部分工具 / 框架也能与TypeScript配合使用。

前端框架

前端框架的前三甲选手可谓稳如泰山,仍然是React、Angular与Vue:

去年,Svelte曾经引起过不小的轰动。如今它正逐渐在市场上巩固自己的份额,说明文档大有改进,我本人也在体验过一段时间之后为它友好的上手难度所吸引。

但Svelte肯定不是唯一值得关注的新势力,业界对于SolidJS和AlpineJS同样赞誉有加。

后端框架

结果基本在大多数人的意料之中。身为后端开发者,掌握Express肯定是最基本的要求:

但过去一年中,大量新兴工具的快速涌现同样令人印象深刻:

结合个人体会,我认为Remix是目前讨论热度最高的后起之秀,而Astro与SvelteKit也应该能闯出自己的一片天地。

测试

测试?真有人做测试吗……

只是开个玩笑,TDD(测试驱动开发)现在还挺热门的。

而且跟以往一样,Jest与Mocha继续双雄争霸。

愈发臃肿的移动与桌面应用

打开Discord桌面应用,我们可以像查看常规网站一样检查里头的源代码。都是JavaScript,熟悉吧?更准确地说应该是TypeScript,不过大差不差啦。

Electron与React Native的领先相信早在大家的预料之中,紧随其后的则Cordova和Ionic。

考虑到Flutter的到来,对于Tauri竞争地位与市场占有率的后续关注可能会很有趣。

 

 

Build工具

没什么特别的,我唯一的预测就是Vite将在未来一年内得到广泛应用。

在这里,我们看到了Axios、Lodash、Moment和Redux等的身影。确实没什么新奇之处。

在榜单之外,推荐大家了解了解Redux和Tailwindcss。

 

谷歌的小算盘

过去几年来,谷歌一直在着力完善自己的工具集,咱们就针对这方面聊一聊。至于已经被说烂了的Kubernetes和糟糕的搜索引擎,那些不在本文的讨论范围内。

Go

如果您正好是位后端开发者,可能已经注意到Go语言的采用率正节节攀升。考虑到K8s就是用Go编写的,而且在企业中的普及度不断上涨,我个人肯定要密切关注Go语言及其生态系统。

Flutter

谷歌一边羡慕Facebook(现在的Meta)能搞出自己的React Native,一边又急于摆脱Electron,最终的答案就是Flutter。虽然谷歌似乎是把太过期望和野心都硬塞了进来,但不得不说Flutter和Dart还真挺容易上手。

去年我就用Flutter + Firebase规划过一个多平台项目。MVP的设置和制作都很简单,我强烈建议大家在快节奏项目中亲自尝试。只要各位不是强迫症式的完美主义者,这套组合堪称初创企业的最佳方案。

还有什么?还有很多,要看你关心什么。

还有什么?

Terraform、无服务器架构、Rust、微前端以及关于Web 3.0的一切:区块链、加密货币、NFT等等。

免责声明:本文没有谈到C#、C++、Ruby、Swift和R等,因为这些真是我的知识盲区了,非常抱歉。另外,感谢全栈开发人员、SRE、scrum大师兼艺术家Joan Cornellà为本文配图。

原文链接

https://bognov.tech/full-stack-development-in-2022-trends-frameworks-and-languages