Transcript

00:00:00上周,SvelteKit 3 和 Solid 2 发布了发布候选版本。
00:00:08所以还不是完全稳定,但快了。
00:00:10而在几年前,这绝对会是一个相当有趣的话题。
00:00:15你肯定会看到一堆关于它的视频,当然也包括我做的,甚至可能还有一门课程。
00:00:19而现在的问题是,这些还重要吗?
00:00:24新的框架,或者像我们现在看到的这些框架新版本,到底还重不重要?
00:00:30还是说它们已经不重要了,因为有了人工智能,一切不都全靠 React 吗,对吧?
00:00:36而且你为什么还要在意呢?
00:00:38我的意思是,如果人工智能编写了这么多的代码,甚至可能是你所有的代码,你为什么还要关心底层框架或库是什么呢?
00:00:46而我想说的是,你其实应该多关心一点,新的框架和库确实很重要。
00:00:52但当然,我相信获得关注和影响力,比以前要困难得多了。
00:00:59虽然它以前也说不上有多容易,但现在可能更糟了。
00:01:05但我们来深入探讨一下。
00:01:06现在,我不会去细看这些框架或版本的具体内容是什么。
00:01:13不过我会把官方的发布博客链接放在下面,这样你们就可以自行深入了解了。
00:01:17但我得说,这两个版本都相当有趣。
00:01:21事实上,我计划在我的某些新项目(目前是内部项目)中专门使用 SvelteKit 3,来看看它与人工智能的配合效果如何。
00:01:33因为这一点非常重要。
00:01:36反对这些新框架的一个理由,或者说反驳新框架重要性的一个观点是,人工智能有它偏爱的技术栈。
00:01:49而那当然就是 React 之类的技术栈。
00:01:52所以可能是 React 和 Next.js 等等。
00:01:55这确实是事实。
00:01:56这确实是事实。
00:01:56情况绝对是这样的。
00:01:58但事实证明,只要你作为开发者能提供正确的上下文,人工智能在处理新的、未知的事物时也非常擅长。
00:02:09而这一点是不容小觑的。
00:02:12当然,如果你只是随心所欲地用 AI 编程,对它的引导毫不关心,也不在乎它做出的任何决定。
00:02:21也就是说,如果你在进行氛围编程(vibe coding),这对某些一次性项目或用完即弃的软件来说可能没问题。
00:02:28但如果你那样做,那么理所当然地,它不一定会知道 SvelteKit 3 版本是什么。
00:02:35而且你也不会在意这一点。
00:02:37你甚至都不会告诉人工智能去使用那个版本。
00:02:39所以很明显,在新框架或库的世界里,这种用法确实没有它们的立足之地。
00:02:46但显然,开发并不全都是氛围编程。
00:02:48它有它适用的场景。
00:02:50我不知道氛围编程在几年后会扮演什么角色,这些技术选择又会扮演什么角色,以及几年后这些是否还重要。
00:03:00但就目前而言,通过实际去引导人工智能,你绝对能从中获得巨大的收益。
00:03:07这么说其实有点保守了。
00:03:08而且你确实应该去引导人工智能。
00:03:11我们作为开发者的角色正在发生改变。
00:03:15我们依然应该控制我们构建的内容以及我们如何构建它。
00:03:19我们不一定非得亲手编写代码,这并不意味着我们不应该关心代码、架构以及我们所做的决定。
00:03:29这一点比以往任何时候都重要,或者说比以往以往任何时候都要重要。
00:03:34我认为现在选择某个框架而不是另一个框架的原因已经变了。
00:03:42你知道,早在 2019 年左右,在众多框架中选择某个特定框架的一个主要原因,当然就是开发体验。
00:03:54作为开发者,你使用它时是否有一段美好的时光?
00:03:58所以这显然很重要,因为你要花大量时间在某个框架或某个库中编写代码。
00:04:04因此你显然希望有个好的体验。
00:04:06当然,现在你并不总是有这种选择权。
00:04:09你可能受雇于某家公司,被迫只能使用某个特定的框架或库。
00:04:15但作为一名开发者,取决于你工作的公司,尤其是如果你是自由职业者,你完全可以——而且最重要的是——对如何做出决策以及使用哪些技术拥有一定的话语权和影响力。
00:04:29所以,如果一个框架拥有良好的开发者工效学(developer ergonomics),或者它能提供优质的开发体验,这在过去绝对是很重要的。
00:04:41当然,那不是唯一的因素,过去性能也很重要,包大小也很重要。
00:04:46然后还有其他可能重要的事情。
00:04:49例如,如果我们谈论 JavaScript 前端框架等,使用某个给定的框架来实现服务器端渲染(SSR)究竟有多难或多容易。
00:04:58所以有很多重要的方面,但开发体验(DX)方面的因素现在不那么重要了。
00:05:05我想说的是,开发体验现在真的没那么重要了。
00:05:10现在,真正重要的是人工智能体验(AI experience),我不知道该怎么称呼它,是叫 AX 吗?
00:05:16这当然是非常重要的。
00:05:19而像性能、包大小以及所有这些东西,当然也依然很重要。
00:05:27我会说,有了人工智能之后,由于人工智能吐出代码的速度如此之快,你使用哪个框架实际上可能变得不那么重要了。
00:05:43但既然切换比过去更容易了,你就可以真正去审视并关注哪些方面对你正在开发的应用程序和项目最重要,找出对你而言最关键的东西,然后找到最适合该需求的框架或库并直接使用它。
00:06:00你根本不必去关心开发体验或诸如此类的事情。
00:06:03而且我想说,你甚至不需要像以前那样过多地关心生态系统。
00:06:07生态系统当然仍然很重要。
00:06:09它是一个因素,例如如果你正在使用 React,你显然是在为一个庞大的生态系统买单。
00:06:17你有 ShadCN,还有一堆其他的库。
00:06:20但其中一个变得不那么重要的方面——对我来说挺不幸的——就是某种技术拥有的教程数量。
00:06:29因为同样地,你可能不再需要自己编写代码了。
00:06:33所以这是另一个不再那么重要的方面。
00:06:35还有生态系统的另一个部分,也就是各种库等等,嗯,当然,有这些很好。
00:06:41但人工智能非常擅长构建你想要它构建的任何东西。
00:06:46如果你想要一个属于你自己的 Svelte 版 ShadCN(我知道现在已经有了 Svelte 版的 ShadCN)。
00:06:54但如果你想为某个只存在于 React 中、而在你喜欢的框架中没有的库构建你自己的版本,你只需要让 AI 去做就行了。
00:07:02你大可以要求人工智能去 fork 某个流行的 React 库并把它移植到你最喜欢的框架中。
00:07:11现在,对于你构建的每一个小型业余演示项目来说,这可能不值得花费精力,但对于较大的项目,它非常值得。
00:07:19你完全可以做这样的事情。
00:07:21所以,实际上我想说生态系统依然重要,但已经没有过去那么重要了。
00:07:28现在,真正重要的是——我之前提到过——可以说就是人工智能体验(AI experience)。
00:07:33我这话是什么意思呢?
00:07:36这里你所指的可能是各种不同的事情。
00:07:39我的意思是:人工智能要学习或理解你希望它协同工作的那个事物、框架或库,究竟有多容易?
00:07:47以及这个框架能在多大程度上迫使人工智能编写出高质量的代码?
00:07:54我给你们举个例子。
00:07:55这就是 Effect。
00:07:57现在,Effect 并不是一个 JavaScript 前端框架,但它同样是一个 JavaScript 或 TypeScript 库,旨在帮助开发者轻松创建复杂的同步和异步程序。
00:08:08例如,你可以在后端使用它。
00:08:10它包含了很多功能。
00:08:12它真的很了不起。
00:08:13而让 Effect 如此惊艳、并且可能也是它目前在某个特定细分领域受欢迎的原因之一,就是它附带了许多会被积极强制执行的规则。如果你或人工智能编写了错误的代码,它就会对你发出警告或指责。
00:08:35如果你违反了 Effect 库的某些规则——因为它是一个 TypeScript 库,它深度拥抱了 TypeScript,进行了大量的类型检查以及其他许多事情——它真的可以强制你遵循一组特定的规则,以特定方式编写你的程序。
00:08:54当然,当与人工智能协作时,任何能够强制执行规则、并在人工智能凭空捏造东西或试图打破这些规则时对它进行纠正的机制,都会是非常棒的。
00:09:09我想这就是良好人工智能体验的一个方面。
00:09:12与一个强制执行某些规则、并基本上能将你可能犯下的错误数量或代码变体数量降到最低的库或框架进行协作,如果你愿意这样称呼它的话。
00:09:28所以这是一个方面。
00:09:29另一个方面是人工智能学习新事物的难易程度。
00:09:32在这里,关键当然全在于文档,因为我刚才提到过,有了人工智能,你就拥有了一个非常擅长处理新的、未知事物的工具。
00:09:44当然,它内置了关于 React 的所有知识,但在某种程度上,你甚至可以说这是一件坏事,因为它从所有这些公开的代码库中学习了许多不好的模式。
00:09:56但你只需要将人工智能引导至正确的文档页面,或者给它提供合适的技能(skill),它就能在处理某种特定技术时表现得非常非常出色。
00:10:07我一直在这么做。
00:10:09我正在将人工智能与库或框架的新版本结合使用。
00:10:13例如,我正将它用于 Effect,虽然 Effect 不算新,但它的版本 4 是新的。
00:10:18我把它用在一个叫作 Alchemy 的东西上,那是一个云基础设施即代码的解决方案,相当新。
00:10:25你只需把文档交给它,或者像我喜欢做的那样,让人工智能去做一些深度研究。
00:10:31我给它提供一些初始文档并要求它深入挖掘,然后我让它构建一个技能包,我可以把它直接塞进我正在使用某个特定库的项目中,而产生的结果真的非常棒。
00:10:42由于所有这些原因,长话短说,我认为新的框架和库版本依然非常重要。
00:10:49当然,不仅仅是新版本。
00:10:51全新的库和框架也非常重要。
00:10:55只不过原因在某种程度上发生了转变。
00:10:58正如前面提到的,像性能之类的事情将永远重要,因为归根结底,你希望构建的产品是面向最终用户的。
00:11:06而且最终用户可能就是你自己,如果它是一个内部工具或类似的东西的话。
00:11:10但即便如此,你依然需要运行速度快、不会动不动就崩溃的东西。
00:11:14所以这些都很重要。
00:11:16但除此之外,当今更重要的是某个框架或库与人工智能的配合效果如何。
00:11:25而这当然也改变了这些框架和库的开发方式,或者说应该被开发的方式。
00:11:30以及这些框架背后的开发者们的优先级应该是什么。
00:11:34他们应该真正尝试构建这样的东西:能够迫使人工智能以某种特定方式工作,并将人工智能可能犯错的概率降到最低。
00:11:43因为归根结底,我们在这里试图做的事情是:我们正试图将一个非确定性的事物(人工智能)纳入某种确定性的世界中,从而兼顾两者的优势——既获得人工智能的灵活性与速度,又避免它彻底失控并吐出糟糕的代码。
00:12:03所以,是的,我认为新的框架和库在这里扮演着重要的角色。
00:12:09因此,学习这些框架和库的方式无疑已经改变了。
00:12:14你作为一名开发者,很可能不会再花几个小时去看一门宏大的课程来学习一个新的框架或库。
00:12:23你大概会——而且你也理应如此,我确实就是这么做的——花点时间通过文档、YouTube 视频来掌握基础知识,
00:12:33当然也包括课程,这也是在变化的。
00:12:36我正在改变我所制作的内容,因为我相信,为了借助人工智能高效地与任何事物协作(无论它是什么),你需要对自己正在处理的东西有一个基础的理解。
00:12:49你需要理解应该向人工智能索取什么、需要注意什么、潜在的陷阱是什么、最佳实践是什么,等等。
00:12:56所以,你学习事物以及决定使用什么的方式确实在发生变化。
00:13:00但这并不意味着围绕框架和库的创新就不再重要了。
00:13:06我认为它比以往任何时候都更加重要,因为我认为这里有广阔的空白地带和创新空间,需要能够给人工智能提供更清晰规则的框架。
00:13:16当然,也永远需要那些能让我们构建出更快、性能更高、更少出错等应用程序的框架、库和工具。
00:13:26因为归根结底,正如我所提到的,无论有没有人工智能,这才是我们所有人都应该努力去做的事情。

