## STDF 名称

常规解释：S 代表 Simple（简单），T 代表 Thin（轻量），D 代表 Design（设计），F 代表 Fast（快速），STDF 代表一个使用简单、体积轻量、设计友好、开发快速的组件库。

非常规解释：S 和 T 分别代表 Svelte 和 Tailwind，因为 STDF 是基于 Svelte 和 Tailwind 的。DF 可以看成诗人杜甫，不像李白那么浪漫飘逸，他注重的是实用性与易用性，这也是 STDF 的设计理念。希望每一位使用 STDF 的开发者都能写出诗一般的代码。

## 为什么要做这个库

首先最重要的是补充 Svelte 生态。

关于 UI 组件库，PC 端有很多优秀的产品，但是移动端并没有能与 PC 端比肩的产品，这是由于移动端的特殊性导致的。移动端产品大多数是 To C 业务，这就要求对组件库的灵活性有更高的要求。在设计组件 API 的时候，需要有更多的参数支持可供配置，但又不能设计得太过复杂。而在 UI 设计方面，不能有太多的个性化设计，这样才能达到组件的复用性。

市面上也有很多移动端的组件库，但是使用下来还是有很多痛点，比如一些组件库的设计风格太过个性化，导致组件的复用性不高；一些组件库的可配置 API 太少，无法通过简单的 API 配置出符合业务需求的组件；一些组件库的文档太过高深或简陋，使初上手的人很难理解组件的使用方法；一些组件库的文档和 Demo 中英混杂，难以查阅；一些组件库的 Demo 太少或太简陋，高频使用时无法直接复制使用，降低开发效率等。

在体验过 Svelte 和 Tailwind 之后，发现使用它们开发真的是非常舒服，所以就想着能不能把它们结合起来，做一个移动端的 UI 组件库。这样的话，就能够在移动端也享受到 Svelte 和 Tailwind 带来的开发体验了。

## 适用场景

在移动端有一种业务场景，应用不算复杂，使用 Vue 或者 React 开发其实会显得「大材小用」了，可能整个应用打包之后的 JS 体积也就几十 KB，但是使用 Vue 或者 React 开发，这两个库的基础大小就超过了几十 KB，这样就得不偿失了，而且移动端 To C 应用体积过大是非常不可取的。但是使用纯原生 JS 开发，又会显得开发效率低下，这个时候 Svelte 就是一个很好的选择，它的简洁语法，使原生 JS 代码有了响应式能力。
