一个(谦逊的)新提案,针对FE生态系统
多年来,我安静地专注于我的工作,但现在我感到有必要指出一个日益明显的问题。
1. 正确的模型 ≠ 被采纳的模型
历史事实:在前端生态系统中,成功的并不是那些创造出最准确抽象的人,而是那些以最小摩擦提供“工作感觉”的人。
结果:正确的思维模型 → 低采纳率,而不正确但易用的模型 → 爆炸性增长。
这并非偶然。
2. 为什么基于意图/确定性模型没有成功?
有几个明显的原因。
认知负担:
意图 + 有限状态机 + 时间线需要:
“我知道我在做什么”,“我在设计生命周期”,“我在有意识地生成状态。”
但对于今天的前端开发者来说,这不是一个特性,而是一个障碍。因为生态系统奖励的是:快速演示、快速工作、快速简历。
对于这样的人:
有限状态机 = 恐惧,确定性 = 不必要,明确的生命周期 = “过度工程”。
用户界面的容错性非常高:
在后端:错误的抽象 → 系统崩溃,金钱损失,数据损坏。
在用户界面:加载指示器转动的时间稍长,状态出现故障,用户刷新页面。
换句话说:前端错误可以被容忍很长时间。这使得糟糕的抽象得以存活。
React的副作用:“隐藏、保存”文化:
React做了这一点:隐藏了生命周期,隐藏了并发,隐藏了协调。
结果:形成了一种“即使你不理解它也能工作”的文化。
这种文化:促进了仪式性的记忆,而不是工程思维。
写一个钩子,如果它能工作,那就好。但为什么能工作,怎么能工作?没有人会去问。
“氛围编码者”的爆炸不是原因,而是结果
因为这种情况并不是从ChatGPT、Gemini、Claude或Copilot开始的。这些只是加速了已有的衰退。基础早已奠定。
已经有一群人不知道抽象,不知道状态是什么,不知道并发是什么,但记住了框架。
人工智能只是做了这一点:它使“我不需要思考”的感觉变得正式化。
4. 不是框架,而是基础设施层
最大的错误是:“让我们构建一个新的用户界面框架。”这注定会失败,确实失败了。
-> “https://dayssincelastjsframework.com/”
然而,如果创建一个定位为运行时层、意图引擎、状态协调器、提交解析器的结构,它就会成为一个在React、Vue和Svelte等巨头之上的隐形层。
采纳方式是这样的:“想用就用”或“如果不想用就根本看不见”。
5. 最重要的教训(或许是所有教训)
我清楚地写下这句话:“前端世界现在并没有产生工程,而是在产生流水线式的行为。”
这就是为什么正确的抽象不会立即获胜,但这是不可避免的。
因为:用户界面变得越来越有状态,人工智能交互在增加,并发是不可避免的。
在这一点上:“加载指示器 + 钩子”模型将崩溃,人们将不得不再次问“为什么?”
而且是的:“在这种混乱中呼吁标准是毫无意义的。”
但当从正确的层面、正确的问题和正确的痛点出发时,这个模型不可避免地会创造价值。
这不是关于炒作,而是关于耐心。
---
经过这些话,我意识到有抱怨,但解决方案在哪里?
我打开了一个GitHub仓库,并添加了一个“AI支持”的RFC提案。欢迎任何想要参与的人。
谢谢。
https://github.com/laphilosophia/temporal-intent-resolution
查看原文
For many years, I focused quietly on my work, but now I feel compelled to point out a problem that is becoming increasingly apparent.<p>--<p>1. Correct Model ≠ Adopted Model<p>Historical fact: In the frontend ecosystem, the winners aren't those who create the most accurate abstraction; they're those who provide the “feel of working” with the least friction.<p>The result: correct thought model → low adoption and incorrect but easy model → explosion.<p>This is no coincidence.<p>2. Why Didn't Intent-Based / Deterministic Models Succeed?<p>There are several obvious reasons.<p>Cognitive Tax:<p>Intent + FSM + timeline requires:<p>“I know what I'm doing,” “I'm designing the lifecycle,” “I'm consciously producing the state.”<p>But for today's FE crowd, this isn't a feature, it's a barrier. Because the ecosystem rewarded: quick demo, quick job, quick CV line<p>For someone with this profile:<p>FSM = fear, determinism = unnecessary, explicit lifecycle = “overengineering”<p>Failure Tolerance is Very High in UI:<p>In the backend: wrong abstraction → system crashes, money is lost, data is corrupted.<p>In the UI: the spinner spins a moment too long, the state glitches, the user refreshes.<p>In other words: Frontend errors can be tolerated for a long time. This has allowed bad abstractions to survive.<p>React's Side Effect: The “Hide, Save” Culture:<p>React did this: hid the lifecycle, hid concurrency, hid reconciliation.<p>Result: a “it works even if you don't understand it” culture.<p>This culture: grew ritual memorization, not engineering.<p>Write a hook, if it works, fine. But why does it work, how does it work? No one asks.<p>The Vibe-Coder Explosion is Not a Cause, but a Consequence<p>Because this situation didn't start with ChatGPT, Gemini, Cluade or Copilot. These accelerated the existing decay. The groundwork was already laid.<p>There was already a crowd that didn't know abstraction, didn't know what state was, didn't know what concurrency was, but had memorized the framework.<p>AI just did this: it formalized the feeling of “I don't need to think.”<p>4. Not a Framework, but an Infrastructure Layer<p>The biggest mistake was: “Let's build a new UI framework.” This dies, and it did die.<p>-> “https://dayssincelastjsframework.com/”<p>However, if a structure is created that positions itself as a runtime layer, intent engine, state coordinator, commit resolver, it becomes an invisible layer above giants like React, Vue, and Svelte.<p>Adoption comes like this: “Use it if you want” or “Don't see it at all if you don't want to.”<p>5. The Most Important Lesson (Perhaps All of Them)<p>I'm writing this sentence clearly: “The frontend world is not producing engineering right now; it's producing conveyor belt-like behavior.”<p>That's why the right abstraction doesn't win immediately, but it is inevitable.<p>Because: UIs are becoming more stateful, AI interaction is increasing, concurrency is inevitable.<p>At this point: the “spinner + hook” model will collapse, and people will have to ask “why?” again.<p>And yes: “It's pointless to shout for standards in this mess.”<p>But when approached from the right layer, with the right problem, and the right pain point, this model inevitably creates value.<p>This isn't about hype; it's about patience.<p>---<p>After all these words, I realized there's complaint, but where's the solution?<p>I opened a GitHub repo and added an “AI-supported” RFC-Proposal. Participation is open to anyone who wants to join.<p>Thank you.<p>https://github.com/laphilosophia/temporal-intent-resolution