STDF - 基于 Svelte 和 Tailwind CSS 打造的移动 web UI 组件库,Svelte 生态里不可多得的优秀项目

STDF - 基于 Svelte 和 Tailwind CSS 打造的移动 web  UI 组件库,Svelte 生态里不可多得的优秀项目

Svelte 是一个新兴的前端框架,组件库不多,今天介绍一款 Svelte 移动端的组件库。

关于 STDF

STDF 是一个移动端的 UI 组件库,主要用来开发移动端 web 应用。和我之前介绍的很多 Vue 组件库不一样,STDF 是基于近来新晋 js 框架 Svelte 开发的,Svelte 是一个和 Vue / React 类似的 JavaScript 框架,也就是说,这套组件库是专为 Svelte 打造的。

Svelte 简洁语法,主要是让原生 JS 代码有了响应式的能力,而且打包后的 web 应用很小,特别适合开发移动应用,而 Tailwind 又是一个优雅的 CSS 框架,有兴趣的小伙伴可以前去了解学习。STDF 组件库基于 Svelte 和 Tailwind 打造,取其优点,质量很高,本文会向大家介绍它。

为什么叫 STDF

STDF 作为国人开发的组件库,名字虽然简单,但作者也赋予了一些有意思的寓意:

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

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

技术特性

  • 简单:使用 Svelte 语法编码简洁迅速。组件源码逻辑清晰、简单易懂、中英注释详细,查看源码、修改逻辑也可以得心应手
  • 轻量:源码体积小巧,无三方依赖。基于 Svelte 与 Tailwind 编译产出的代码在体积上也优势明显,这在移动端显得尤为重要
  • 设计优雅:针对移动设备优化设计与交互,使用友好、高效、灵活。支持通过简单配置定制颜色系统、圆角风格、亮暗模式等
  • 快速:无运行时,无虚拟 DOM,无烦杂的 CSS 代码,状态管理简单轻快。编码过程、编译处理、线上运行都快了起来

组件列表

  • 按钮 Button

  • 底部浮窗 BottomSheet

  • 图标 Icon

  • 遮罩 Mask

  • 弹出层 Popup

  • 分割线 Divider

  • 网格 Grids

  • 占位符 Placeholder

  • 骨架屏 Skeleton

  • 索引栏 IndexBar

  • 导航栏 NavBar

  • 分页 Pagination

  • 步骤条 Steps

  • 标签栏 TabBar

  • 标签页 Tabs

  • 动作面板 ActionSheet

  • 异步选择器 AsyncPicker

  • 日历 Calendar

  • 复选框 Checkbox

  • 输入框 Input

  • 选择器 Picker

  • 单选框 Radio

  • 评分 Rate

  • 滑块 Slider

  • 开关 Switch

  • 时间选择器 TimePicker

  • 头像 Avatar

  • 徽标 Badge

  • 单元格 Cell

  • 通告栏 NoticeBar

  • 进度条 Progress

  • 进度环 ProgressLoop

  • 轮播 Swiper

  • 对话框 Dialog

  • 加载 Loading

  • 弹框 Modal

  • 轻提示 Toast

开发上手体验和建议

Svelte 是近年来新兴的一款前端框架,不过目前生态还不是特别丰富,STDF 是其中的一款质量非常高的 UI 组件库,无论是组件颜值、代码和用法都非常优雅。

我之前也推荐过很多 PC 端的 Vue 组件库,移动端相对较少,STDF 的作者也道出了原因,这是因为移动端一般面向 C 端用户,对产品的性能、易用性和可用性要求很高。所以做好移动端的产品,需要花费大量精力。

综合来说,如果追求极致的性能表现,就可以选择 Svelte。如果需要生态完整、主流框架,Vue 仍是一个不错的选择。

STDF 这套组件库就凝聚了作者的很多经验,让我们开箱就可以直接使用,节省了大量的开发时间,让我们把精力放在业务上。更小更快的特点,让 STDF 这套组件库特别适合用来开发一些移动端相对简单的业务场景,特别是如果你觉得使用 Vue 或者 React 既麻烦打包又大,写原生 JS 又费时间的话,真的可以考虑用这套 Svelte 的组件库。

在已有配置好 Svelte 与 Tailwind 的工程的情况下,我们可以直接安装:

然后在 Svelet 中使用:

更详细的使用方法,可以查看 STDF 官网的文档,文档和代码例子写得很详细易懂。

免费开源说明

STDF 是一款基于 Svelte 和 Tailwind CSS 开发的移动端 web UI 组件库,源码基于 MIT 开源协议托管在 Github 上,而 Svelte 和 Tailwind CSS 同样是 MIT 开源项目,所以我们可以免费用于商业项目,也可以二次开发。

最后强调一下,之前我分享了很多 Vue 的组件库,但这是一个 Svelte 的组件库,不能在 Vue.js 上使用。

原文链接:https://www.thosefree.com/svelte-stdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/81377.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

明年,HarmonyOS不再兼容Android应用!

2023年华为开发者大会,不知道各位老铁们是否观看了,一个震撼的消息就是,首次公开了HarmonyOS NEXT的概念,简而言之就是,这是一款专为开发者打造的预览版操作系统,旨在提供"纯正鸿蒙操作系统"的体…

Flamingo

基于已有的图像模型和文本模型构建多模态模型。输入是图像、视频和文本,输出是文本。 Vision encoder来自预训练的NormalizerFree ResNet (NFNet),之后经过图文对比损失学习。图片经过图像模型的输出是2D grid,视频按1FPS的频率采样后经过图…

【CSS3】CSS3 动画 ② ( 动画序列 | 使用 from 和 to 定义动画序列 | 定义多个动画节点 | 代码示例 )

