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

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

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

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

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

Kico Tools

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