发光小板板

碎碎念

手机触屏坏了,好像整个世界都隔了一层玻璃… ——2026-01-25

实习,上班可能也挺…无聊鸡肋的;但我换了个手机,开始玩原神。
那时,我是玩的挺开心的,在上下班地铁上,在秋冬晚上的被窝里什么都不管的扣手机可能不论怎么讲都是应该感到舒服的事情,可…

另一些碎碎的

从电子产品的角度看,移动互联网的发家史,其实可以看作这块“发光小板板”狠狠雷普了当时带了一堆实体按键的功能机的历史。 实体的物理按键,做成啥样就是啥样了,没法改了;但在这块发光小板板上,你想要什么按键、什么交互,只要性能够,都能画出来。甚至可以闲得无聊写一堆回弹动画——这太神奇了,第一次见的话,也许只是一个带阻尼感的下拉刷新,就足以让一些无聊的人玩上一整天。再加上苹果在小板板里塞了各种传感器,还有神奇的压感和震动反馈… 一个设备,仅仅因为打开了不同的“应用”,就可以变成完全不一样的东西。

虽然现在也没那么新奇的了…但不论怎么讲,可以戳戳戳的发光小板板里面,好像还住了一堆人。这种感觉,可能确实挺好的。

小板板的用户界面,与编程仙人

web 诞生最初是为了网络文档的传输与展示;而智能手机的 app,也许很早,几乎一开始就知道自己要做的就是用户界面。
我不确定它们谁先开始尝试做的所谓面向一般用户的炫酷的用户界面,但,web 在一开始做的确实不好,flex-box 出现之前的 css 里的许多奇奇怪怪的东西,各种抽象的 trick,其实是尝试在用文档排版的那套工具,去做类似 app 的用户界面。相比之下,app 也许,确实会显得干净些。

但,最近在做那个知乎的三方客户端时,感觉 web 也许也不一定就一无是处,在内容排版上,web/webview 确实能搞定更复杂更丰富的一些东西。


我还去看了看 Telegram Android,也不是我看的,一个文件四五万行我还是顶不住的,只是 ai 告诉我了我那些代码大概在做什么事情。
感觉,也许,虽然许多事情像是魔法,但,发光小板板的交互模式也是有限的,而不是,无法预料想象的。所以,知道要做什么,做出来了,确定要的效果就是哪些,然后再自己手绘替换组件,换一些调度策略优化性能功能什么的,虽然依旧是我搞不定的事情,但,可能也不是完全做不到的魔法。

以及乱逛逛到了不少自己写布局系统的 repo… 是不是闲的无聊了都会想看看这些…

我想下雨,但 web 不让。

看到 ios 酷酷的液态玻璃,我也想搞点东西,但,web 不让。

css 的一些 shadow,bg-filter, svg 的一些奇技淫巧倒是可以和 dom 有相互影响,但效果还是有限。

然后,发现大概是要写 shader,虽然我不会但是有 ai 应该也不是很难搞。再但是,我意识到浏览器的布局系统与渲染管线是两个东西,这里写的 shader,只在 canvas/webgl 这个世界能有效果,这里和 dom,是两个世界。

大概有两种方案,一种是直接在 canvas 里做界面也就是得自己整一套布局系统;一种是将 html 输出为图片放到 canvas 计算后在需要交互的地方显示而其他透明……。 前者太为了醋包饺子还损失 web 原本有的东西,后者只能做非常有限的效果不然就性能爆炸。

其实之前尝试下雪的时候,因为用 dom 做雪花太卡所以在 canvas 里画,然后用一些方法,让雪花能“落”到一些 dom 上,假装它们在同一个世界…

所以,只弄了下面这个东西,它在 canvas 里,摸不到旁边的 dom。

其实我还看了 flutter,skia,yoga;和 ios android 原生的布局系统和渲染的关系和开发能做到的事…
也许它们比 web 强… 我其实打算用 flutter 或 ios 再做做试试。
但,即使是 ios26 也被吐槽耗电发热卡顿,可能… 想要酷酷的就会有一些逃不掉代价吧。

ps: 其实玻璃面上的水珠,有两种,一种是屏幕上的,表现是中心放大和边缘扭曲和色散,相当于放大镜;另一种是玻璃窗上的,由于背景距离比焦距远得多,所以表现是“缩小倒立的实像~”。


发光小板板的许多特效也许都是虚假的模仿;但,也许也有一些已经变成了真实的,真的会让人开心或难过的东西。