2022年语言和框架我们值得关注什么?

简介: 前端新技术一如既往的更新迭代快:前几天 Next.js 大会,邀请了 vercel 的 CEO 来讲 vercel 的认知。顺带推出了 turbopack,号称比 webpack 快 700 倍,比vite 快 10 倍。又有很多前端同学在问,我们要学 Rust 了吗?新的内容更新迭代太快了,我们跟不上?今年的终端 D2 会有哪些内容?会不会讲 Rust ?

作者 | 蒲松洋-秦粤

来源 | 阿里开发者公众号



大家好,我是秦粤。最近我其实收到了很多朋友的疑问,面对层出不穷、不断个性的语言和框架,到底应该关注什么?恰好今年我又是第十七届 D2 大会「语言与框架专场」的出品人,想和大家聊下这个问题。


我在做出品人之前,特别好奇 D2 每年那些对技术发展的预判是怎么做出来的?例如 React,Vue,Serverless 等等话题。不知道你会不会也好奇,D2 每年的内容是如何产生的?筛选机制是什么?这背后,也反映着着行业的变革和技术的趋势......




大家在关注什么?

我是 2019 年第一次做 D2 的出品人,D2 的前身「前端技术论坛」已经举办了 16 届,相信有很多前端同学对它已经非常了解了。2022 年,结合阿里巴巴的前端和客户端融合的趋势,D2 今年也升级为了终端技术大会。而今年 D2 也是我第三次做语言与框架出品人。

过去两届 D2 我从会后在知乎和一些前端同学笔记中,可以看到不少同学还是能 get 到我的用意的:语言与框架专场上,主要在引入函数式编程和数据驱动,此外也是想让前端开发者对我们前端依赖的基础设施--浏览器和 JavaScript 生态有所感知。

image.png


这是因为我所接触的大多数前端工程师,都以业务需求和应用开发为主。大多数时候都是在卷前端开发效能,不停的在应用层研究提速轮子。我就在想有没有另外的一些可能:例如像 Rescript 那样创建一门前端语言,从语言层面改变前端开发的生态,或者 RxJS 那样的函数式开发框架,通过函数式编程解决前端开发引入的“副作用”?

今年 D2 转变到终端 D2 的大会,加入了客户端的同学,“客户端”在我映象中最近几年好像并没有特别新的技术,至少我的认知还在 Swift 和 Kotlin 上面。当我跟几个阿里的客户端同学沟通了一下,发现大家的认知是一致的,因为 Swift 和 Kotlin 都远远还没有到普及的地步。我也在想,我们今年 D2 是不是可以多讲一些成熟的语言和框架,讲讲 Product Ready 的技术。

我在做 D2 的话题选择或每年的技术推衍时,经常会参考 2 个资料:Gartner 的《技术成熟度曲线》和 ThoughtWorks 的《技术雷达》。




技术成熟度曲线

实际上,的确很多新兴技术没有到普及就被抛弃了,Gartner 每年都在做的技术成熟度曲线(需付费咨询),预言了每门技术的发展规律:诞生的促动期,期望膨胀峰值期,泡沫破灭谷底期,稳步爬升光明期,实质生产的高原期。新兴技术前期在任何一个时期都可能夭折消失,而只有生态健壮的和市场认可的技术才能一直走到高原期,持续推进延续它的生命。

image.png


thoughtworks 的技术雷达(免费下载链接见文末),也会圈出每年新晋的技术和移入移出的技术。技术雷达是通过推荐你是否采纳到生产环境的维度考虑的。

image.png


因此今年终端 D2,除了那些新兴的促动期,还在全栈疯狂 hype 的技术,我们也会引入一些日趋成熟(稳定高原期)的技术。




2022年语言和框架我们值得关注什么?

今年我们最大的感受就是寒气逼人,不过越是低谷期,越应该调整心态,通过积极学习去积攒实力。做技术的优势就是确定性比较高,即使市场再动荡,但是底层的很多基础是不变的。想起我 2020 年前端艺术家沙龙的一张 PPT,大家共勉。

image.png


2022 年在前端开源社区依旧活跃。除了 QuickJS 外,还有前段时间充满争论的 bun.js,最近还有横空出世的 turbopack。跟前端生态不同的是,我所接触的客户端开发者,则普遍有种悲观情绪,感觉移动互联网的风潮已经过了,上升通道正在关闭。这点也是我们做终端人才融合一个初衷:客户端和前端工程师不应该是技术隔离的,而融合后应该是根据业务分层的:应用开发终端工程师和基础架构开发终端工程师。“T 字”型的结构:应用开发跟贴近业务,专注业务领域建模;基础架构开发贴近技术规范演进,用技术推进业务发展。

image.png


所以今年我们 D2 语言与框架,准备引入的应用层 Product Ready 的内容有:


Java 的函数式编程 Kotlin 和苹果的 Swift 最佳实践。Swift 和 Kotlin 发展到今天也已经是前后端通用的语言了,有各自的开发生态。对于客户端的同学也可以通过这些语言切换到后端服务开发。我一直秉持在云原生发展到今天,后端的服务架构早就已经与开发语言无关了,我们完全可以用自己熟悉的各种语言去做后端开发。掌握着 2 门语言的开发者也可以体验一波客户端 + 后端的全栈了,全栈工程师虽然近些年提的少了,但是全栈的视角更加通透,对于无论业务侧的问题和基础侧的问题,都有更多的解法和认知。