文章目录 一、动画序列二、代码示例 - 使用 from 和 to 定义动画序列三、代码示例 - 定义多个动画节点 一、动画序列 定义动画时 , 需要设置动画序列 , 下面的 0% 和 100% 设置的是 动画 在 运行到某个 百分比节点时 的 标签元素样式状态 ; keyframes element-move { 0% { tr…

中国金融四十人论坛:2023年第二季度宏观政策报告(附下载)

关于报告的所有内容,公众【营销人星球】获取下载查看 核心观点 • 运行环境:外部环境方面,全球经济景气回落,会酸交作仍在收秀。内部环演方百,公共支出进一步旅爱,真交利本显考上开,社酸塔这创…

无涯教程-Perl - continue 语句函数

可以在 while 和 foreach 循环中使用continue语句。 continue - 语法 带有 while 循环的 continue 语句的语法如下- while(condition) {statement(s); } continue {statement(s); } 具有 foreach 循环的 continue 语句的语法如下- foreach $a (listA) {statement(s); } co…

36.利用解fgoalattain 有约束多元变量多目标规划问题求解(matlab程序)

1.简述 多目标规划的一种求解方法是加权系数法,即为每一个目标赋值一个权系数,把多目标模型转化为一个单目标模型。MATLAB的fgoalattain()函数可以用于求解多目标规划。 基本语法 fgoalattain()函数的用法: x fgoalattain(fun,x0,goal,weig…

MySQL存储引擎

一、存储引擎简介 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。MySQL默认的存储引擎是InnoDB。 --查询建表语句 show create table 表名; --建表时指定存储引擎…

基于图像形态学处理的目标几何形状检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .................................................... %二进制化图像 Images_bin imbinari…

无脑入门pytorch系列(二)—— torch.mean

本系列教程适用于没有任何pytorch的同学(简单的python语法还是要的),从代码的表层出发挖掘代码的深层含义,理解具体的意思和内涵。pytorch的很多函数看着非常简单,但是其中包含了很多内容,不了解其中的意思…

C语言----字符串操作函数汇总

在C的库函数中,有丰富的字符串操作函数,在平时的coding中灵活运用这些库函数会达到事半功倍的效果 一:str系列 char *strcpy(s, ct)将字符串ct(包括\0)复制到字符串s中,并返回s,需要注意s的长度是否容纳ct。char *st…

使用线性回归预测票房收入 -- 机器学习项目基础篇(10)

当一部电影被制作时,导演当然希望最大化他/她的电影的收入。但是我们能通过它的类型或预算信息来预测一部电影的收入会是多少吗?这正是我们将在本文中学习的内容,我们将学习如何实现一种机器学习算法,该算法可以通过使用电影的类型…

机器视觉赛道持续火热,深眸科技坚持工业AI视觉切入更多应用领域

随着深度学习等算法的突破、算力的不断提升以及海量数据的持续积累,人工智能逐渐从学术界向工业界落地。而机器视觉作为人工智能领域中一个正在快速发展的分支,广泛应用于工业制造的识别、检测、测量、定位等场景,相较于人眼,在精…

揭秘bi数据分析系统:如何轻松掌握商业智能的秘密

在大数据时代的背景下,企业开始越来越重视数据分析的重要性。bi数据分析系统不仅可以帮助企业感知市场变化趋势,还可以实时监测并评估企业经营决策的效果,支持企业的持续发展。在国内,国产数据处理工具如瓴羊Quick BI等崛起&#…

自动化实践-全量Json对比在技改需求提效实践

1 背景 随着自动化测试左移实践深入,越来越多不同类型的需求开始用自动化测试左移来实践,在实践的过程中也有了新的提效诉求,比如技改类的服务拆分项目或者BC流量拆分的项目,在实践过程中,这类需求会期望不同染色环境…

检验代码生成器完成版

写维护页面重复逻辑写烦了,连页面的增、删、改、查、弹窗等代码都不行手写了,为此做成代码生成器成型版1.0.干到10点。。。 代码: Class Demo.CodeGener Extends %RegisteredObject {/// 生成操作表相关的代码,包括M、C#调用代码…

【go-zero】docker镜像直接部署go-zero的API与RPC服务 如何实现注册发现?docker network 实现 go-zero 注册发现

一、场景&问题 使用docker直接部署go-zero微服务会发现API无法找到RPC服务 1、API无法发现RPC服务 用docker直接部署 我们会发现API无法注册发现RPC服务 原因是我们缺少了docker的network网桥 2、系统内查看 RPC服务运行正常API服务启动,通过docker logs 查看日志还是未…

迭代器模式(C++)

定义 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露(稳定)该对象的内部表示。 应用场景 在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代…

BpBinder与PPBinder调用过程——Android开发Binder IPC通信技术

在Android系统中,进程间通信(IPC)是一个非常重要的话题。Android系统通过Binder IPC机制实现进程间通信,而Binder IPC通信技术则是Android系统中最为重要的进程间通信技术之一。本文将介绍Binder IPC通信技术的原理,并…

JMeter处理接口签名之BeanShell实现MD5加密

项目A需要给项目B提供一个接口,这个接口加密了,现在需要测试这个接口,需要怎么编写脚本呢?实现接口签名的方式有两种:BeanShell实现MD5加密和函数助手实现MD5加密,之前已经分享过了函数助手实现MD5加密&…

[Linux]计算机软硬体系结构

[Linux]计算机软硬体系结构 文章目录 [Linux]计算机软硬体系结构冯诺依曼体系结构冯诺依曼体系结构的组成冯诺依曼体系结构中各部件的功能对存储器(内存)的理解对数据流的理解 了解操作系统操作系统的概念管理的概念管理的本质管理的精髓“先描述,再组织”计算机软硬…