Key Takeaway

人工智能的普及并未削弱新框架与库的重要性,反而将选择标准从传统的开发体验转向了与人工智能高效协作的人工智能体验。

Highlights

  • SvelteKit 3 和 Solid 2 的发布候选版本表明前端框架仍在持续更新。

  • 人工智能体验成为选择框架与库时比传统开发体验更核心的考量标准。

  • 开发者通过向人工智能提供目标框架的文档或自定义技能包,能够高效驾驭新工具。

  • Effect 库通过强制执行严格的类型规则,有效减少了人工智能生成代码时的错误。

Timeline

新框架版本与人工智能时代的 relevance 讨论

  • SvelteKit 3 和 Solid 2 发布了发布候选版本。
  • 人工智能主要偏好 React 等特定技术栈。
  • 氛围编程适用于一次性项目,但无法有效利用新框架的具体版本。

虽然最新框架版本的发布在过去会引发大量讨论,但在人工智能广泛应用的背景下,技术选择受到人工智能偏好的影响。开发者如果只进行不加引导的氛围编程,就无法发挥新框架的优势。然而,通过主动引导,开发者在处理未知技术时依然能获得巨大收益。

开发体验的淡化与人工智能体验的崛起

  • 传统开发体验在选择框架时的重要性有所下降。
  • 生态系统和教程数量不再是决定技术选择的绝对因素。
  • 人工智能能够将 React 风格的库移植到其他框架中。

