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


相关文章
|
5月前
|
存储 消息中间件 缓存
JUC并发—9.并发安全集合二
本文主要从源码角度介绍了并发安全的数组列表CopyOnWriteArrayList、并发安全的链表队列ConcurrentLinkedQueue、并发编程中的阻塞队列、JUC的各种阻塞队列、LinkedBlockingQueue的具体实现原理和基于两个队列实现的集群同步机制。
|
8月前
|
人工智能 自然语言处理 算法
大模型 is all you need?
本文旨在通过对业务案例、prompt技巧、大模型原理等探讨,让大家能够更好地在实际业务中应用大模型。
278 16
|
Web App开发 机器学习/深度学习 人工智能
使用魔搭开发自己的语音AI:从入门到精通
语音AI是最早从实验室走向应用的AI技术,其发展史就是不断创新、解锁应用的历史,从1995年 Dragon Dictate的桌面孤立词语音识别,到2011年苹果的手机语音助手SIRI,再到当下百花齐放的各种智能语音应用。
1283 41
使用魔搭开发自己的语音AI:从入门到精通
|
JSON 数据库连接 Go
10个令人惊叹的Go语言技巧,让你的代码更加优雅
10个令人惊叹的Go语言技巧,让你的代码更加优雅
|
Cloud Native 安全 Java
代码圈复杂度治理小结
我们一直在说系统很复杂,那到底什么是系统复杂度呢?作为团队的稳定性底盘负责人,也经常和大家探讨为什么会因为圈复杂度高而被扣分。那么,怎么才能写的一手可读,可扩展,可维护的好代码?本文作者尝试结合在团队内部的实践,分享下过程中心得。
代码圈复杂度治理小结
|
敏捷开发 人工智能 开发者
Code Smell 重构你的日常代码-圈复杂度高多层嵌套
圈复杂度(Cyclomatic complexity)[1]是一种代码复杂度的衡量标准,在1976年由Thomas J. McCabe, Sr. 提出。条件分支越多,圈复杂度越高,测试越难覆盖,也越难维护。随着业务的不断演进,代码的不断新增与调整,如果只在原逻辑下加入自己的新逻辑,就会长出一个超高嵌套的“气功波”代码。
1189 7
Code Smell 重构你的日常代码-圈复杂度高多层嵌套
|
监控 安全 物联网
探索物联网(IoT)的潜力与挑战
【5月更文挑战第21天】物联网(IoT)技术正改变生活,从智能家居到智慧城市,提升生活便利性和工业效率。然而,安全问题、互操作性、成本及法规挑战并存。为实现物联网潜力,需强化技术、法规创新,保障安全与隐私。
|
消息中间件 存储 分布式计算
流计算引擎数据正确性的挑战
按:去年此时发表了一篇文章 《流计算引擎数据一致性的本质》,主要论述了流计算引擎中的数据一致性问题,事实上,该文章只能算作流计算数据一致性的上篇,如何通过流计算中得到真正准确、符合业务语义的数据,需要作进一步阐述。强迫症接受不了这种半拉子工程,所以今年还是陆陆续续把下篇(流计算引擎数据正确性的挑战) 撰写完成。上下两篇文章的主要论点,分别对应了流计算领域中的两大难题:端到端一致性和完整性推理。
流计算引擎数据正确性的挑战
|
设计模式 IDE Java
谈谈过度设计:因噎废食的陷阱
写软件和造楼房一样需要设计,但是和建筑行业严谨客观的设计规范不同,软件设计常常很主观,且容易引发争论。
2882 4
谈谈过度设计:因噎废食的陷阱

热门文章

最新文章