基础架构层的课题有:NoSlate 框架和 turbopack。NoSlate 是新生代轻量化 Javascript 容器方案,由阿里 Midway 团队出品,让你单台服务器也可以秒变 Serverless。turbopack 比较出名了,最近 vercel 的 CEO 亲自案例,号称比 vite 快 10x,还引来的 evan 的讨论。终端可以看看 Rust 改造的又一案例,何如?


当然以上这些内容还没有最终定稿,还在投票筛选中。同学们你如果有好的话题也欢迎投稿给我们。也可以对自己感兴趣,想听的上面内容进行留言投票。




结尾

听说寒气已经传递到大洋彼岸的硅谷了,这个时候更加适合调整好自己的心态,多多学习,积攒实力,抱团取暖。2022 年 D2 终端技术大会准备了 Node.js、Swift/Kotlin、前端工程、Flutter、JS/WASM 引擎、网络、AR/VR/3D、云渲染等前端 & 移动话题,如果你也想进一步了解或者更多的交流,点击这里报名D2希望能与你在 D2 相遇。

but anyway 都希望寒冬早点过去。我还是喜欢"盎格鲁•迅"那句:终端技术要发展,社区生态靠大家。



thoughtworks 的技术雷达(免费下载):

https://www.thoughtworks.com/zh-cn/radar


相关文章
|
关系型数据库 Linux Apache
|
9月前
|
存储 消息中间件 缓存
JUC并发—9.并发安全集合二
本文主要从源码角度介绍了并发安全的数组列表CopyOnWriteArrayList、并发安全的链表队列ConcurrentLinkedQueue、并发编程中的阻塞队列、JUC的各种阻塞队列、LinkedBlockingQueue的具体实现原理和基于两个队列实现的集群同步机制。
|
11月前
|
运维 Kubernetes 网络协议
基于虚拟服务配置的渐进式迁移实践:Istio集群至ASM集群的平滑切换
本文介绍了从Istio+k8s环境迁移到阿里云ASM+ACK环境的渐进式方法,通过配置虚拟服务和入口服务实现新老集群间的服务调用与流量转发,确保业务连续性与平滑迁移
917 135
|
9月前
|
人工智能 前端开发 Java
十几行代码实现 Manus,Spring AI Alibaba Graph 快速预览
Spring AI Alibaba Graph 的核心开发已完成,即将发布正式版本。开发者可基于此轻松构建工作流、智能体及多智能体系统,功能丰富且灵活。文章通过三个示例展示了其应用:1) 客户评价处理系统,实现两级问题分类与自动处理;2) 基于 ReAct Agent 的天气预报查询系统,循环执行用户指令直至完成;3) 基于 Supervisor 多智能体的 OpenManus 实现,简化了流程控制逻辑并优化了工具覆盖度。此外,还提供了运行示例的方法及未来规划,欢迎开发者参与贡献。
|
设计模式 IDE Java
谈谈过度设计:因噎废食的陷阱
写软件和造楼房一样需要设计,但是和建筑行业严谨客观的设计规范不同,软件设计常常很主观,且容易引发争论。
3158 4
谈谈过度设计:因噎废食的陷阱
|
消息中间件 存储 资源调度
订单超时怎么处理?我们用这种方案
在电商业务下,许多订单超时场景都在24小时以上,对于超时精度没有那么敏感,并且有海量订单需要批处理,推荐使用基于定时任务的跑批解决方案。
2541 92
订单超时怎么处理?我们用这种方案
|
设计模式 Java Maven
一个注解搞定责任链,学还是不学?
在繁琐的业务流程处理中,通常采用面向过程的设计方法将流程拆分成N个步骤,每个步骤执行独立的逻辑。但是这样剥离仍然不彻底,修改其中一个步骤仍然可能影响其他步骤。在这种场景下,有一种经典的设计模式-责任链模式,可以将这些子步骤封装成独立的handler,然后通过pipeline将其串联起来。
1272 173
一个注解搞定责任链,学还是不学?
|
SQL 关系型数据库 数据库连接
`pg_dump` 和 `pg_restore`
`pg_dump` 和 `pg_restore`
482 4
|
Java 测试技术 Maven
单元测试运行原理探究
单元测试是软件开发过程中的重要一环,好的单测可以帮助我们更早的发现问题,为系统的稳定运行提供保障。单测还是很好的说明文档,我们往往看单测用例就能够了解到作者对类的设计意图。代码重构时也离不开单测,丰富的单测用例会使我们重构代码时信心满满。
单元测试运行原理探究
|
Web App开发 机器学习/深度学习 人工智能
使用魔搭开发自己的语音AI:从入门到精通
语音AI是最早从实验室走向应用的AI技术,其发展史就是不断创新、解锁应用的历史,从1995年 Dragon Dictate的桌面孤立词语音识别,到2011年苹果的手机语音助手SIRI,再到当下百花齐放的各种智能语音应用。
1411 41
使用魔搭开发自己的语音AI:从入门到精通