@@ -10,84 +10,10 @@ Mettle 是一个用于构建用户界面的 JavaScript 库。
1010
1111- ** 声明式渲染:** 我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系,开发者可以更加专注于业务逻辑的开发,不需要过多地关心 DOM 操作的细节。
1212
13- - ** 符合直觉 :** 使用熟悉的原生 JavaScript 语法,不改变 JavaScript 语义,回归原生 JavaScript 的纯净 。
13+ - ** 信号机制 :** 状态变化会自动更新组件和 UI,以实现尽可能高效的操作 。
1414
1515- ** 性能出色:** 采用了虚拟 DOM 的模式,虚拟 DOM 使用 diff 算法的方法来计算出真正需要更新的节点,最大限度地减少了 DOM 操作以及 DOM 操作带来的排版与重绘损耗,从而显著提高了性能。另外,我们的 JavaScript 库在全球知名的[ 测评榜单] ( https://github.com/krausest/js-framework-benchmark ) 上赢得了优秀的成绩。
1616
1717- ** 组件化:** 一个函数就是一个组件,可以根据应用规模任意组合。并且组件特有的 ** “孤岛特性”** ,使得将虚拟 DOM 树计算的级别控制在组件级别。
1818
19- - ** 灵活的应用场景:** 有无构建工具都可以使用,并且可以适配到其他前端框架开发的应用项目中去。
20-
21- - ** 轻量级:** 压缩后的文件大小不足 ** 12k** 。另外,可以根据不同应用场景,选择[ 不同类型] ( https://www.jsdelivr.com/package/npm/mettle?tab=files&path=dist ) 的文件。
22-
23- ## 快速入手
24-
25- 想要快速体验 Mettle,你可以直接试试下面两种方式之一。
26-
27- ### 全局构建版本
28-
29- 该版本的所有顶层 API 都以属性的形式暴露在了全局的 Mettle 对象上。
30-
31- ``` html
32- <!DOCTYPE html>
33- <html lang =" en" >
34- <head >
35- <meta charset =" UTF-8" />
36- <title >Mettle.js</title >
37- </head >
38- <body >
39- <script src =" https://cdn.jsdelivr.net/npm/mettle@latest/dist/mettle.full.prod.js" ></script >
40- <script >
41- const { html , createApp } = Mettle;
42-
43- function App ({ setData }) {
44- let count = 0 ;
45-
46- function add () {
47- count++ ;
48- setData ();
49- }
50- return () => html ` <h1 onClick =${add} >${ count} </h1 >` ;
51- }
52-
53- createApp (html ` <${ App} />` , ' #app' );
54- </script >
55- </body >
56- </html >
57- ```
58-
59- ### ES 模块
60-
61- 现代浏览器大多都已支持 ES 模块,因此我们可以像这样通过 CDN 以及 ES 模块使用 Mettle。
62-
63- ``` html
64- <!DOCTYPE html>
65- <html lang =" en" >
66- <head >
67- <meta charset =" UTF-8" />
68- <title >Mettle.js</title >
69- </head >
70- <body >
71- <script type =" module" >
72- import {
73- html ,
74- createApp ,
75- } from ' https://cdn.jsdelivr.net/npm/mettle@latest/dist/mettle.full-esm.js' ;
76-
77- function App ({ setData }) {
78- let count = 0 ;
79-
80- function add () {
81- count++ ;
82- setData ();
83- }
84- return () => html ` <h1 onClick =${add} >${ count} </h1 >` ;
85- }
86-
87- createApp (html ` <${ App} />` , ' #app' );
88- </script >
89- </body >
90- </html >
91- ```
92-
93- 我们简单快速地了解 Mettle 的使用,那么我们在下一篇详细说明下 Mettle 有哪些安装方法。
19+ - ** 灵活的应用场景:** 有无构建工具都可以使用。另外,可以根据不同应用场景,选择[ 不同类型] ( https://www.jsdelivr.com/package/npm/mettle?tab=files&path=dist ) 的文件。
0 commit comments