过去选择框架时看重的开发体验和庞大生态,在代码主要由人工智能生成的时代变得不再那么关键。当某个框架缺少特定库时,开发者可以直接要求人工智能进行移植。这使得框架的选择标准开始发生根本性转变。

人工智能体验的定义与框架规则的强制执行

  • Effect 库通过强制执行严格规则来减少代码错误。
  • 良好的规则强制机制构成了优秀人工智能体验的核心。
  • 向人工智能提供正确的文档和技能包能显著提升其处理新技术的表现。

人工智能体验的核心在于框架或库能否强制执行高质量的代码规则。以 Effect 库为例,其深度集成的 TypeScript 类型检查能够纠正人工智能的错误。同时,为人工智能提供准确的文档和自定义技能包,能使其在处理新版本技术时表现极其出色。

框架演进的方向与开发者学习方式的改变

  • 框架和库的创新比以往任何时候都更加重要。
  • 开发者学习框架的方式转向掌握基础知识和核心陷阱。
  • 框架的核心目标是把非确定性的人工智能纳入确定性世界。

最终用户对性能和稳定性的需求决定了框架创新永远不会过时。新型框架的核心价值在于约束人工智能的行为,降低出错概率。同时,开发者的学习方式也从观看长篇课程转变为通过文档和视频建立基础认知,以便更好地向人工智能下达指令。

Community Posts

View all posts