要么更新,要么消亡

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

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

语言

如果大家想了解哪种语言最受欢迎,又不知道该到哪里寻找答案,这里我们推荐 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 等等。