Svelte 是一个和 Vue / React / Angular 设计思路完全不同的框架,不跟从「大众趋势」。它没有虚拟 DOM 的概念,没有复杂的「运行时」代码。而是将你编写的源码编译成普通 JS 来实现最终页面的渲染,非常接近直接用 JS 写页面的流畅体验。

一向都喜欢简单原始的我,发现这玩意非常符合我的菜。因为曾经需要在原生下自己用 onChange 监听表单变化并存入 JS 变量、变量修改后进行 DOM 刷新等操作都不再需要自己编写。框架会根据你的源码自动生成相关的原生 JS 逻辑,最终可以生成一个「几乎无依赖」的页面,实现一个小项目非常合适。

文档 也写的清晰易懂,我这样的小白也很快就掌握了主要的写法。我在 2017 年开了一个秒表项目 Kico Tools,是使用原生 JS 编写的,这里面最复杂的并非是业务逻辑,而是 DOM 的操作和 UX 交互体验。

该项目内置「时钟」、「倒计时」、「秒表」和「随机数生成」四大功能,相较于旧版还增加了「倒计时」,算是个小进步?

有了 Svelte 解决了 DOM 的刷新问题,大幅度的减少了我的工作量,最终项目成功重构,效果如下:

Kico Tools

目前只基本还原了此前完成的功能,目前闹钟还不可用,欢迎你参与项目的 PR 👏