目录 卷首语综述 今年技术除了AIGC真没啥看头?别让“网红效应”遮住了真正的创新!1 2023年度技术盘点 争议与热度并存,越来越多开发者正在抛弃他们的旧语言转向Rust17 你当初被谁“忽悠”上了云,现在又在被谁“忽悠”下云?24 挑战Spark和Flink?大数据技术栈的突围和战争36 WebAssembly2023年回顾与2024年展望49 并发王座易主?Java21虚拟线程强势崛起,Go&Kotlin还稳得住吗?60 Andy教授2023年数据库回顾:向量数据库没有技术护城河!没人能靠技术大佬背书“假装成功”71 颠覆软件工程、“杀死”开发者?回溯大模型落地应用这一年83 今年向量数据库“杀疯了”,但纯向量数据库“凉”了?93 金融业采用大模型,是“用大炮轰蚊子”吗?104 大模型时代,我们可以用Julia做什么?114 既怕“错过”又怕“错付”,数字化投入与产出该如何量化122 国产编程语言新拐点:聊聊从Mojo到MoonBit的思考130 2023年十大数字化政策盘点:激活万亿数据,加速提升千行百业数字化服务154 2024技术人如何迎接大模型时代 代码人生攻略:程序员们如何为自己编织一份明朗未来?162 大模型时代下的技术管理“新思维”191 2024年入局大模型,晚了吗?211 大模型应用成本百万级起步,该如何与企业现有信息系统融合?225 2023年度技术盘点与展望|架构师特刊 卷首语 作者:InfoQ编辑部 过去一年,我们经历了许多意外瞬间,或许当时我们感到有些措手不及,但如今再回首,一切都变得一目了然。这正是我们每年对各领域进行盘点的意义所在,我们追求的是在迷雾中找到清晰的方向。 而在2023年,这一盘点显得更为特殊。比尔·盖茨指出,过去12个月人工智能领域发生的事情“与个人电脑或互联网一样重要”。大模型项目在过去一年中如雨后春笋般涌现,这波创新浪潮给各领域都带来了巨大的变化。 在2023年结束之际,InfoQ编辑部重磅推出了一年一次的“年度技术盘点与展望”专题,聚焦AIGC引发的变革,与50多位头部专家深度对话,细数过去一年不同领域的创新和进展,希望能为你揭示未来技术发展方向,明晰不同行业大模型应用思路和路径。同时,我们围绕“2024技术人如何迎接大模型时代”主题,邀请10+位专家进行直播对话,探讨不同岗位的技术人/数字化人才,如何应对大模型时代带来的新变化、新挑战,2024年需要聚焦什么方向、做好哪些准备等。 在这场盘点中,我们也收获了关于技术圈的2023、2024的许多精彩观点和认知,比如: •2023年,大前端领域的各种语言和技术边界都在面临打破和重建;在性能和应用元框架领域,大前端技术处处都在孕育着新的可能性;国产自研终端OS的爆发,将能打破国内移动原生软件平台生态双足鼎立的现状,对国内大前端领域从框架到工程 到行业分工提出新的机遇和挑战,而鸿蒙与安卓彻底分家,虽然会带来生态体验的风险,但也代表着新岗位的出现; •2023年,Golang成为国内诸多大厂主流或最热门的编程语言,Golang相关的开源中间 件生态繁荣,竞争加剧;Rust成为最有潜力的编程语言,诸多大厂纷纷投资入局,新的Rust微服务框架如Volo推动Rust在企业内部更广泛落地; •2023年,在大模型技术的加持下,编码工具能力边界得到了进一步拓展,2024年,基于大模型的编程能力的工具软件将逐渐落地,越来越多的开发者将开始使用大模型进行辅助编程; •2024年,向量数据库会弱化为数据库索引特性,通过一体化能力与其他数据库系统 集成,而从技术和需求来看,传统数据库均会快速具备向量特性; •2024年,可以期待AI在架构领域应用增多:AI技术将更广泛地用于架构设计,包括AI 辅助设计、决策支持与建议、智能监控等方面,从而提高架构设计的智能水平; •…… 综述 今年技术除了AIGC真没啥看头?别让“网红效应”遮住了真正的创新! 作者:Tina、褚杏娟 过去一年,我们经历了许多意外瞬间,或许当时我们感到有些措手不及,但现在回首一望,这一切都变得一目了然。这正是我们每年对各领域进行盘点的意义所在,我们追求的是在迷雾中找到清晰的方向。 而在2023年,这一盘点显得更为特殊。比尔·盖茨指出,过去12个月人工智能领域发生的事情“与个人电脑或互联网一样重要”。大模型项目在过去一年中如雨后春笋般涌现,这波创新浪潮给各领域都带来了巨大的变化。 然而,除了AIGC领域取得的突破外,在前端、架构、运维和云计算等领域中,也涌现了一系列引人瞩目的进步和革新。在年终盘点之际,InfoQ邀请到了黄玄(Hux)、曹立成 (蒜蓉)、罗广明、董晓聪、杨振涛、张凯,分享在过去一年中各自领域的创新和进展, 为我们揭示未来技术发展方向。 前端遇到麻烦了吗? 前两三年,前端技术的发展相对平稳,主要以React、Vue等成熟框架的演进为主。但今年,前端技术的发展呈现出新的活力。 编程技术的多样化 相比于过去“各司其职”井水不犯河水的光景,今年大前端领域的各种语言和技术边界都在面临打破和重建。 新兴系统语言Rust、Zig已经通过Rspack、Bun这样的工具链切入到广大开发者的日常工作中。而WebAssemblyGC的落地,以及StaticHermes这类JavaScript原生化探索,也继续宣告着大前端技术进一步“下沉”系统的趋势。 另一边,无论是ReactNative、KotlinMultiplatform、Flutter以及国内各大厂自研跨端技术的愈演愈烈,还是Web领域JavaScript框架Next、Remix、Astro、Qwik、Fresh纷纷侵蚀服务端的阵势,则宣告着大前端技术进一步在应用层“泛化”的趋势。 我们有理由相信,虽然由React,Vue引领的声明式编程范式趋于稳定,但是在性能和应用元框架领域,大前端技术处处都在孕育着新的可能性,我们说不定就在大前端又一轮百花齐放的前夜。 终端平台多元化,前端迎来新机遇 在剧烈变化的环境下,大家可能会更关注生存问题,2023年,虽然“前端已死”的论调不绝于耳,但这一年也在终端平台上孕育了新的可能性。 去年6月,在一年一度的科技春晚WWDC上,苹果发布了VisionPro。目前,苹果已正式推出VisionPro应用商店,百万款App准备上架;去年9月,Meta发布Quest3,对打苹果。MR设备设备的发布,表明硅谷并不服气华尔街资本的短视,依然在为元宇宙成为下一代计算平台而蓄势待发,XR与图形作为大前端的一个垂类,值得军备和持续关注。 小米澎湃OS、vivo蓝河BlueOS等国产操作系统先后发布,HarmonyOSNEXT也在去年8月 华为开发者大会上第一次公开亮相。其中,HarmonyOSNEXT的进展受到大量关注,华为的“1+8+N”战略,即以手机为核心的全场景智慧化(物联网)战略,一旦成功了,未来更多厂商OS都会涌现出来,大家都可以摸着石头过河。 这将能打破国内移动原生软件平台生态双足鼎立的现状,大概率会像小程序生态的碎片化一样,对国内大前端领域从框架到工程到行业分工,提出新的机遇和挑战。 鸿蒙大考,你准备好了吗? 今年9月鸿蒙将跟安卓彻底切分,仅支持鸿蒙内核及鸿蒙系统的应用。同时,原生鸿蒙的开发语言以ArkTS为主,不同于iOS开发使用的Swift语言,以及安卓开发使用的Java语言,且不支持打开APK文件,开发环境与IDE深度绑定,这意味着如果使用今年的最新版本,会跟iOS、安卓产生巨大的割裂。 开发者需要维护包括iOS、安卓、Web以及鸿蒙在内的四端体验一致。生态体验是风险,但这对开发者来说,也代表着新的岗位的出现。 在QCon闭门会上,有鸿蒙技术专家透露出一个特别积极的信息:鸿蒙开发供不应求,连外包开发价格都水涨船高。举例来说,假如原来一位外包价格在两千元左右,现在只要做过两个月的鸿蒙功能,价格就翻了一倍。做六个月的,价格可以达到5-6000元以上。 他还表示,鸿蒙项目非常受欢迎,只要沾上边,就会有大批公司去抢人。尤其像美团、京东等公司,开出的价格都很高。 鸿蒙官方表示,首批200+鸿蒙原生应用已启动开发,其中100+完成了鸿蒙原生应用Beta版本。 鸿蒙适配之路,协议是第一步。就像盖房子需要地基一样,没有协议作为基础,开发者就难以下手。设备、教程、专家指导等关键资源,都依赖于双方明确的权利和义务。 有企业向InfoQ表示,其与鸿蒙系统的合作目前仍处于前期阶段,尚未进入驻场开发环节。目前的工作主要集中在备忘录签署和深入调研适配过程所需的开发资源上,包括主应用程序的重写需求评估等。 基于目前的研究,该企业认为适配鸿蒙系统存在一定难度,部分功能可能需要完全重写。 为应对开发过程中的挑战,该企业的内部相关团队已开始进行技术储备。 另一家商业银行表示已完成其鸿蒙应用的第一版demo,该版本基本涵盖了应用所需的功能,得益于采用了类似于H5的开发方式,使得大部分功能得以顺畅实现。然而,正如28定律所言,剩余的20%难题往往占据了80%的时间和精力。在该案例中,最大的挑战在于SDK适配,比如存在一些使用了不同企业的技术的SDK。该银行接下来将专注于解决这一问题,对接SDK并对每个业务进行深度调试,以确保应用的稳定性和功能完整性。 AI会取代前端开发吗? 当然,今年的一切“之最”都离不开2023年作为“生成式AI元年”带来的颠覆性变革,前端也不例外。大家都在研究怎么把这个黑科技融入工作流,让开发效率飞升。不过,也有不少人心里打鼓:“AI不会把我这份前端饭碗端走吧?” 虽然今年还不用担心失业危机,但不可否认,AI确实为前端打开了一扇大门,潜力巨大! 一方面,前端工作流程中的诸多环节,包括PRD到代码,从设计到代码,或者是GithubCopilot、Vercel的v0这样的AI辅助开发,注定它会成为整个行业提效的重要手段。。 另一方面,AI也可以用来解决大前端面对的问题:前端本质上解决的是将信息映射为用户可以理解和交互的表现形式的过程,它在传统上非常依赖我们进行离线化和静态化的分析(比如产品经理的需求分析、交互与界面的设计、软件的硬编码等),而AI为这整个流程带来了一种实时在线的、动态化的可能。 另外,随着大模型兴起,也有了一些AInative独立端开发,豆包、通义都有在做这种纯UI的应用。 截图为“高级前端开发工程师-大模型应用岗位要求” 虽然现在的大趋势还是超级App,但移动互联网进入一个后期阶段后,就是朝着消费者的端智能的方向了。 有更好的架构方法了吗 去年3月,谷歌开源了一个名叫ServiceWeaver的框架。它能够实现简化本地开发,并将模块化单体应用转变为分布式微服务架构,在部署时允许自由配置组件的分布式部署方式,从而应对应用演进过程中的不确定性,并轻松适应组件间交互模式的变化。JeffDean也曾发推称这是他的许多同事,包括其长期合作者SanjayGhemaway开发的系统。 谷歌描述了构建微服务架构的挑战:“维护多个不同的微服务二进制文件的开销显着降低了开发速度”、“分布式系统的问题(故障处理、广泛变化的延迟等)不会神奇地消失”。在去年6月份发布的论文中,谷歌称基于新提出的结构,他们能够将系统的延迟降低15倍,成本降低9倍。 无独有偶,同样在去年3月,AWS也分享了一个案例,PrimeVideo团队将他们的Server-less应用中的部分微服务调整成为了一个单体,称此举节省了90%的运营成本。 谷歌和AWS的这波操作,跟过去十年大部分应用的开发思路反着来的:利用微服务边界进行快速本地开发;保证隔离,以便服务在运送到生产环境时可以组合;将微服务捆绑成大型二进制文件,以简化生产管理和相关服务的并置。 这究竟是架构方法的革新,还是对取舍空间的进一步探索? ServiceWeaver并不是微服务的“解” 从2017年起,微服务进入成熟阶段,微服务改造依然是当前趋势。