San

a MVVM Component Framework for the Web

GET STARTED

FEATURES

HTML模版

声明式的模板,在编写视图时就像是在写一个普通的页面,更符合HTML开发人员的习惯。

数据驱动

修改数据,视图引擎会根据绑定关系自动刷新视图,从此摆脱手工调用DOM API的繁琐与可能的遗漏。

组件化

组件是数据、逻辑与视图的聚合体。通过组件,我们封装独立的功能区块,小到输入组合,大到一个页面。

高性能视图

通过修改数据的方法,视图引擎能够直接刷新需要变更的视图区域,无需进行任何检测,性能更高。

组件反解

为首屏时间优化,服务端通常直接输出HTML。我们能从现有的元素中反向解析出组件,并构建绑定关系。

体积小巧

<10k (gzipped) 的体积,无需担心对页面下载带来负担。体积强迫症患者的福音。

良好的兼容性

通过方法修改数据的另一好处是,可以获得更好的浏览器兼容性。毕竟有时我们产品的受众用户有点死板。

模块管理自由

项目中可以任意选择 ESNext Module 或 AMD 管理模块。当然,如果你想要用全局变量也是支持的。

引用方便

支持多种引用方式:NPM、GitHub、下载、HTTP 与 HTTPS CDN,让开发和线上引用更便利。

RESOURCES

教程

教程是入门的捷径,请从这里开始了解San。

指南

我们正在编写指南手册,以指导各种应用场景下怎么使用San。

示例

这里展示了一些简单例子,以及在实际项目如何使用San。

API

当你想不起来San提供的接口时,请查阅这里。

FACILITIES

Router

支持hash和html5模式的router,单页或同构的Web应用通常需要它。

Store

应用状态管理套件,其理念是类似flux的单向流。

Update

Immutable的对象更新库,和san-store配合进行应用状态数据更新。

组件库

一些组件库正在开发,可预期至少会有material design组件库。